ERCIM News No.45 - April 2001 [contents]
A University Ph.D. Course on Cluster and Grid Computing
by Ferenc Vajda
Since the fall semester of 1999, a postgraduate course has been offered in the frame of the doctorate (Ph.D.) program of the Faculty of Electrical Engineering and Informatics of the Budapest University of Technology and Economics (BME). This is a unique course of this new and fast developing topic and as far as we know there is no similar course available in Europe and only a very few in the US.
The initial idea of computer clusters (a collection of interconnected computers working together as a single system) was developed in the 1960s. However, cluster computing did not gain momentum until three trends came around in the 1980s: high performance microprocessors, high-speed networks and standard tools for high performance distributed computing. A possible fourth trend is the increased need of computing power for scientific and commercial applications coupled with the high cost and low accessibility of traditional supercomputers. This process has led to grid computing in the mid 1990s to provide geographically distributed, heterogeneous computing infrastructure for advanced science and engineering. The course is motivated by the fact that these two computing technologies of networked computers have increased attention recently and a noticeable progress toward usable systems has been made.
The purpose of the course is to provide basic knowledge on the most important principles, methods, tools, systems, standards, etc. behind these two evolving basic technologies. Detailed description of the topic of the course is beyond the scope of this article.
- Introduction to distributed and high-performance computing. Basic terms: distributed computing, HPC, HPCC, network computing, Internet computing, cluster, grid, meta-computing, middleware, etc; milestones of the history, some representative applications
- Classification: Taxonomies, MPP, SMP, CC-NUMA, cluster: dedicated high performance (HP), high availability (HA), CoPs, PoPs, CoWs; distributed, on-demand, high-throughput, collaborative, data-intensive computing
- Basics of communication media and protocols: TCP/IP, Internet2, QoS, ATM, Fast Ethernet, etc.
- Programming models: Message passing, client-server, peer-to-peer, broker computing, code shipping, proxy computing, mobile agents. Toolkit and OO systems
- Higher level communication: Light-weight communication, sockets, standard APIs, active messages
- Storage and file problems: Network RAM, RAID and software RAID. Distributed File systems: NFS, AFS, OSF-DSF, RSF
- Message passing standards: PVM (Parallel Virtual Machine), MPI (Message Passing Interface)
- Object-oriented de facto standards CORBA and DCOM
- Java-based methods: JVM, RMI, Bytecode, Applet and Servlet, JavaBean and JavaSpaces, Jini
- Grid toolkit approach: Globus Hourglass concept, communication, resource and process management, data access, security
- Object-oriented approach: Legion Language support, component wrapping, program support, resource management
- Security: Confidentiality, integrity and availability. Authentication, authori-zation, assurance, auditing, accounting
- Scheduling: Algorithms, policies and techniques, high performance and high throughput schedulers, resource scheduling
- Grid monitoring: Tasks, types, architecture, components.
The course requires a student presentation on a selected topic by each participant. Students are provided by a reading list and copies of slides presented at the lectures in PDF or PS format. The course is aimed at bridging the gap between the distributed and high performance topics in computer science and engineering university education and the current hot research topics and activities of the field.
The course has a strongly applied outlook with numerous case studies and examples and therefore provides a solid basis for Ph.D. students to take part in European and international research projects and programmes.
Ferenc Vajda - SZTAKI
Tel: + 36 1 329-7864
E-mail: email@example.com or firstname.lastname@example.org