A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A....

27
A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud, Dept of Mathematics and Computer Science Western Carolina University Clayton Ferner Dept of Computer Science UNC at Wilmington SIGCSE Technical Symposium on Computer Science Education Saint Louis, MO February 25, 2005

Transcript of A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A....

Page 1: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 2: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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.

Page 3: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 4: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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)

Page 5: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 6: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 7: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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)

Page 8: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 9: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 10: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 11: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

2/25/0511

The Fall 2004 Course

Page 12: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

2/25/0512

The Fall 2004 Course

Page 13: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

2/25/0513

The Fall 2004 Course

Page 14: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 15: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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)

Page 16: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 17: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 18: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 19: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 20: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

2/25/0520

The Fall 2004 Course

Assignment Five: MPI programming– prepared but not assigned

Assignment Six: Workflow Editor (GridNexus)

Page 21: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 22: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 23: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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)

Page 24: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 25: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 26: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

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

Page 27: A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,

2/25/0527

For Further Information

Fall 2004 Course Materials

http://cs.wcu.edu/~abw/CS493F04/index.html

Spring 2005 Course Materials

[email protected]