|
Academic Year: | 2018/9 | |
Owning Department/School: | Department of Computer Science | |
Credits: | 6 [equivalent to 12 CATS credits] | |
Notional Study Hours: | 120 | |
Level: | Honours (FHEQ level 6) | |
Period: |
| |
Assessment Summary: | CW 25%, EX 75% | |
Assessment Detail: |
| |
Supplementary Assessment: |
| |
Requisites: |
Before taking this module you must take CM20214 OR ( take CM10227 AND take CM10228 ) OR take EE10134
In order to take this unit you must be able to program in C | |
Description: | Aims: To give students the ability to recognise and understand the problems and opportunities afforded by parallel systems; to recognise the differing types of parallelism available and make advised choices between them; and to take advantage of progress in technology as modern computers become ever more parallel. Learning Outcomes: Students will be able to: 1. write and debug simple parallel programs; 2. recognise the issues surrounding concurrent access to data; 3. Describe the various kinds of parallel hardware, parallel programming methodologies and the relationship between them. Skills: IT (T, A). Content: 1. Basics: supercomputers and the consequences of Moore's Law; bandwidth vs latency; speedup, efficiency, scalability; Amdahl's & Gustafson's Laws; Flynn's taxonomy, SPMD; distributed, shared, NUMA and other memory architectures. 2. Shared memory computing: multicore systems (cache coherence and bottlenecks); mutual exclusion and critical regions; low level constructs including POSIX threads and synchronisation methods such as barriers, locks, semaphores, etc.; language-level support including monitors, OpenMP; vector and array (SIMD), HPF, Cn. 3. Distributed computing: clusters, message passing, MPI. Programming using MPI (PBS). 4. Parallel algorithms and data structures. 5. Topics in Parallel Computing: examples might include HPC; MapReduce; distributed file systems; the Grid; GPGPU and OpenCL; instruction level parallelism (SWAR,VLIW). | Before taking this module you must take CM20214 or equivalent. |
Programme availability: |
CM30225 is Optional on the following programmes:Department of Computer Science
|
Notes:
|