1 / 24

Grid Programming Environments

Grid Programming Environments. Topics. GrADS XIO MPICH-G2. GrADS – Grid Application Development Software. Internet, P2P, Grid Middleware – Large Scale Resource Sharing Grid application development GrADS supports. GrADS – Vision. Currently, development on top of existing infrastructure

Download Presentation

Grid Programming Environments

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. Grid Programming Environments

  2. Topics • GrADS • XIO • MPICH-G2

  3. GrADS – Grid Application Development Software • Internet, P2P, Grid Middleware – Large Scale Resource Sharing • Grid application development • GrADS supports

  4. GrADS – Vision • Currently, development on top of existing infrastructure • Useful applications, but too difficult • Must become easier to develop • Specify a program in high level language • Seamlessly access the Grid

  5. GrADS – Problems • Insulate User from Grid complexity • Provide Execution Environment adapting Application to the Dynamically changing Grid

  6. GrADS – Overview

  7. GrADS – Program Preparation System (PPS) • Applications assembled as modules in high level language • Built on pre-existing component libraries • Express a computation in terms that make sense for expert in application domain

  8. GrADS – Program Preparation System (PPS) • Modules bound together into: • Components • Libraries • Applications • With a coordination language

  9. GrADS – Program Preparation System (PPS) • Creates annotated modules • Application is compiled with: • Software Components • GrADS Libraries • Configurable Object Program (COP)

  10. GrADS – Telescoping Languages • Allow users to write applications in high level domain specific language • TeleGen Compiler reads domain specific library • Produces Optimizer that understands how to use the library

  11. GrADS – Telescoping Languages • Optimizer is compiler for a new language: • Base Language (e.g. C/C++) • Augmented functions specific to the domain • Language implemented as preprocessor

  12. GrADS – Overview

  13. GrADS – Execution Environment • COP is delivered to Execution Environment • Determine Available Resources • Secure Subset for Application • Service Negotiator brokers Allocation/Scheduling • Dynamic Optimizer Tailors COP for good performance

  14. GrADS – Execution Environment • Real-Time Monitor tracks behavior of program, checks PC • On violation, monitor interrupts execution • Possible actions: • Invoke Dynamic Optimizer • Negotiate new set of resources • Invoke both Optimizer and negotiate new set of resources

  15. GrADS – Execution Environment • Dynamic Forecasts to reduce overhead of renegotiation

  16. XIO – Globus eXtensible Input/Output system • What is XIO? • API able to present different I/O problems uniformly

  17. XIO – Globus eXtensible Input/Output system • Goal: Present a simple Open/Close/Read/Write (OCRW) interface for all byte stream I/O: • Local Disk • Electron Microscope • TCP/IP • Custom Protocols

  18. XIO – Globus eXtensible Input/Output system • Does not try to map every type of I/O to a single API • Does not hide all details of the underlying protocol

  19. XIO – Globus eXtensible Input/Output system

  20. XIO – Globus eXtensible Input/Output system • For XIO application to access a protocol, special Driver must be written • Application can then access protocol through OCRW Interface • Application may want to interact with underlying driver • Interaction is of course Driver specific

  21. MPICH-G2 • Is a Grid-enabled version of MPI used in parallel computing • Low-level programming model, yet has sophisticated measures for: • Handling Heterogeneity • Modular Programs • Management of Latency • Representation of Global Operations

  22. MPI – Message Passing Interface • Standard that defines library of routines to implement message-passing model • Point-to-point communication functions: • Send to initiate Data transfer • Receive to extract data from system data structures • Collective operations (broadcast, reductions) involving multiple processes

  23. MPI – Message Passing Interface • Underlying performance issues accessible to programmers

  24. MPICH-G2 • Asynchronous operations used for Latency Management • Communicator Construct used to represent hierarchical structure of heterogeneous systems • Run MPI programs across multiple computers

More Related