890 likes | 897 Views
Learn about the fundamentals of grid computing, including its various methods and applications. Discover how grid computing can be used to solve complex problems and meet resource demands. Join our Q&A session to get all your grid computing questions answered.
E N D
GRID COMPUTING Faisal N. Abu-Khzam & Michael A. Langston University of Tennessee
Outline • Hour 1: Introduction Break • Hour 2: Using the Grid Break • Hour 3: Ongoing Research Q&A Session
Hour 1: Introduction • What is Grid Computing? • Who Needs It? • An Illustrative Example • Grid Users • Current Grids
What is Grid Computing? • Computational Grids • Homogeneous (e.g., Clusters) • Heterogeneous (e.g., with one-of-a-kind instruments) • Cousins of Grid Computing • Methods of Grid Computing
A network of geographically distributed resources including computers, peripherals, switches, instruments, and data. Each user should have a single login account to access all resources. Resources may be owned by diverse organizations. Computational Grids
Grids are typically managed by gridware. Gridware can be viewed as a special type of middleware that enable sharing and manage grid components based on user requirements and resource attributes (e.g., capacity, performance, availability…) Computational Grids
Parallel Computing Distributed Computing Peer-to-Peer Computing Many others: Cluster Computing, Network Computing, Client/Server Computing, Internet Computing, etc... Cousins of Grid Computing
People often ask: Is Grid Computing a fancy new name for the concept of distributed computing? In general, the answer is “no.” Distributed Computing is most often concerned with distributing the load of a program across two or more processes. Distributed Computing
Sharing of computer resources and services by direct exchange between systems. Computers can act as clients or servers depending on what role is most efficient for the network. PEER2PEER Computing
Methods of Grid Computing • Distributed Supercomputing • High-Throughput Computing • On-Demand Computing • Data-Intensive Computing • Collaborative Computing • Logistical Networking
Distributed Supercomputing • Combining multiple high-capacity resources on a computational grid into a single, virtual distributed supercomputer. • Tackle problems that cannot be solved on a single system.
High-Throughput Computing • Uses the grid to schedule large numbers of loosely coupled or independent tasks, with the goal of putting unused processor cycles to work.
On-Demand Computing • Uses grid capabilities to meet short-term requirements for resources that are not locally accessible. • Models real-time computing demands.
Data-Intensive Computing • The focus is on synthesizing new information from data that is maintained in geographically distributed repositories, digital libraries, and databases. • Particularly useful for distributed data mining.
Collaborative Computing • Concerned primarily with enabling and enhancing human-to-human interactions. • Applications are often structured in terms of a virtual shared space.
Logistical Networking • Global scheduling and optimization of data movement. • Contrasts with traditional networking, which does not explicitly model storage resources in the network. • Called "logistical" because of the analogy it bears with the systems of warehouses, depots, and distribution channels.
A chemist may utilize hundreds of processors to screen thousands of compounds per hour. Teams of engineers worldwide pool resources to analyze terabytes of structural data. Meteorologists seek to visualize and analyze petabytes of climate data with enormous computational demands. Who Needs Grid Computing?
An Illustrative Example • Tiffany Moisan, a NASA research scientist, collected microbiological samples in the tidewaters around Wallops Island, Virginia. • She needed the high-performance microscope located at the National Center for Microscopy and Imaging Research (NCMIR), University of California, San Diego.
Example (continued) • She sent the samples to San Diego and used NPACI’s Telescience Grid and NASA’s Information Power Grid (IPG) to view and control the output of the microscope from her desk on Wallops Island. Thus, in addition to viewing the samples, she could move the platform holding them and make adjustments to the microscope.
Example (continued) • The microscope produced a huge dataset of images. • This dataset was stored using a storage resource broker on NASA’s IPG. • Moisan was able to run algorithms on this very dataset while watching the results in real time.
Grid Users • Grid developers • Tool developers • Application developers • End Users • System Administrators
Grid Developers • Very small group. • Implementers of a grid “protocol” who provides the basic services required to construct a grid.
Tool Developers • Implement the programming models used by application developers. • Implement basic services similar to conventional computing services: • User authentication/authorization • Process management • Data access and communication
Tool Developers • Also implement new (grid) services such as: • Resource locations • Fault detection • Security • Electronic payment
Application Developers • Construct grid-enabled applications for end-users who should be able to use these applications without concern for the underlying grid. • Provide programming models that are appropriate for grid environments and services that programmers can rely on when developing (higher-level) applications.
System Administrators • Balance local and global concerns. • Manage grid components and infrastructure. • Some tasks still not well delineated due to the high degree of sharing required.
Some Highly-Visible Grids • The NSF PACI/NCSA Alliance Grid. • The NSF PACI/SDSC NPACI Grid. • The NASA Information Power Grid (IPG). • The Distributed Terascale Facility (DTF) Project.
DTF • Currently being built by NSF’s Partnerships for Advanced Computational Infrastructure (PACI) • A collaboration: NCSA, SDSC, Argonne, and Caltech will work in conjunction with IBM, Intel, Quest Communications, Myricom, Sun Microsystems, and Oracle.
DTF Expectations • A 40-billion-bits-per-second optical network (Called TeraGrid) is to link computers, visualization systems, and data at four sites. • Performs 11.6 trillion calculations per second. • Stores more than 450 trillion bytes of data.
GRID COMPUTING BREAK
Hour 2: Using the Grid • Globus • Condor • Harness • Legion • IBP • NetSolve • Others
Globus • A collaboration of Argonne National Laboratory’s Mathematics and Computer Science Division, the University of Southern California’s Information Sciences Institute, and the University of Chicago's Distributed Systems Laboratory. • Started in 1996 and is gaining popularity year after year.
Globus • A project to develop the underlying technologies needed for the construction of computational grids. • Focuses on execution environments for integrating widely-distributed computational platforms, data resources, displays, special instruments and so forth.
The Globus Toolkit • The Globus Resource Allocation Manager (GRAM) • Creates, monitors, and manages services. • Maps requests to local schedulers and computers. • The Grid Security Infrastructure (GSI) • Provides authentication services.
The Globus Toolkit • The Monitoring and Discovery Service (MDS) • Provides information about system status, including server configurations, network status, and locations of replicated datasets, etc. • Nexus and globus_io • provides communication services for heterogeneous environments.
The Globus Toolkit • Global Access to Secondary Storage (GASS) • Provides data movement and access mechanisms that enable remote programs to manipulate local data. • Heartbeat Monitor (HBM) • Used by both system administrators and ordinary users to detect failure of system components or processes.
Condor • The Condor project started in 1988 at the University of Wisconsin-Madison. • The main goal is to develop tools to support High Throughput Computing on large collections of distributively owned computing resources.
Condor • Runs on a cluster of workstations to glean wasted CPU cycles. • A “Condor pool” consists of any number of machines, of possibly different architectures and operating systems, that are connected by a network. • Condor pools can share resources by a feature of Condor called flocking.
The Condor Pool Software • Job management services: • Supports requests about the job queue . • Puts a job on hold. • Enables the submission of new jobs. • Provides information about jobs that are already finished. • A machine with job management installed is called a submit machine.
The Condor Pool Software • Resource management: • Keeps track of available machines. • Performs resource allocation and scheduling. • Machines with resource management installed are called execute machines. • A machine could be a “submit” and an “execute” machine simultaneously.
Condor-G • A version of Condor that uses Globus to submit jobs to remote resources. • Allows users to monitor jobs submitted through the Globus toolkit. • Can be installed on a single machine. Thus no need to have a Condor pool installed.
Legion • An object-based metasystems software project designed at the University of Virginia to support millions of hosts and trillions of objects linked together with high-speed links. • Allows groups of users to construct shared virtual work spaces, to collaborate research and exchange information.
Legion • An open system designed to encourage third party development of new or updated applications, run-time library implementations, and core components. • The key feature of Legion is its object-oriented approach.
Harness • A Heterogeneous Adaptable Reconfigurable Networked System • A collaboration between Oak Ridge National Lab, the University of Tennessee, and Emory University. • Conceived as a natural successor of the PVM project.
Harness • An experimental system based on a highly customizable, distributed virtual machine (DVM) that can run on anything from a Supercomputer to a PDA. • Built on three key areas of research: Parallel Plug-in Interface, Distributed Peer-to-Peer Control, and Multiple DVM Collaboration.
IBP • The Internet Backplane Protocol (IBP) is a middleware for managing and using remote storage. • It was devised at the University of Tennessee to support Logistical Networking in large scale, distributed systems and applications.
IBP • Named because it was designed to enable applications to treat the Internet as if it were a processor backplane. • On a processor backplane, the user has access to memory and peripherals, and can direct communication between them with DMA.
IBP • IBP gives the user access to remote storage and standard Internet resources (e.g. content servers implemented with standard sockets) and can direct communication between them with the IBP API.
IBP • By providing a uniform, application-independent interface to storage in the network, IBP makes it possible for applications of all kinds to use logistical networking to exploit data locality and more effectively manage buffer resources.
NetSolve • A client-server-agent model. • Designed for solving complex scientific problems in a loosely-coupled heterogeneous environment.