Gardens: High Performance Objects, Tasking and Migration for Cluster Computing
Paul Roe, Clemens Szyperski · 1997
Gardens is an integrated programming language and system which supports efficient parallel computation across workstation clusters. In particular it addresses the three goals of: high performance, adaptive parallelism and abstraction. High performance is the goal of parallel computing, and abstraction simplifies programming. Adaptive parallelism entails a program adapting during its execution to utilise a changing set of otherwise idle workstations. Tasks are used as units of work, and task migration to realise adaptive parallelism. Tasking is non-preemptive; compared to preemptive tasking this leads to simpler programming and greater efficiency. Global objects are used for inter-task communication. These support abstraction and importantly directly map to active messages: a very efficient messaging system. These features of Gardens are tightly integrated yet orthogonal. 1 Introduction Gardens is an integrated programming language and system which supports efficient parallel computing...