THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2011/2012

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Parallel Programming Languages and Systems (Level 10) (INFR10015)

Course Outline
School School of Informatics College College of Science and Engineering
Course type Standard Availability Available to all students
Credit level (Normal year taken) SCQF Level 10 (Year 4 Undergraduate) Credits 10
Home subject area Informatics Other subject area None
Course website http://www.inf.ed.ac.uk/teaching/courses/ppls Taught in Gaelic? No
Course description The module familiarizes students with the issues involved in designing, implementing and applying parallel programming systems. Initial motivation will be provided by consideration of a number of typical high performance applications and parallel architectures. This will highlight the role of parallel software systems as a means of bridging the gap between these and allow abstraction of the issues which must be addressed by any such system (partitioning, communication, agglomeration, scheduling). It will explore the ways in which these challenges have been addressed by a range of systems, including both de facto standards and more adventurous research projects.
Entry Requirements
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Parallel Programming Languages and Systems (Level 11) (INFR11023)
Other requirements Successful completion of Year 3 of an Informatics Single or Combined Honours Degree, or equivalent by permission of the School. Students must also be competent programmers in C, C++ or Java and have an appreciation of the connection between log_2 and 2^.
Additional Costs None
Information for Visiting Students
Pre-requisites None
Displayed in Visiting Students Prospectus? Yes
Course Delivery Information
Delivery period: 2011/12 Semester 2, Available to all students (SV1) WebCT enabled:  No Quota:  None
Location Activity Description Weeks Monday Tuesday Wednesday Thursday Friday
CentralLecture1-11 09:00 - 09:50
CentralLecture1-11 09:00 - 09:50
First Class First class information not currently available
Exam Information
Exam Diet Paper Name Hours:Minutes
Main Exam Diet S2 (April/May)2:00
Summary of Intended Learning Outcomes
1 - Describe generic issues (as discussed in the syllabus) which must be addressed by any parallel programming system.
2 - Explain, given a description of a previously unseen parallel application, where specific instances of the generic issues will arise.
3 - Explain, in considerable detail, the ways in which the generic issues are addressed by the MPI and Pthreads programming models and their supporting infrastructure.
4 - Apply their practical experience with MPI and Pthreads to write clean, adaptable and scalable parallel programs for simple applications.
5 - Compare the approaches proposed by a range of more speculative programming models.
Assessment Information
Written Examination 80
Assessed Assignments 20
Oral Presentations 0

Assessment will be by a combination of
* short programming exercises, designed to familiarize students with the practicalities of parallel programming
* pencil-and-paper exercises

If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
Special Arrangements
None
Additional Information
Academic description Not entered
Syllabus * Introduction. Conceptual and architectural models of parallelism. Parallel algorithmic paradigms and simple parallel algorithms.Iterative, recursive pipeline and bag-of-task parallelism.
* Generic issues in shared variable programming. Mutual exclusion, condition synchronization. Locks, barriers semaphores and monitors, use and implementation.
* Realisation in Pthreads and Java.
* Issues in message passing programming. Channels and synchronization models.
* Realisation in MPI: communicators, simple and collective operations
* Selected case studies highlighting alternative approaches, for example,
o Associative models. Linda, tuple space and related primitives.
o Shared Virtual Memory with Treadmarks.

Relevant QAA Computing Curriculum Sections: Concurrency and Parallelism
Transferable skills Not entered
Reading list * G.R. Andrews, Foundations of Multithreaded, Parallel and Distributed Programming, 2000.
* B. Wilkinson, M.Allen, 'Parallel Programming, Techniques and Applications', 1999.
* I Foster, 'Designing and Building Parallel Programs', 1995.
* M.J.Quinn, 'Parallel Programming in C with MPI and OpenMP', 2004.
* Selected research papers.
Study Abroad Not entered
Study Pattern Lectures 20
Tutorials 0
Timetabled Laboratories 0
Non-timetabled assessed assignments 20
Private Study/Other 60
Total 100
Keywords Not entered
Contacts
Course organiser Dr Amos Storkey
Tel: (0131 6)51 1208
Email: A.Storkey@ed.ac.uk
Course secretary Miss Kate Weston
Tel: (0131 6)50 2701
Email: Kate.Weston@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Timetab
Prospectuses
Important Information
 
copyright 2011 The University of Edinburgh - 3 April 2011 11:20 am