Post on 14-Dec-2015
transcript
Barry WilkinsonDepartment of Computer Science University of North Carolina at Charlotte
Mark HollidayDepartment of Mathematics and Computer Science Western Carolina University
Clayton FernerDepartment of Computer Science University of North Carolina at Wilmington
Experiences in Teaching a Geographically Distributed Undergraduate Grid Computing
Course
Grid Computing Course (Fall 2004)
Originated from WCU on NCREN network. Broadcast to:
– UNC-Wilmington– NC State University– UNC-Asheville– UNC-Greensboro– Appalachian State University– NC Central University– Cape Fear Community College– Elon University
43 students, several faculty Instructors: Barry Wilkinson and Clayton Ferner
Participating Sites
Level and Prerequisites
Listed as an undergraduate course but can be taken for graduate credit.
Graduate students expected to do more work.
Preferably have programming skills in Java on a Linux system.
Topics Review of Internet technologies Introduction to grid computing Web services Grid services Security, Public Key Infrastructure Open Grid Services Architecture (OGSA) Globus 3.2 Condor-G MPI and grid-enabled MPI UNC-W workflow editor and other GUI tools Grid computing applications
Assessment
Programming assignments, submitted using WebCT– Creating a web service– Creating a grid service– Submitting a Globus job– Submitting a CondorG job– MPICH-G2 program (not done in Fall 2004)– Using UNC-W GUI workflow editor
Several WebCT quizzes/tests
Grid computing Virtual organizations, grid projects around the world, grid challenges
Internet Tech. IP addresses, HTTP, URL, HTTP, XML, FTP, SSL
Web Services Service-Oriented Architecture, XML documents, XML schema, namespaces, SOAP, examples, Axis, WSDL
Assignment 1 "Simple" Web service Java programming assignment. Tomcat, axis, JWS facility
Weeks 1 - 3
Assignment 1 ObjectiveLearn how to write, deploy, and use a web service, using Apache Tomcat Java Servlet container and tools.
Steps1. Create a simple math web service (Java Web
Service file).2. Generate required files from jws file and
compile.3. Create client source file and compile.4. Execute client to access service.5. Extend service functionality and test.
Weeks 3 - 4
Grid Service (GT3) Concepts, Open Grid Services Architecture (OGSA), OGSI, grid service factory, introduction to GT3.
Assignment 2 "Simple" grid service Java programming assignment. Globus 3.2 environment.Tools: ant
Assignment 2 Objective
Learn how to write, deploy, and use a grid service, using Globus 3.2 Toolkit.
Steps1. Run name change script.
2. Create a math grid service with several methods.
3. Define grid service interface using GWSDL.
4. Write deployment descriptor.
5. Build and deploy grid service.
6. Create client source file and compile.
7. Start Globus container on a free port.
8. Execute client to access service.
9. Extend service functionality and test.
Weeks 4 - 6
Security Secure connection requirements, symmetric and asymmetric key cyptography, digital signatures, certificates, CAs, X509 certificate
Globus Basic structure (GT 3.2), grid service container, service browser, GRAM, job submission, GSI, Globus certificates, simpleCA, proxies, resource management, MMJFS, RSL and RSL-2, examples.
Assignment 3 Submitting GT 3 job specified in RSL-2
Assignment 3 Objective Learn how to submit jobs in Globus 3.2.
Steps1. Start Globus container on a free port.2. Start a proxy process (obtain proxy
certificate).3. Submit a pre-existing job using the Globus
managed-job-globusrun command. This command uses an RSL-2 job description file.
4. Create your own job, compile and submit.5. Write and deploy your own grid service
accessed by multiple identical clients started using the managed-job-globusrun command.
Weeks 6 - 7
Inf. Services GT3 information directory services, LDAP, resource discovery
Schedulers and Condor, submit description file, resource brokers DAGMan, Checkpointing,
ClassAd, Condor-G, other systems
Assignment 4 Submitting a Condor-G Job
Assignment 4 ObjectiveLearn the Condor-G scheduler and Globus Resource Allocation Manager.
Steps1. Start a proxy process (obtain proxy certificate).2. Check status of Condor pool.3. Create a Condor job description file for a simple
job and submit a job.4. Check status of job and manage job using
Condor commands.5. Write and test a computationally intensive Java
job according to specification.6. Submit job to a Condor Java universe and test.7. Submit job to a Condor Globus universe, test.
Weeks 7 - 8
HPC Grand challenge problems, parallel computing, potential speed-up, types of parallel computers
Message passing Basic message passing techniques, system software, programming models), synchronous message passing, asynchronous message passing, message tags, collective routines
Weeks 8 - 9
MPI Process creation, communicators, unsafe message passing, point-to-point, blocking, non-blocking, communication modes, collective communication, running an MPI program on a cluster
Grid-enabled MPI MPI-G2 internals, mpirun command, RSL script, programming techniques suitable for a Grid
Assignment 5 Running a simple MPI-G2 program
Assignment 5 ObjectiveLearn how to write and submit MPI programs to a grid using MPICH-G2.
Steps1. Start a proxy process (obtain proxy certificate).2. Create and compile a simple MPI program.3. Execute MPI program on two machines.4. Add communication to MPI program and re-
execute program.5. Write, compile and execute an MPI ping
program.6. Write, compile and execute MPI program for
numerical integration using broadcast/reduce.
Workflow Concept, examples.
GridNexus I GridNexus UNC-W GUI for Workflow management.
GridNexus II Implementation of GridNexus, JXPL. Presented by Prof. Jeff Brown.
Grid portals Grid portals, purpose, application-based portals, historical examples, portal implementation, portlets, JSR 168, OGCE portal.
Assignment 6 GridNexus assignment.
Weeks 10 to 11
Assignment 6 Objective
Learn how to create a GridNexus workflow that uses a web service and a grid service.
Steps1. Download GridNexus and install on your computer.
2. Check that your service from assignment 1 and 2 are deployed. If not, deploy them, or use the deployed services provided.
3. Create a web service workflow.
4. Create a grid service workflow.
5. Create workflow that uses both web & grid services.
6. Extend service functionality and test.
GridNexus Workflow Editor Developed by UNC-Wilmington
www.gridnexus.org
Simple Workflow Example
Computes
-2 * (23 + 6)
More Complex Example using Grid Services
Guest Speakers
Professor Daniel A. Reed, Chancellor's Eminent Professor, Vice Chancellor for IT and CIO, UNC-Chapel Hill, Director of Institute for Renaissance Computing, University of North Carolina at Chapel Hill, Duke University, and NC State University. Title of presentation: “Grid computing: 21st Century Challenges.”
Wolfgang Gentzsch, Managing Director, MCNC Grid Computing and Networking Services. Title of presentation “Grid Computing in the Industry”
Chuck Kesler, Director, Grid Deployment and Data Center Services, MCNC. Title of presentation: “Security Policy, Legal, and Regulatory Challenges in Grid Computing Environments.”
Professor Ian Foster: Taped presentation “The Grid: Beyond the Hype,” by Ian Foster, Argonne National Laboratory and University of Chicago, (originally given at Duke University, Sept. 14th, 2004).
Weeks 14 to 15
Course Home Page
No assigned course textbook. Materials and links provided on the home page.
http://www.cs.wcu.edu/~abw/CS493F04
Used for posting announcements, slides, assignments, reading materials, tests dates, etc.WebCT also used for quizzes.
Fall 2005 Grid Computing Course
To originate from UNC-Charlotte
Again in collaboration with UNC-Wilmington
Can be for undergraduate or graduate credit.
Acknowledgements
Partial support for this work was provided by the National Science Foundation’s Course and University of North Carolina, Office of the President.
1. National Science Foundation, “Introducing Grid Computing into the Undergraduate Curricula,” ref. DUE 0410667, PI: A. B. Wilkinson, $100,000, 2004-2006.
2. University of North Carolina Office of President, “A Consortium to Promote Computational Science and High Performance Computing,” PI: B. Kurtz (Appalachian State University) co-PI B. Wilkinson and others at various universities, total $650,000, 2004-2006.
3. University of North Carolina Office of President, “Fostering Undergraduate Research Partnerships through a Graphical User Environment for the North Carolina Computing Grid,” PI: R. Vetter (UNC-Wilmington), co-PI B. Wilkinson and others at various universities, total $557,634, 2004-2006.
Questions?