Teaching Grid Technologies to PhD Students, Part 1 - IEEE Computer ...

3 downloads 28899 Views 164KB Size Report
Mar 1, 2008 - IEEE Distributed Systems Online (vol. ... discusses teaching undergraduate computer science and computer engineering students using batch.
March 2008 (vol. 9, no. 3), art. no. 0803-mds2008030002 1541-4922 © 2008 IEEE Published by the IEEE Computer Society

Education

Teaching Grid Technologies to PhD Students, Part 1: Using Best Practices to Build the Course Dana Petcu • Western University of Timişoara

D

eveloping teaching materials that outlive the changes in Grid technologies isn’t a simple task.

1

Following the path established by experienced Grid teachers is a recommendable approach, but few reports on the best practices in teaching the Grid exist. Here, I survey efforts to establish Grid-related curricula.

Grid training in the research community … Because the Grid emerged out of the parallel and distributed computing community, several institutions and universities worldwide have started teaching Grid computing as part of their parallel and distributed computing curricula. Whether their purpose is computation, collaboration, or information sharing, Grid-based systems are instances of distributed systems. Available reports about best practices take two approaches. The first approach is time independent and leads to understanding the principles and challenges associated with the development of Gridbased e-infrastructures (what is it). The other is time dependent, providing the skills for using such an e-infrastructure (how to do it). Richard Sinnott, Anthony Stell, and John Watt labeled the first direction as education for future computer scientists and the second as training for scientists.1 Grid-related training courses have existed for a few years and have been mainly associated with research or e-infrastructure projects. For example, Grid Infn Laboratory for Dissemination Activities (https://gilda.ct.infn.it) offers a Grid-based training platform for the biggest European Grid based einfrastructure, EGEE (www.eu-egee.org; training events at www.egee.nesc.ac.uk/schedreg/index.cfm). Starting in 2004, GILDA created a 20-site Grid testbed entirely dedicated to training and dissemination activities. Since 2007, GILDA has offered OMII-UK (Open Middleware Infrastructure Institute UK), Globus Toolkit 4, and UNICORE (Uniform Interface to Computing Resources) services that coexist with gLite on the same resources. Several summer and winter schools occur periodically, such as the Open Grid Foundation Summer School series, GridKa Summer School, and ICEAGE (International Consortium for Extending and Advancing Grid Education, www.iceage-eu.org) summer schools. Two special workshops were organized on Grid education in 2004 and 2005 in conjunction with the IEEE International Symposium on Cluster Computing and the Grid (CC Grid). Several Grid development projects provide introductory or overview talks and lectures, but hands-on training is unusual. However, comprehensive training with hands-on experience helps people to understand the technology and to use it correctly and efficiently.2,3 Grid community scientific events are often planning tutorial sessions. Audiences expect different things from tutorials: some participants expect an overview of existing technologies, whereas others want or plan to use Grid tools immediately afterwards. In general, the tutorials aim to disseminate Grid computing concepts to the scientific community, rather than to provide a semester-long course. A

IEEE Distributed Systems Online (vol. 9, no. 3), art. no. 0803-mds2008030002

1

semester-long course can’t be based only on experiments using current Grid technologies; the instructor must present basic principles associated with Grid technologies.

… And in the classroom For classroom teaching, Grid-related topics are appropriate mainly for advanced courses in computer science masters or PhD programs. The Grid is a complex subject that requires background knowledge in many computer science topics: operating systems, software engineering, distributed systems, parallel computing, object-oriented programming, network programming, security, asynchronous communications, and so on. Some existing graduate courses have helped guide me in building a new course. For example, James Browne discusses a graduate seminar that focuses on the fundamental principles and concepts of distributed computation underlying Internet and Grid systems, both software and applications.4 Other reports on graduate-level courses discuss courses developed for master’s students, last-year undergraduates,1 (see http://dsonline.computer.org/portal/pages/dsonline/2007/12/oz002edu.html), and application and infrastructure developers.5 Despite the long list of background topics generally assumed to be prerequisite knowledge to a Gridrelated course, several universities have recently initiated undergraduate courses. The classroom exercises that Amy Apon and her colleagues present for an advanced undergraduate course assume only a basic knowledge of operating systems concepts and some programming skills.6 One recent paper describes Grid educational material and infrastructure suitable for classroom use,7 and another discusses teaching undergraduate computer science and computer engineering students using batch submission concepts (see http://dsonline.computer.org/portal/pages/dsonline/2007/12/o4002edu. html). The experiments that Jens Mache reports on focused on helping undergraduate computer science students acquire an understanding of Grid computing’s implications for the software and hardware systems being built in academics and in industry.8 Barry Wilkinson, Mark Holliday, and Clayton Ferner report on their experiences in sustaining a distributed undergraduate course involving several universities simultaneously.9 A recent debate revealed several requirements for successfully sustaining an undergraduate course.10 Grid submission exercises must be simple, the infrastructure must be flawless, and prerequisite knowledge should include using computers for solving problems and the concept of batch submission. Moreover, tutorials provided by research or e-infrastructure projects are helpful, but they might not be optimal for undergraduates. And there’s a clear need to introduce students to production Grid tools such as portals, application portlets, and workflow tools, as well as to teach them how to port applications to a Grid. Researchers have designed several educational tools. For example, DyVOSE deals with security issues in a scalable virtual organization built for e-science education.11 Barry Wilkinson and Clayton Ferner combined distance-learning tools with Grid computing for a course in which undergraduates at several universities participated in forming the Grid (see http://dsonline.computer.org/portal/pages/dsonline/ 2006/06/o6003.html and http://dsonline.computer.org/portal/pages/dsonline/2006/07/o7003.html). Others have successfully used simulation tools in education. Manzur Murshed and Rajkumar Buyya present several arguments for using simulation instead of the Grid testbed, especially in analyzing models and algorithms in the early stages.12 They use the GridSim Toolkit as an example. MGrid mimics the Grid’s core features in a much simpler way, enabling the rapid prototyping of distributed applications.13 The IEEE/ACM Computing Curricula 2005 (see www.acm.org/education/curric_vols) doesn’t explicitly specify Grid topics as relevant, but some curricula sections, such as Net Centric Principles and Design, Net Centric Use and Configuration, Distributed Systems, and Computer Architecture and Organization, could encompass several parts of a Grid-specific course. For example, in a distributed systems course, the instructor could present the Grid as a kind of middleware that enables the use of third-party

IEEE Distributed Systems Online (vol. 9, no. 3), art. no. 0803-mds2008030002

2

resources. In an advanced computer architecture course, the instructor could introduce the Grid in the context of parallel computing alternatives together with shared-memory multiprocessors, massively parallel multiprocessors, and clusters.14 Instructors have recently reported on their experiences with integrating Grid topics in other courses, such as a performance measurement course15 and in a project-based computer architecture course.14 In 2004, the ACM Special Interest Group on Computer Science Education initiated a project called GridForce16 to help disseminate the material required for Grid technology education. Consequently, Bina Ramamurthy discusses a suite of pedagogical resources that enable instructors to embed Grid computing topics in undergraduate distributed systems course curricula.17 The suite includes course planning, lecture notes, laboratory exercises, and assessment instruments to follow the course’s progress and outcome. The author’s resource Web site (see www.cse.buffalo.edu/gridforce) is a good starting point for instructors wishing to introduce Grid computing concepts into their courses. An ongoing Open Grid Forum initiative, started in 2006, is attempting to consolidate a Grid education and training community group with the goal of sharing and developing best practices in Grid-related education and training (including recommended curricula and teaching material).18 A Grid education and training workshop in 2006 included numerous presentations on education and training initiatives, such as Globus Training, ICEAGE, EPIC (E-Science Portal at Imperial College), Grid Education for Minority Groups, training, and e-learning within EGEE. ICEAGE created a forum bringing together experts worldwide to expand and advance Grid education. ICEAGE delivered a program of educational events and provides an open repository of relevant teaching materials. A short list of master of science programs in Grid computing or related areas is available at www.iceage-eu.org. The training infrastructure (t-Infrastructure) is GILDA.

F

ollowing the results of these initiatives has made the task of building a new course on Grid-related

topics is much simpler than it was three years ago. In the next issue’s Education department, I’ll describe a course that began in 2005. References 1. 2. 3. 4. 5. 6. 7. 8.

R.O. Sinnott, A.J. Stell, and J. Watt, “Experiences in Teaching Grid Computing to Advanced Level Students,” Proc. 5th IEEE Int’l Symp. Cluster Computing and the Grid 2005 (CCGrid 2005), vol. 1, IEEE CS Press, 2005, pp. 51–58. J. Mache, “Hands-On Grid Computing with Globus Toolkit 4,” J. Computing Sciences in Colleges, vol. 22, no. 2, 2006, pp. 99–100. H. Stockinger et al., “Data Grid Tutorials with Hands-on Experience,” Proc. 4th IEEE Int’l Symp. Cluster Computing and the Grid (CCGrid 2004), IEEE CS Press, 2004, pp. 152–159. J.C. Browne, “Grid Computing as Applied Distributed Computation: A Graduate Seminar on Internet and Grid Computing,” Proc. 4th IEEE Int’l Symp. Cluster Computing and the Grid (CCGrid 2004), IEEE CS Press, 2004, pp. 239–245. E. Elmroth, P. Gardfjall, and J. Tordsson, “An Advanced Grid Computing Course for Application and Infrastructure Developers,” Proc. 5th IEEE Int’l Symp. Cluster Computing and the Grid (CCGrid 05), vol. 1, IEEE CS Press, 2005, pp. 43–50. Apon et al., “Classroom Exercises for Grid Services,” Proc. 5th Int’l Conf. Linux Clusters: The HPC Revolution, Linux Cluster Inst. Archives, 2004, www.linuxclustersinstitute.org/conferences/ archive/2004/PDF/09-Apon_A.pdf. J. Mache and A. Apon, “Teaching Grid Computing: Topics, Exercises, and Experiences,” IEEE Trans. Education, vol. 50, no. 1, 2007, pp. 3–9. J. Mache, “Grid Computing in the Undergraduate Classroom: Topics, Exercises and Experiences,” Proc. 5th IEEE Int’l Symp. Cluster Computing and the Grid (CC Grid 2005), vol. 1, IEEE CS Press, 2005, pp. 67–73.

IEEE Distributed Systems Online (vol. 9, no. 3), art. no. 0803-mds2008030002

3

9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

B. Wilkinson, M. Holliday, and C. Ferner, “Experiences in Teaching a Geographically Distributed Undergraduate Grid Computing Course,” Proc. 5th IEEE Int’l Symp. Cluster Computing and the Grid (CCGrid 05), vol. 1, IEEE CS Press, 2005, pp. 59–60. J. Mache et al., “Grid Computing at the Undergraduate Level: Can We Do It?” to be published in Proc. ACM Special Interest Group on Computer Science Education, 2008. J. Watt et al., “DyVOSE Project: Experiences in Applying Privilege Management Infrastructures,” UK e-Science All Hands Meeting (AHM 06), 2006, http://labserv.nesc.gla.ac.uk/projects/dyvose/ publicity/AHM2006JPW_FINAL.doc. M. Murshed and R. Buyya, “Using the GridSim Toolkit for Enabling Grid Computing Education,” Proc. Int’l Conf. Communication Networks and Distributed Systems Modeling and Simulation, SCS, 2002, pp. 18–24. R.J. Walters et al., “Teaching the Grid: Learning Distributed Computing with the M-grid Framework,” Proc. World Conf. Educational Multimedia, Hypermedia & Telecommunications (EDMEDIA 06), AACE, 2006, pp. 3857–3864. G. Vega-Gorgojo et al., “Learning Grid Technologies in a Project-Based Computer Architecture Course,” Proc. 4th IEEE Int’l Symp. Cluster Computing and the Grid 2004 (CCGrid 04), IEEE CS Press, 2004, pp. 160–167. K.L. Karavanic, “Incorporating Grid Computing Concepts into a Course in Performance Measurement,” Proc. 4th IEEE Int’l Symp. Cluster Computing and the Grid 2004 (CCGrid 04), IEEE CS Press, 2004, pp. 246–250. B. Ramamurthy, “GridForce: A Comprehensive Model for Improving the Technical Preparedness of our Workforce for the Grid,” Proc. 4th IEEE Int’l Symp. Cluster Computing and the Grid (CCGrid 04), IEEE CS Press, 2004, pp. 168–173. B. Ramamurthy, “GridFoRCE: A Comprehensive Resource Kit for Teaching Grid Computing,” IEEE Trans. Education, vol. 50, no. 1, 2007, pp. 10–16. J. Tourino, “Guest Editorial Grid Education and Grid-Based Technologies Applied to Education: Ongoing Activities,” IEEE Trans. Education, vol. 50, no. 1, 2007, pp. 1–2.

Dana Petcu is a professor and the director of the Computer Science Department at the Western University of Timişoara. She’s also the director of Research Institute e-Austria, Timisoara, Romania. Contact her at [email protected]. Cite this article: Dana Petcu, "Teaching Grid Technologies to PhD Students, Part 1: Using Best Practices to Build the Course," IEEE Distributed Systems Online, vol. 9, no. 3, 2008, art. no. 0803-o3002.

IEEE Distributed Systems Online (vol. 9, no. 3), art. no. 0803-mds2008030002

4

Suggest Documents