Grid Computing M (2006-2007)
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 and Objectives
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
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
Prerequisites
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.
Timetable
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 detailed
content listed here is indicative of the likely course content rather
than being an exact prescription.
- 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.
Recommended Reading
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.
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.
Assessment
70% examination (focussing on the lectured material), 30% coursework
(focussing on the practical activities and tutorial material).
Lecture Slides
Tutorials
Coursework
Past exam papers