This paper covers advanced parallel programming for large-scale parallelism. A variety of programming techniques will be covered, with application to cluster computers, GPU computing, many-core computing. This paper will be taught using a mixture of classroom and online delivery modes. Weeks 1, 4, 6 and 10 will involve assignment and online work, while the other weeks will have lectures in S1.01 on Mon 1pm and Tue 1pm. Every week there will be a lab session in R Block on Tue 2-4pm.
Students will be able to write programs that manage thousands of threads, using several different styles of parallelism.
COMP203 Programming with Data Structures and
COMP204 Object-Oriented Program Design, or
equivalent Java and JUnit experience
COMP553 Extremely Parallel Programming
COMP453 Moodle Page
Official Timetable Information
Twelve hours per week, for 12.5 weeks = 150 hours.
Internal assessment/final examination ratio 1:0
Topics 2-5 will each have the following assessment items:
except that the second online quiz for Topic 5 will be replaced by the Lab Exercise in Topic 1 (4%). So Topic 1 will be 4%, Topics 2-4 will be 25% each, and Topic 5 will be 21%. All assessment items will be submitted via Moodle.
- Week 1: online quiz (4%).
- Week 2: lab exercise (4%).
- Week 3: online quiz (4%).
- Weeks 3-4: module assignment (13%).
The assignment for each topic is due one week after the end of the topic.
- Topic 2 Assignment due: 11:55pm Fri Week 5 (4 April 2014).
- Topic 3 Assignment due: 11:55pm Fri Week 8 (9 May 2014).
- Topic 4 Assignment due: 11:55pm Fri Week 11 (30 May 2014).
- Topic 5 Assignment due: 11:55pm Fri Study Week (13 June 2014).
Class attendance is expected. The course notes provided are not comprehensive, additional material will be covered in class. You are responsible for all material covered in class.
This paper will cover the following topics:
- Week 1: Warmup Lab Exercise: Java Performance Problems
- Weeks 2-4: Map-Reduce Programming (Hadoop)
- Weeks 5-7: GPU Programming (JavaCL)
- Weeks 8-10: Massively Parallel Java (Threadpools)
- Weeks 11-12: Implicit Parallel Programming (JStar)
Follow this link for Academic Integrity information and this link for detailed explanation of How to prevent plagiarism in Computer Science assessment items.
Follow this link for information on Performance Impairment.
Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.
Application for Extension
Follow this link for information on applying for an Extension.
Review of Grade
Follow this link for information on applying for a Review of Grade.
Your attention is drawn to the following regulations and policies, which are published in the University Calendar: