1997 · 115 citations · 40 references
ComputingComputer EngineeringComputer ScienceFault ToleranceFault-tolerant ComputingParallel ComputingFault Tolerance In Parallel SystemsParallel Computer ArchitectureParallel Computing SystemsParallel Programming ModelsParallel Runtime SystemsSoftware Fault ToleranceAdaptive Fault ToleranceFault Tolerance MechanismsFault Tolerant AlgorithmsFault-tolerant Computation ModelsRuntime System Architecture
In this paper, we present the design of Cilk-NOW, a runtime system that adaptively and reliably executes functional Cilk programs in parallel on a network of UNIX workstations. Cilk (pronounced “silk”) is a parallel multithreaded extension of the C language, and all Cilk runtime systems employ a provably efficient threadscheduling algorithm. Cilk-NOW is such a runtime system, and in addition, Cilk-NOW automatically delivers adaptive and reliable execution for a functional subset of Cilk programs. By adaptive execution, we mean that each Cilk program dynamically utilizes a changing set of otherwise-idle workstations. By reliable execution, we mean that the Cilk-NOW system as a whole and each executing Cilk program are able to tolerate machine and network faults. Cilk-NOW provides these features while programs remain fault oblivious, meaning that Cilk programmers need not code for fault tolerance. Throughout this paper, we focus on end-to-end design decisions, and we show how these decisions allow the design to exploit high-level algorithmic properties of the Cilk programming model in order to simplify and streamline the implementation. 1
40
Condor-a hunter of idle workstations
Michael Litzkow, Miron Livny, Matt W. Mutka · 2003 · 2.3K citations · Full text
End-To-End Arguments In System Design
Jerome H. Saltzer, David P. Reed, David D. Clark · 1984 · 2.1K citations
Nicholas Carriero, David Gelernter · Communications of the ACM · 1989 · 1.4K citations · Full text
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul et al. · 1995 · 1K citations · Full text