Department of Computing Science
CMPUT 399: Computational Science and Clusters
January 2008

B2 - T,Th 9:30 to 10:50 AM, Room GSB 711 Paul Lu, Associate Professor, Athabasca Hall 3-40, 492-7760
E-mail: paullu <at>
Except for emergencies, please use email instead of phone calls.
Office Contact Times: Tuesday, Thursday 4 to 4:30 PM
Instructor's Home Page:

Instructor's Home Page:
Course's Home Page (i.e., this document):

Class on Thursday, March 27 is in Athabasca Hall 3-32, **10** AM to 11 AM.

Last class is Thursday, April 3. No class on April 8 and 10.


Papers, notes, other downloads

Contact professor for password.


This course is an applied systems course on the configuration and use of clusters (i.e., networked collections of compute servers) for computational science. As a platform, clusters are becoming more important in computing science, computational science, and industry. For example, clusters are used to handle the large amounts of data in bioinformatics, to simulate ocean currents and climate, and to calculate risks associated with complicated financial transactions.

The course will cover the hardware, software, and conceptual principles of cluster computing.


Any 200-level CMPUT course, or permission of the instructor.

Course Outline

Some of the topics to be covered (not necessarily in the following order) include:

  1. Basics of parallelism and Amdahl's Law
  2. Cluster hardware architecture
    1. commodity processors, multi-core
    2. interconnection networks
  3. Basics of systems administration for clusters
    1. distributions: OSCAR, NPACI ROCKS, etc.
    2. batch schedulers
    3. file system issues
    4. power issues
  4. Performance metrics
    1. speed-up
    2. response time
    3. throughput
  5. Benchmarks
    1. HPCC
  6. Scientific computation
    1. chemistry: GAMESS
    2. EAS: POP
    3. simulation
    4. data processing
    5. visualization

Marking Scheme

Assignment 1 12.5% Due Tuesday, January 29, in class.
Assignment 2 12.5% Due Tuesday, February 26, in class.
Added Jan. 31/08: Now on-line!!
Midterm exam 25% Tuesday, February 12, in class.
Short answers. Based on research papers and class discussion.
Added Jan. 31/08: 3 to 4 questions. 50 minutes. 100 marks. Open book.
Here is an example midterm question.
Project with report 50% Extended to Friday, April 11.
Due Tuesday, April 1, in class.
Student's choice, with guidance of instructor.
Added Feb. 1/08: Now on-line!!

Readings and Textbooks

  1. Various research papers and resources, provided by the instructor (THE ONLY REQUIRED READINGS).

  2. B. Wilkinson and M. Allen, Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, 2/e, Prentice Hall, 2005. (OPTIONAL).

    Web site for textbook.
  3. W.R. Stevens and S.A. Rago, Advanced Programming in the Unix Environment, 2nd Edition Addison Wesley, 2005. (OPTIONAL). Alternatively any equivalent book

Useful Resources

  1. Conferences:
    1. ACM SIGPLAN Principles and Practice of Parallel Programming (PPOPP)
    2. International Parallel and Distributed Processing Symposium (IPDPS)
    3. Supercomputing (SC)
    4. International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA)
    5. International Conference on High Performance Computing (HiPC)
  2. Journals:
    1. U of Alberta Library's Electronic Journals in Computing Science
    2. IEEE Transactions on Parallel and Distributed Computing
    3. Journal of Parallel and Distributed Computing
    4. Concurrency: Practice and Experience
    5. Parallel Computing