1 / 5

High Level Parallelism, Distribution and Mobility

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)

shawna
Download Presentation

High Level Parallelism, Distribution and Mobility

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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.

  3. 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

  4. 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

  5. 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.

More Related