seminar-grid-i-lecture-BOINC

advertisement
Introduction to BOINC
By: Andrew J Younge
http://blackrose02.rit.edu/wiki/doku.php?id=users:andrew_younge
Rochester Institute of Technology
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
1
Outline
•
•
•
•
•
•
•
What is BOINC?
How it works
The BOINC Manager
The Backend
Applications for BOINC
Summary
The Lattice Project
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
2
Berkeley Open Infrastructure for
Network Computing [1,3,5]
• BOINC is an open source middleware system for
deploying a desktop “grid” based on volunteer
computing.
• Originally created from the SETI@home project by
David Anderson from University of California,
Berkeley.
– Now has over 22 full scale production projects and dozens
of alpha projects exist
– Projects are based on different scientific disciplines
• BOINC has over 560,000 active computers (hosts)
worldwide processing on average 955 TFLOPS as
of March 13, 2008
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
3
How does it work?
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
4
BOINC Runtime System [4]
• Consists of an application, the core client, the
BOINC manager, and an optional BOINC
screensaver
4/9/2015
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
5
BOINC Manager
• Front-end for core client
software
• Available for Windows,
Mac OS X, and Linux
• Can run in Simple or
Advanced modes
• Add projects, download
workunits
• Ability to run as a
screensaver instead
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
6
The BOINC Server Complex
•
•
•
•
Scheduling servers
Relational database (typically MySQL)
File server for file distribution to hosts
Web interface
– Basic information about the project
– Listing of applications
– Server status page
– Forums for users to interact
– Administration utility
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
7
Workunit Distribution [2]
• One workunit creates multiple result units for
redundancy
• Workunit distribution
– Scheduler
– Feeder
• Application specific tools
– Validator
• Trivial Validator - CPU times
• Bitwise Validator - exact results
– Assimilator - post processing of results
4/9/2015
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
8
Applications for BOINC [6,7]
• BOINC, like any other grid system, is made
for large scale computationally intensive
problems.
• Embarrassingly Parallel applications
• Low data/computer ratio
– Not cost effective to transfer massive amounts
– Reduce server load
• Large public appeal
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
9
Creating Applications on BOINC
• Supports all major OS platforms
• C/C+/Fortran supported natively
• Have to use the BOINC API
int boinc_init();
int boinc_finish(int status);
int boinc_resolve_filename(char *logical_name, char
*physical_name, int len);
boinc_fopen(char* path, char* mode);
• Can use a wrapper program for some applications to simplify
porting to “Legacy” applications
– Handles API calls for you
– Doesn’t support graphics
– New as of 5.5.1
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
10
Summary
• BOINC is a great way to “scavenge” lots of
unused CPU cycles at very low cost
• You can run a BOINC project with just a
developer, a system administrator, and a few
thousand dollars in hardware!
• Allows for volunteers to participate in real
world computational problems without having
to know any of the details
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
11
The Lattice Project [8]
http://boinc.umiacs.umd.edu/
20:09:51
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
12
References
[1] Anderson, D. BOINC: A System for Public-Resource Computing and Storage. Proceedings
of the 5th IEEE/ACM International Workshop on Grid Computing, 2004, 4-10
[2] Anderson, D.; Korpela, E. & Walton, R. High-Performance Task Distribution for Volunteer
Computing. e-Science and Grid Computing, First International Conference on, 2005, 196203
[3] Anderson, D. & Fedak, G. The Computational and Storage Potential of Volunteer Computing.
Proceedings of the IEEE International Symposium on Cluster Computing and the Grid, 2006
[4] Anderson, D.; Christensen, C. & Allen, B. Designing a Runtime System for Volunteer
Computing. Proceedings of the 2006 IEEE/ACM SC06 Conference, 2006
[5] Kacsuk, P.; Podhorszki, N. & Kiss, T. Scalable Desktop Grid System. Proc. of 7th
International meeting on high performance computing for computational science, Springer,
2006
[6] Stockinger, H.; Pagni, M.; Cerutti, L. & Falquet, L. Grid Approach to Embarrassingly Parallel
CPU-Intensive Bioinformatics Problems. Proceedings of the Second IEEE International
Conference on e-Science and Grid Computing, IEEE Computer Society, 2006
[7] Schmidt, B. A survey of desktop grid applications for e-science. International Journal of Web
and Grid Services, Inderscience, 2007, 3, 354-368
[8] Myers, D. S.; Bazinet, A. L. & Cummings., M. P. Expanding the reach of Grid computing:
combining Globus- and BOINC-based systems. Grids for Bioinformatics and Computational
Biology, 2008, 2, 71-85
4/9/2015
Service Oriented Cyberinfrastructure Lab, http://blackrose02.rit.edu
13
Download