Fault tolerant scheduling for parallel loops on shared memory systems

Yizhuo Wang, Rosario Cammarota, Alexandru Nicolau

Research output: Contribution to journalArticlepeer-review

Abstract

While multicore/multiprocessor systems achieve significant speedup for many applications by exploiting loop level parallelism, they also suffer from increased reliability problems as a result of ever scaling device size. This paper addresses the reliability of loop dominated applications, aiming to execute parallel loops efficiently in the presence of various types of hardware faults. In this paper, we present a fault tolerant work-stealing scheme which makes parallel loop execution resilient to hardware faults. A lightweight buffer-commit mechanism is applied in the proposed scheme to ensure the correctness of the re-execution of loop iterations. In addition, we split large failing chunks of loop iterations at runtime to improve load balancing, and a worker thread is discarded when faults occur frequently on it. We evaluated our techniques on a multi-socket multicore system, using a set of loop dominated benchmarks. The proposed scheme achieves the minimum overhead of supporting fault tolerance and optimal load balancing.

Original languageEnglish
Pages (from-to)1937-1959
Number of pages23
JournalJournal of Information Science and Engineering
Volume31
Issue number6
Publication statusPublished - Nov 2015

Keywords

  • Fault tolerance
  • Loop scheduling
  • Multicore and multiprocessor
  • Self-scheduling
  • Work-stealing

Fingerprint

Dive into the research topics of 'Fault tolerant scheduling for parallel loops on shared memory systems'. Together they form a unique fingerprint.

Cite this