1 / 26

Grid programming models: current tools, issues and directions

School of ECE, University of Tehran. Grid programming models: current tools, issues and directions. Instructor : Dr. S.M. Fakhraie Presented By Naser Sedaghati n.sedaghati@ece.ut.ac.ir

malo
Télécharger la présentation

Grid programming models: current tools, issues and directions

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. School of ECE, University of Tehran Grid programming models:current tools, issues and directions Instructor : Dr. S.M. Fakhraie Presented By Naser Sedaghati n.sedaghati@ece.ut.ac.ir This is a class presentation. All data are copy righted to respective authors as listed in the references and have been used here for educational purpose only.

  2. Outline • Introduction • Programming Models • Grid Programming Issues • A Brief Survey of Grid Programming Tools • Advanced Programming Support • Conclusion

  3. Introduction • The term Grid Computing originated in the early 1990s as a metaphor for making computer power as easy to access as an electric power Grid. • Today, Grid Computing: • A type of parallel and distributed system. • A service for sharing computer power and data storage capacity over the Internet.

  4. Introduction (Cont.) • What is the main goal of Grid programming? • Grid Programming in an open-ended, heterogeneous, and dynamic environments. • The design of interaction between remote services, data sources, and hardware resources. • Current tools and languages are insufficient to support the effective development of efficient Grid codes.

  5. Introduction (Cont.) • Grid applications will tend to be heterogeneous and dynamic. • Grid for large-scale and high performance computing. • Achieve peta-flops rates on coupled Grid clusters of giga-flops processors. • The main issues: • Where current programming models are lacking? • What new capabilities are required? • Whether they are best implemented at the language level, at the tool level, or in the run-time system?

  6. Programming Models • A Programming model: • Can be present in many different forms (i.e., a language). • Can be present in frameworks, portals, and problem-solving environments. • Enable both high performance and the flexible composition and management of resources. • Influence the entire software life cycle. • Successful programming models should also facilitate the effective use of all types of development tools.

  7. Grid Programming Issues • Portability, Interoperability, and Adaptivity • Discovery • Performance • Fault Tolerance • Security • Program Metamodels

  8. Portability, Interoperability, and Adaptivity • Current high-level languages allowed Processor-independent codes. • Such portability is a necessary prerequisite for coping with dynamic and heterogeneous configurations. • The notion of using different but equivalent codes and services implies interoperability. • Portability and interoperability promote adaptivity.

  9. Discovery • Resource discovery is an integral part of Grid computing. • Grids must be able to discover various services and the interfaces they support. • Programming environments and tools must be aware of available discovery services. • Offer a user to exploit those services while developing and deploying Grid applications.

  10. Performance • For many Grid applications, performance will be an issue. • Grids present heterogeneous bandwidth and latency hierarchies. • Reliable performance will be an equally important issue. • QoS will become necessary to achieve reliable performance. • Some users may require an actual deterministic performance model.

  11. Fault Tolerance • The necessity of some level of fault tolerance. • It is probable that some resources will fail during the computation. • The ability to check the run-time faults. • Tools could assure a minimum level of reliable computation in the presence of faults.

  12. Security • Grid codes will commonly run across multiple administrative domains. • Strong authentication between two sites is crucial. • It will not be uncommon that an application will involve multiple sites all under program control. • A security mechanism that provides authentication must be integral to Grid programming models.

  13. Program Metamodels • Complete Grid programming will require models about the programs themselves. • Traditional programming and a translation between two programming models. • Different but analogous metamodels will be constructed for Grid codes. • The application of enhancements, will be complicated by the distributed, heterogeneous Grid nature.

  14. A Brief Survey of Grid Programming Tools • Shared-State models • Message-passing models • RPC and RMI models • Hybrid models • Peer-to-peer models • Frameworks, component models, and portals • Web service models • Coordination models

  15. Shared-State models • Associated with tightly coupled, synchronous languages and execution models. • The low BW and deep, heterogeneous latencies will make such tools ineffective. • There are nonetheless programming models based on this method. • JavaSpaces • Publish/Subscribe

  16. Message-Passing Models • Processes run in disjoint address spaces and information is exchanged using MP of one form. • Gives the user full control. • Applicable to problems where more convenient semiautomatic programming models may fail. • Several versions: • MPI and variants • One-sided message-passing

  17. RPC and RMI Models • Explicitly marshaled arguments being sent to a matched receive. • Remote Procedure Call (RPC) and Remote Method Invocation (RMI). • Several models: • Grid-enabled RPC • Java RMI

  18. Hybrid Models • Make all manner of hosts available to Grid applications. • Running between both within and across address space. • Such a situation occurs in clumps (clusters of symmetric multiprocessors) and also in Grids. • Several models: • OpenMPI and MPI • OmniRPC • MPJ

  19. Peer-to-Peer Models • Sharing of computer resources and services by direct exchange between systems. • Advantage over existing desktop computing power and networking connectivity. • Whatever role is most efficient for the network. • Focus on the flexible sharing and innovative use of heterogeneous computing and network resources. • Several models: • JXTA

  20. Framework, component model, and portals • Few important examples: • Cactus • CORBA • CoG kit • Legion • Component architectures • Portals

  21. Web-Service Models • OGSA: A most important model. • OGSA defines the Grid Service. • The OGSA effort aims to define a common resource model. • OGSA aims to define the semantic of a Grid Service instance. • OGSA does not address issues of implementation.

  22. Coordination Model • The different type of integration. • Distinguishes the computational concerns of a distributed or parallel application from the cooperation ones. • Conceptually related to that of heterogeneity. • Encourages the use of heterogeneous ensembles of machines. • Offers a composing mechanism.

  23. Advanced Programming Support • Traditional Techniques • Data-driven Techniques • Speculative or Optimistic Techniques • Distributed Techniques • Grid-aware I/O • Advanced Communication Services • Security • Fault Tolerance • Program Metamodels and Grid-aware run-time systems

  24. Conclusion • Considering the programming models for Grid computing environment. • What will comprise a successful Grid-programming model consists of many aspects. • The programming models and tools that get developed will largely depend on which models and tools are considered to be the dominant paradigm. • Most probably see continued development of the Open Grid Services Architecture. • Continued development in MPI. • Issue of programming style

  25. Reference • F. Berman, A. J. G. Hey, and G. C. Fox“Grid Computing Making the Global Infrastructure a Real (Chapter 21)”, John Wiley & Sons Ltd, 2003 • Online encyclopedia documents available at : http://www.wikipedia.org

  26. Thank You !

More Related