1 / 49

Grid Computing - An Overview

Grid Computing - An Overview. Michael P. Cummings Laboratory of Molecular Evolution Center for Bioinformatics and Computational Biology. Acknowledgments. Core Middleware Development Adam Bazinet Daniel Myers John Fuetsch Stephen McLellan, Chris Milliron, Deji Akinyemi

armand
Télécharger la présentation

Grid Computing - An Overview

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 Computing - An Overview Michael P. Cummings Laboratory of Molecular Evolution Center for Bioinformatics and Computational Biology

  2. Acknowledgments • Core Middleware Development • Adam Bazinet • Daniel Myers • John Fuetsch • Stephen McLellan, Chris Milliron, Deji Akinyemi • Semantic Web Grid Services/Workflows • Sung Lee, Fujitsu Laboratories of America • Nada Hashmi, UMIACS (now CBA, Saudi Arabia) • David Wang, UMIACS

  3. Outline • Grid computing introduction and motivation • Goals of The Lattice Project • Basic architecture • Our current production Grid system • Implementation details • Results of usage • Research and development

  4. Grid Computing: A Definition A model of distributed computing that uses geographically and administratively disparate resources. In Grid computing, individual users can access computers and data transparently, without having to consider location, operating system, account administration, and other details. In Grid computing, the details are abstracted, and the resources are virtualized.

  5. Grid Computing: Characteristics • Resources are heterogeneous • Resources are administratively disparate • Resources are geographically disparate • Users do not have to worry about system details (e.g., location, operating system, accounts)

  6. Grid Computing: Advantages • Provides increased resources for research • Utilizes resources already purchased • Space and HVAC needs already met • Little increased administrative burden • Economically and environmentally appealing

  7. Types of Grid Middleware • Heavyweight/feature rich (e.g., Globus Toolkit) • Multiple users and multiple applications • Mechanisms for authentication, authorization, communication, file access, resource discovery and specification • Push model: jobs are assigned to specific resources

  8. Types of Grid Middleware • Desktop Grids (e.g., Berkeley Open Infrastructure for Network computing [BOINC]) • Single user and single application • Limited features • Pull model: clients contact server for jobs

  9. An Example: SETI@home A scientific experiment that uses Internet-connected computers in the Search for Extraterrestrial Intelligence (SETI), a scientific effort seeking to determine if there is intelligent life outside Earth. The project analyzes radio signals to look for patterns that might be associated with intelligent life.

  10. SETI@home statistics (Monday) • Total participants: 5,521,708 • Rate of signup: a new participant every 96 seconds • Effective number of computers: At any given moment there are the equivalent of >412,000 computers working full time • Results received: 2,200,991,756 • Total CPU time: 2,555,681 years

  11. Why Go Grid? • To speed research • Parallel execution means higher throughput • To make compute resources commodities • Analogous to the electrical power grid • To foster efficiency and interaction in the research community • Use of the Grid spans departments and domains • Grid resources are typically shared resources

  12. Outline • Grid computing introduction and motivation • Goals of The Lattice Project • Basic architecture • Our current production Grid system • Implementation details • Results of usage • Research and development

  13. The Lattice Project: Initial Goals • Develop a Grid system for research that: • Speeds up workflows by “Grid-enabling” various programs • Is simple and intuitive • Takes advantage of heterogeneous resources • Is capable of managing large numbers of jobs (thousands) • Supports multiple users and lowers the barriers to getting involved • Is community-driven and supported

  14. Principles of Design • Make use of well supported open source software • Globus Toolkit • BOINC • Condor • Engineered software should be scalable, modular, and robust • Expose programs as well-defined services • Arbitrary user-supplied code cannot be run

  15. Grid: Development Challenges • Many middleware systems are not compatible • Middleware is cumbersome • Developing a Grid service is often difficult

  16. Outline • Grid computing introduction and motivation • Goals of The Lattice Project • Basic architecture • Our current production Grid system • Implementation details • Usage statistics • Research and development

  17. Terminology • Client: A Grid user interface OR a machine that performs computation • Grid Service: A Grid-enabled program • Scheduler: A program that decides where Grid jobs will run • Resource: Executes Grid jobs

  18. Basic Architecture (1 of 3)

  19. Basic Architecture (2 of 3)

  20. Basic Architecture (3 of 3)

  21. Outline • Grid computing introduction and motivation • Goals of The Lattice Project • Basic architecture • Our current production Grid system • Implementation details • Results of usage • Research and development

  22. Software Components • Globus Toolkit version 3.2.1 • Backbone of the Grid • http://www.globus.org/ • Condor-G • Grid-level scheduler / resource broker • http://www.cs.wisc.edu/condor/ • BOINC: Berkeley Open Infrastructure for Network Computing • SETI@home-style desktop grid • http://boinc.berkeley.edu/ • Custom components • GSBL, GSG, Globus-BOINC adaptor, MDS-matchmaking bridge, user interface(s), administrative scripts, and much more

  23. Globus Toolkit 3 • Key components: • Globus Core • Grid service hosting environment • GSI – Grid Security Infrastructure • Uses public key cryptography • Secures communication • Authenticates and authorizes Grid users • WS GRAM – Job management • GASS – Point to point file transfer • MDS2 – Information provider

  24. Condor-G • Condor-G is part of the Condor suite • Resources and jobs send Condor-G descriptions of themselves called ClassAds • Condor-G matches Grid jobs to suitable resources, then submits and manages them • This process is called matchmaking

  25. BOINC • Most novel feature of our Grid • Public computing model • Untrusted resources • Potentially our largest resource • We have targeted 3 platforms: • Windows / Linux x86 / Mac OS X

  26. Our Current Grid System

  27. User Interface • The “Grid Brick”: a machine used to submit Grid jobs • Our primary interface for Grid users • Command line clients mimic normal program execution • Lattice Intranet • Provides instructions for submitting jobs and managing data input and output • Provides tools for describing and monitoring jobs • Other possibilities: • Web portal model of job submission • A client capable of composing complex workflows using Task Computing and Semantic Web technology developed by collaborators at Fujitsu

  28. Basic Architecture – Client/Service

  29. Grid Client Stack Command-line Interface Perl Java * Service-specific templates and stubs are created by the Grid Service Generator

  30. Grid Service Stack Grid Service Hosting Environment, a.k.a. “the container” Java * Service-specific templates and stubs are created by the Grid Service Generator

  31. Tools for Writing Grid Services • Grid Service Base Library (GSBL) • Java API for building Grid services with the Globus Toolkit • Shields programmers from having to work with the Globus API directly • Provides a high-level interface for operations such as job submission and file transfer • Grid Service Generator (GSG) • Simplifies the process of creating Grid Services • Intended for use with GSBL

  32. GSBL: Design and Features • Classes for: • Clients and services (base classes) • Argument description and processing • File transfers • Job submission and control • Security configuration • Java synchronization and Globus notifications to paper over event-based model

  33. Grid Service Generator • Deploying a Grid service with Globus is absurdly complicated • Many files, namespaces: lots of potential typos • GSG takes as input a few parameters (service name, location, an XML argument description, etc.) and generates all requisite configuration files and skeleton Java classes

  34. Grid Services

  35. Grid Services • Creating Grid Services requires: • Knowledge of the application • Techniques for compiling and porting the application to various platforms • Knowledge of the infrastructure so it can be effectively tested and deployed • Challenges: • Maintaining bodies of Grid Service code as the number of applications grow and new versions of applications are released • Minimizing the number of updates that need to be applied when the framework changes

  36. Basic Architecture - Scheduling

  37. Condor-G: ClassAds • Resources and jobs send Condor-G descriptions of themselves called ClassAds • Jobs require certain capabilities of resources • Resources advertise their capabilities • Similar to a dating service: central broker points pairs of compatible jobs/resources at each other

  38. Condor G: ClassAds

  39. Generating ClassAds • Job ClassAds are generated by the Condor-G job manager • Job requirements are specified in the Grid service configuration files • Resource ClassAds are generated by extracting information from MDS • Lattice information providers supply data required for matchmaking

  40. Monitoring and Discovery System (MDS2) • Globus information services component • LDAP-based (new version XML-based) • Answers questions like: • What resources are available? • What capabilities do these resources have? • What is the load on these resources? • This in turn allows for intelligent decisions to be made in areas such as scheduling and resource accounting

  41. Basic Architecture - Resources

  42. Current Grid Resources • http://lattice.umiacs.umd.edu/resources/ • UMIACS Condor pool • > 400 processors • BOINC pools • Clients on campus > 100 • Public (off-campus) clients > 1000

  43. BOINC • Works on the “pull” model, that is: • One or more servers create workunits • Clients connect asynchronously, pull down work, and return the results • Clients are relatively lightweight and easy to install and manage • One client can process work for multiple projects • Participants can join teams and are given credit for the work they complete • http://lattice.umiacs.umd.edu/boinc_public

  44. Globus-BOINC Adapter • Consists of a number of components that allow us to run Grid Services on BOINC • BOINC job manager • Custom validator and assimilator • Registers BOINC with Globus as a GRAM-addressable resource • BOINC compatibility library eases the process of porting applications to BOINC

  45. Research Projects Using the Grid • The Laboratory of David Fushman has run protein-protein docking algorithms on Lattice • CNS is the primary Grid service in this project • Floyd Reed and Holly Mortensen from the Laboratory of Sarah Tishkoff have run a number of population genetics analyses • MDIV and IM are the primary Grid services • The Laboratory of Molecular Evolution has run statistical phylogenetic analyses • GSI is the primary Grid service

  46. Results of Grid Usage • IM – 0.13 CPU years (BOINC) • MDIV – 4.93 CPU years (BOINC) • CNS – 12.4 CPU years (BOINC) • GSI – 94.05 CPU years (Condor) • Total: 111.51 CPU years • BOINC participants in 21 countries

  47. Outline • Grid computing introduction and motivation • Goals of The Lattice Project • Basic architecture • Our current production Grid system • Implementation details • Results of usage • Research and development

  48. GT4 Research and Development • We are currently upgrading the Grid system to use Globus Toolkit 4.0 • GT4 adheres strictly to emerging and established Web service standards • Actively developed and supported • Many components have been greatly improved • GridFTP/RFT (will replace GASS) • WS GRAM • MDS4 (XML based; replaces MDS2, LDAP based) • Our basic architecture remains the same, and the upgrade has been made easier because of tools we have already developed (GSBL, GSG)

  49. More Information • Lattice Website • http://lattice.umiacs.umd.edu/

More Related