A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A....
-
Upload
ann-curtis -
Category
Documents
-
view
214 -
download
0
Transcript of A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A....
A Geographically-Distributed, Assignment-Structured Undergraduate
Grid Computing Course
Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud, Dept of Mathematics and Computer ScienceWestern Carolina UniversityClayton FernerDept of Computer ScienceUNC at Wilmington
SIGCSE Technical Symposium on Computer Science EducationSaint Louis, MOFebruary 25, 2005
2/25/052
Acknowledgements
Thank-you for financial support from Introducing Grid Computing into the Undergraduate
Curriculum, National Science Foundation, DUE 0410667, 2004-2006.
A Consortium to Promote Computational Science and High Performance Computing, University of North Carolina Office of the President, 2004-2006.
Fostering Undergraduate Research Partnerships through a Graphical User Environment for the North Carolina Computing Grid, University of North Carolina Office of the President, 2004-2006.
2/25/053
Overview
What is Grid Computing? Motivation for the Course(s) The Fall 2004 Course The Spring 2005 Course Possible Future Directions Conclusions For Further Information
2/25/054
What is Grid Computing?
Grid computing is
"coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations" (Foster, Kesselman, and Tuecke, 2001)
2/25/055
What is Grid Computing?
Thus, grid computing virtualizes the resources at geographically
distributed and often heterogeneous sites. such resources include computational devices,
data storage, and instrumentation and sensors
2/25/056
What is Grid Computing?
Advantage of Grid Computing? More efficient use of the resources by allowing
remote and transparent access
Why now? Increased Internet bandwidth Recent development of key open standards
2/25/057
What is Grid Computing?
Other approaches to wide-area distributed systems have been progressing concurrently
The Grid approach is converging with the Web Services approach– HTTP, XML– SOAP (Simple Object Access Protocol)– WSDL (Web Services Description Language)
2/25/058
What is Grid Computing? (from Mark Baker, “Smoke and Mirrors: Tales of the Grid”, 28 October 2004)
Grid
Web
WSRF
OGSI
GT2
GT1
HTTPWSDL,
WS-*
WSDL 2,
WSDM
2/25/059
Motivation for the Course(s)
Grid computing has matured to the point that a course aimed at the undergraduate, upper-level computer science major is feasible and desirable
Such a course should have– a coherent, unified set of lectures– be organized around a set of hands-on
programming assignments– (ideally) and involve multiple sites
2/25/0510
The Fall 2004 Course
Fall 2003– first implementation of the grid software
• used in SC 2003 contest (GT2.4)
Spring 2004 and Summer 2004– re-implemented the software (GT3.2)– developed the lectures– developed the programming assignments
Fall 2004– Course Offered
• Instructors: Barry Wilkinson and Clayton Ferner• forty students at nine universities
2/25/0511
The Fall 2004 Course
2/25/0512
The Fall 2004 Course
2/25/0513
The Fall 2004 Course
2/25/0514
The Fall 2004 Course
Software Environment (Open Source)– Linux and Java– Apache Tomcat (Java Servlet Container)– Apache Axis (SOAP Engine)– NSF Middleware Initiative (NMI) distribution
• current Globus Toolkit Version (3.2)• Condor-G• many other packages
2/25/0515
The Fall 2004 Course
First four assignments were developed together
Create a service– A Web service (assignment one)– A Grid Service (assignment two)
Job Submission– Using Globus Resource Allocation Manager
(GRAM) (assignment three)– Using Condor-G (assignment four)
2/25/0516
The Fall 2004 Course
Assignment One: A Web Service Provide the source code for a simple MyMath service
– a method that returns the square of its argument Use Apache Axis to generate all the other needed
server source files Compile the server files Create client source and compile Execute the client to access the service Redo (by student) with an extended service
2/25/0517
The Fall 2004 Course
Assignment Two: A Grid Service Provide the source code for a stateful MyMath
service Write the WSDL file for the server explicitly (not
using Axis) Build (using Ant) and deploy the service Compile the client Start the container on a free TCP port In a second shell run the client Redo (by student) with an extended service
2/25/0518
The Fall 2004 Course
Assignment Three: GRAM Job Submission Learn RSL-2 (Resource Specification Language) and
its use in the test.xml file (to run /bin/echo) Start a container on a free TCP port In a second shell start a proxy process
– for certificates Submit the job specified via test.xml Redo (by student) with a new job
– student written Java echo program – student modified test.xml file
2/25/0519
The Fall 2004 Course
Assignment Four: Condor-G Job Submissions Learn submit description file format Start a proxy process Submit the job using condor Monitor and manage the job and the condor
pool using various condor commands Redo (by student) using a new job written,
compiled, and executed
2/25/0520
The Fall 2004 Course
Assignment Five: MPI programming– prepared but not assigned
Assignment Six: Workflow Editor (GridNexus)
2/25/0521
The Fall 2004 Course
Experiences Carefully tested the first four assignments in
the summer with one user Multiple users in the pre-course workshop:
servlet container is very memory intensive Last minute addition to assignment three was
too difficult Maintaining the software and helping the
students with questions was very time-intensive
2/25/0522
The Spring 2005 Course
Students using the grid in an application domain
Course Title: Intelligent Decision Making Problem-solving using optimization
algorithms implemented in the open source AMPL (A Mathematical Programming Language) programming environment
2/25/0523
The Spring 2005 Course
Co-taught by myself at WCU and two faculty at Elon University (David Powell and Joel Hollingsworth)
Three sites: WCU, Elon, and Appalachian State University (teleconferencing)
Two clusters: WCU and Elon (both running GT 3.2)
2/25/0524
The Spring 2005 Course
Partially reverse the assignment order from the Fall 2004 course
1. Run an ampl model as a GRAM job submission
2. Run an ampl model as a Condor-G job submission
3. Make an ampl model a grid service that is accessed by one or more clients
2/25/0525
Possible Future Directions
DAGMan: specify a dependency graph across related job submissions to create a workflow and use GridFTP to transfer results between the jobs
Portals Storage-oriented grids
– E-Diamond Project, AstroGrid
2/25/0526
Conclusions
Wide-area distributed systems with a foundation of HTTP and XML are developing and converging as web services and grids
Undergraduate courses for computer science majors in this area are becoming feasible and desirable
Our experiences and the assignments we have developed hopefully will be helpful to others
2/25/0527
For Further Information
Fall 2004 Course Materials
http://cs.wcu.edu/~abw/CS493F04/index.html
Spring 2005 Course Materials