Grid Computing Colton Lewis
Agenda This presentation: introduce grid computing What it is Examples Challenges Next presentation: address the job scheduling challenge
Components of Grid Computing Multiple computers Independently functioning hardware Multiple locations and/or owners Shared computational goal Distributed resources over a network Typically an already existing network
Differences from Cluster Computing Resources are more loosely coupled Clusters resources are often all in one location Direct physical connections Clusters may be part of grids
Benefits of Grid Computing Large pool of resources Large grids are comparable in FLOP/s to top 500 supercomputers Distributed costs Administration Maintenance Electricity Space Utilize existing infrastructure and avoid specialized hardware
Inherent Parallelism Large numbers of computers means lots of possible parallelism Great for handling large numbers of easily separable tasks Easily parallelizable problems with little communication Signal processing, graphics and animation, search and simulation, etc. High volume of very similar tasks Services or websites handling large numbers of users
Grid Computing Users Businesses Universities Create company wide resources As a replacement to old mainframes Universities Computationally intensive projects
Basic Grid Computing Layout Grid is software defined Server program run by master Client program run by workers Master assigns tasks to workers Long running jobs reduce communication overhead Job assignment and collection may be different physical computers
Example: SETI@home Search for Extra-terrestrial Intelligence Analyze radio waves from space Look for evidence of intentional communication High-power narrow-band signals
Why SETI uses a Grid Extra power is needed to cover many possible scenarios Doppler correction for many different speeds Radio spectrum can easily be divided and searched independently Popular appeal makes it easy to find volunteers
SETI Architecture
Other Volunteer Grid Computing Projects Protein folding Prime number search Physics simulations Breaking cryptographic ciphers
Challenges Getting resources Using existing resources Social problem which is outside the scope of this presentation Using existing resources Portability Job Scheduling
Portability Use existing software BOINC is commonly used for grid computing projects Berkeley Open Infrastructure for Network Computing Open Source Used by both universities and industry
Job Scheduling Hard computer science problem Optimality is computationally intractable in general Grids must consider even more factors
Heterogeneous Machines Machines on the grid may have vastly different resources Dedicated clusters Desktop computer donating spare cycles Embedded devices Must account for this to balance load
Dynamic Network Resources may not be up constantly Jobs may need to be scheduled redundantly
General Strategies Know as much as possible Use Heuristics Job intensity Client capabilities Use Heuristics Will go into detail next presentation
Works Consulted A. L. Beberg, D. L. Ensign, G. Jayachandran, S. Khaliq and V. S. Pande, "Folding@home: Lessons from eight years of volunteer distributed computing," Parallel & Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on, Rome, 2009, pp. 1-8. E. Korpela, D. Werthimer, D. Anderson, J. Cobb and M. Leboisky, "SETI@home-massively distributed computing for SETI," in Computing in Science & Engineering, vol. 3, no. 1, pp. 78-83, Jan/Feb 2001. Y. Hao and G. Liu, "Evaluation of nine heuristic algorithms with data- intensive jobs and computing-intensive jobs in a dynamic environment," in IET Software, vol. 9, no. 1, pp. 7-16, 2 2015. Jacob, Bart, et al. Introduction to Grid Computing. United States: IBM, International Technical Support Organization, 2005. Web. <https://www.redbooks.ibm.com/redbooks/pdfs/sg246778.pdf>.
Questions?