Tentative Syllabus
I've never taught this course before -- in fact as far as I know, no one has
ever taught a project-intensive Grid computing course before -- so it will be
designed pretty much according to my whim and fancy. Below is the syllabus
I imagine at the outset, but I will be modifying my plans as we progress.
Grid computing is a new and very active research area. The course structure
will, no doubt, reflect the uncertainty concomitant with this stage in the
development of the entire field.
In what follows, the time values (expressed in weeks)
indicate total time rather than a chronological order.
Introduction to Distributed and Parallel Systems (2 weeks)
- review of threads and pthread programming
- review of socket programming and networking
- "performance" programming tips
- data parallel application design, MPI, and MPICH
- client-server application design
Grid Computing Infrastructures (3 weeks)
- Globus
- Legion
- NetSolve, NINF
- Nimrod, APST, NEOS
- Condor
- NWS
Applied Statistics and What You Can Know Certainly About Uncertainty (1
week)
- probability versus statistics
- sample size and statistical significance
- confidence intervals
- correlation and autocorrelation
- time series analysis
Scheduling (2 weeks)
- static data decomposition
- self-scheduling, work-stealing, and master/slave
- data dependence and dataflow
- using dynamically generated scheduling parameters
- time-balancing
- rate-based work-flow
- hybrid techniques
Resource Federation, Allocation, and Computational Economies (2 weeks)
- security mechanisms
- registration and query
- resource brokering
- accounting, auctions, and computational exchanges