Grid Computing (M)

This course is no longer offered. The following information is retained for historical interest only.

Rationale

Increasing interest from both the scientific and the more general large-scale information processing communities motivates the study of large-scale distributed systems. This module provides both a practically-oriented introduction to current technologies, focussing on Grid toolkits, and a principled overview of the deep underlying issues that arise in supporting large-scale multi-organisation computation.

Aims

To provide the participants with:

  • Detailed understanding of the key problems and issues that arise when attempting large-scale distributed computation, both within organisations and across organisational boundaries
  • Insight into the architectural implications of Grid-scale computation
  • Awareness of current research issues in:
    • Grid architecture and infrastructure
    • Scalable distributed computation
    • Integration of applications across autonomous organisations
  • Practical experience of current Grid technologies and the associated standards
  • Skills in utilising current Grid tools and technologies
  • Appreciation of the weaknesses of existing tools and technologies, and potential areas for improvement

Objectives

By the end of this module, participants should be able to:

  • Critically discuss and reason about large-scale distributed system architectures, infrastructures and technologies
  • Articulate research challenges in multi-organisational distributed computing, including Grid computing
  • Design and implement Grid computing applications using Globus or similar toolkits
  • Justify the applicability, or non-applicability, of Grid technologies for a specific application

Module Content

The module consists of 20 lectures and 10 tutorial & laboratory sessions. Additional time will be required for reading, and at least 30 hours of unscheduled practical work will be expected.

The first two weeks of the module will consist of six lectures, providing a review of general distributed systems issues, web services and XML, networking and communications technology, and an introduction to large-scale systems architecture.

In weeks 3 to 10 of the module there will be a weekly tutorial on current Grid-related technologies, along with associated reading and practical work, focussed on system design and implementation using Globus or a similar technology. In parallel with the practical activities, there will be a further 14 lectures covering:

  • systems architectures;
  • scheduling, accounting and resource management;
  • scalability;
  • systems modelling and simulation; and
  • security

in the specific settings of large-scale multi-organisational distributed computing and large-scale cluster computing.

A detailed timetable follows:

Week Session Title
1 Lecture 1 Networking and Communications
Lecture 2 Remote Procedure Calls
Lecture 3 Distributed Systems
2 Lecture 4 Systems Architecture
Lecture 5 Markup languages and XML
Lecture 6 Web Services
3 Lecture 7 Large Scale Systems Architecture (1)
Lecture 8 Large Scale Systems Architecture (2)
Tutorial 1 Introduction to Globus
4 Lecture 9 Security (1)
Lecture 10 Security (2)
Tutorial 2 Developing With Globus
5 Lecture 11 Resource Management (1)
Lecture 12 Resource Management (2)
Tutorial 3 Globus Development
6 Lecture 13 Resource Management (3)
Lecture 14 Resource Management (4)
Tutorial 4 Introduction to Condor
7 Tutorial 5 Permis and SAML
Tutorial 6 Portal Technologies
Tutorial 7 Q & A on Programming Assignment
8 Lecture 15 Scalability and Heterogeneity (1)
Lecture 16 Scalability and Heterogeneity (2)
Lecture 17 Scalability and Heterogeneity (3)
9 Tutorial 8 OGSA-DAI
Lecture 18 Systems Performance Evaluation (1)
Lecture 19 Systems Performance Evaluation (2)
10 Tutorial 9 Example Systems
Lecture 20 Review and Future Directions
Tutorial 10 Assignment Demonstrations

Pre-requisites

Students are expected to have studied operating systems, distributed algorithms and systems, communications and networks, databases, and Internet technologies to the level of detail covered in a computing science or related degree course. This corresponds to some of the material covered in the OS3, NSA3, DAS4, NCT4 and DBIT4 modules of a Glasgow Computing Science degree. The introductory lectures in the module will rapidly revise these essentials, to aid those who have an incomplete background in the pre-requisite topics. Practical work will require the use of Java, and possibly some C programming, in a Unix environment. Students should be familiar with both languages, the engineering principles underpinning non-trivial system construction, the implementation of systems using large code libraries, and software development on a Unix platform.

Credits

This is a 10-credit, level M module, which is an elective component of the Advanced MSc in Computing Science and the MSci in Computing Science. It may also be taken as a fourth year elective by single, combined and joint honours students in Computing Science, Software Engineering, Electronics & Software Engineering and related degrees.

Course Text

There is no set text for this module. Research papers will be distributed as required, and technical manuals and related documentation will be issued as part of the practical activities.

Assessment

70% examination (focussing on the lectured material), 30% coursework (focussing on the practical activities and tutorial material).

The coursework will comprise three small exercises and one large programming assignment. The small exercises will be set during the first three weeks of the module on the following topics:

  • Socket programming in C
  • Java RMI programming
  • Introduction to the Globus toolkit

Students will be awarded a mark of 0 or 1 for each small exercise. The mark assigned for the programming exercise will be multiplied by the marks assigned for each of the small exercises.

Copies of examination papers from previous years are available: 2005, 2006, 2007.