50 likes | 174 Views
Distribution. High Level Parallelism, Distribution and Mobility. People: Henry Nystrom, Robert Pointon, Phil Trinder, Kevin Hammond (St Andrews University) David King (Motorola UK Res. Labs), Hans-Wolfgang Loidl (LMU Munich), Rita Loogen (Philipps-Universität Marburg)
E N D
Distribution High Level Parallelism, Distribution and Mobility People: Henry Nystrom, Robert Pointon, Phil Trinder, Kevin Hammond (St Andrews University) David King (Motorola UK Res. Labs), Hans-Wolfgang Loidl (LMU Munich), Rita Loogen (Philipps-Universität Marburg) Languages with high level distribution facilitate the construction of large reliable distributed systems. We have designed and implemented Glasgow distributed Haskell (GdH), a language with high-level distribution. We are evaluating GdH, and another high-level distributed language Erlang, in comparison to conventional distributed technologies including Java/RMI and C++/CORBA. Projects: 10/02 - 9/05 High-Level Techniques for Distr. Telecoms Software EPSRC GR/R88137 7/99 -3/03 Evaluating Functional Distribution DAAD/Brit. Council 1097 8/99 - 8/02 High-Level Arch. Independence via Par. Graph Reduction Austrian Acad. of Sci. Post. Doc. Fellowship 624 High Level Coordination • High level languages simplify parallel, distributed and mobile programming • Parallel, distributed and mobile programs must specify • computation, i.e. an algorithm specifying what to compute • coordination, i.e. how to arrange the computations on multiple locations (processors) • Coordination aspects include: • partitioning the program into components for separate evaluation • thread/process creation & management • communication&synchronisation between computations • Specifying all coordination aspects is a significant burden on the programmer. • A high level language allows the programmer to specify only a few key coordination aspects, and automatically manages the rest. Architecture of a Distributed Dispatch Call Controller Reslience of DCC when Overloaded Parallelism • People: Abyd Al Zain, Greg Michaelson, Phil Trinder, Hans-Wolfgang Loidl (LMU, Munich), Rita Loogen (Philipps-Universität Marburg) Simon Peyton Jones (Microsoft UK Res Labs), Ricardo Pena (UCM, Madrid) • Languages with high level dynamic parallelism are good for symbolic applications and those with irregular parallelism. • We have designed, implemented and are evaluating Glasgow parallel Haskell (GpH), a language with very high-level parallelism. • GpH has been used to develop non-trivial applications, e.g. the Lolita natural language processor (47K lines), a linear equation solver (1K lines), etc. • The sophisticated GpH implementation is available on multiple platforms, and is evolving, e.g. • An implementation on Computational Grids is in progress. • An integration with the Eden parallel language is in progress. • Tuning the performance of programs with high-level dynamic parallelism requires sophisticated profiling and visualisation tools. • Projects: • 7/03 - 7/05 High Level Programming for Computational Grids • DAAD/Brit. Council 1223 • 6/00 - 6/02 Performance Eval. of Par. Func. Prog • Acc. Int./Brit. Council MDR 8472 Mobility People: Andre Rauber du Bois, Phil Trinder, Hans-Wolfgang Loidl (LMU Munich) Functional languages naturally support mobility and facilitate high-level mobile programming. In a mobile language a computation may move from location (processor) to location. In functional languages functions and computations are first-class values and hence naturally communicated. Moreover it is easy to define design patterns, or higher-order functions, to specify common forms of mobile computation. Comparative Runtime Curves of GpH, Eden and PMLS Linear Equation Solvers Phil Trinder trinder@macs.hw.ac.uk http://www.macs.hw.ac.uk/~trinder/ Dependable Systems Group School of Mathematical & Computer Sciences Heriot-Watt University, Edinburgh, Scotland, UK Parallel Profile Attributing Threads to Subprograms
High Level Coordination • High level languages simplify parallel, distributed and mobile programming • Parallel, distributed and mobile programs must specify • computation, i.e. an algorithm specifying what to compute • coordination, i.e. how to arrange the computations on multiple locations (processors) • Coordination aspects include: • partitioning the program into components for separate evaluation • thread/process creation & management • communication&synchronisation between computations • Specifying all coordination aspects is a significant burden on the programmer. • A high level language allows the programmer to specify only a few key coordination aspects, and automatically manages the rest.
Parallelism • People: Abyd Al Zain, Greg Michaelson, Phil Trinder, Hans-Wolfgang Loidl (LMU, Munich), Rita Loogen (Philipps-Universität Marburg) Simon Peyton Jones (Microsoft UK Res Labs), Ricardo Pena (UCM, Madrid) • Languages with high level dynamic parallelism are good for symbolic applications and those with irregular parallelism. • We have designed, implemented and are evaluating Glasgow parallel Haskell (GpH), a language with very high-level parallelism. • GpH has been used to develop non-trivial applications, e.g. the Lolita natural language processor (47K lines), a linear equation solver (1K lines), etc. • The sophisticated GpH implementation is available on multiple platforms, and is evolving, e.g. • An implementation on Computational Grids is in progress. • An integration with the Eden parallel language is in progress. • Tuning the performance of programs with high-level dynamic parallelism requires sophisticated profiling and visualisation tools. • Projects: • 7/03 - 7/05 High Level Programming for Computational Grids • DAAD/Brit. Council 1223 • 6/00 - 6/02 Performance Eval. of Par. Func. Prog • Acc. Int./Brit. Council MDR 8472
Distribution People: Henry Nystrom, Robert Pointon, Phil Trinder, Kevin Hammond (St Andrews University) David King (Motorola UK Res. Labs), Hans-Wolfgang Loidl (LMU Munich), Rita Loogen (Philipps-Universität Marburg) Languages with high level distribution facilitate the construction of large reliable distributed systems. We have designed and implemented Glasgow distributed Haskell (GdH), a language with high-level distribution. We are evaluating GdH, and another high-level distributed language Erlang, in comparison to conventional distributed technologies including Java/RMI and C++/CORBA. Projects: 10/02 - 9/05 High-Level Techniques for Distr. Telecoms Software EPSRC GR/R88137 7/99 -3/03 Evaluating Functional Distribution DAAD/Brit. Council 1097 8/99 - 8/02 High-Level Arch. Independence via Par. Graph Reduction Austrian Acad. of Sci. Post. Doc. Fellowship 624
Mobility People: Xiao Yan Deng, Zara Field, Andre Rauber du Bois, Phil Trinder, Hans-Wolfgang Loidl (LMU Munich) Functional languages naturally support mobility and facilitate high-level mobile programming. In a mobile language a computation may move from location (processor) to location. In functional languages functions and computations are first-class values and hence naturally communicated. Moreover it is easy to define design patterns, or higher-order functions, to specify common forms of mobile computation. We have constructed mHaskell, a mobile variant of Haskell, and proposed mobility skeletons that capture common patterns of mobile coordination. We have proposed Autonomous Mobile Programs that periodically make a decision about where toexecute in a network. The decisions are informed by cost models that measure current performance, the relative speeds of alternative network locations, and communication costs.