ACOE401: Parallel Processing (Spring2018)

 
Instructor Course Description Textbooks Assessment Schedule and Notes  
 

     
Instructor:
  Dr. Costas Kyriacou  
  Office: Research Center - Room 111
  Phone: +357 22394394 - ext. 42111
  e-mail: eng.kc@frederick.ac.cy
  Home Page: http://staff.fit.ac.cy/eng.kc/
  Office Hours: Tuesday 14:00 - 14:50, Wednesday 10:50 - 12:40, Thursday 14:00 - 15:50, Friday 09:30 - 10:20

Course Description:
  1. Introduction to Parallel Processing: Historic evolution of parallel processing. Motivation for parallel processing. Parallel processing applications case studies.
  2. Parallel Computer Models and Systems: Classification of parallel computer architectures, SIMD and MIMD systems. Shared address space, message passing and data parallel processing. Networks of Workstations, clusters, SANs, MPP.
  3. Performance Metrics: Workloads and benchmarks, execution time, throughput, speedup and efficiency. Latency tolerance techniques, load balancing and data locality issues.
  4. Interconnection Networks: Communication performance, latency and bandwidth. Interconnection organization, links, switches and interconnection topologies. Switch design, routing and flow control. High speed LANs.
  5. Shared Memory Multiprocessors: The cache coherence problem, snoop-based and directory based cache coherence. Memory consistency and replication. Synchronization mechanisms, mutual exclusion, event and global synchronization.
  6. Microarchitecture Parallelism : Levels of parallelism, DLP, ILP, TLP. The temperature and power wall problem, clock skewing and soft errors. Single-chip parallel processing architectures such as multithreaded processors, CMP and multi-core processors, and tile architectures . Networks-on-Chip, Heterogeneous architectures. Threaeded Dataflow and new paradigms.
  7. Parallel Programming: The parallelization process, decomposition, assignment, orchestration and load balancing. Message passing programming using MPI, basic instructions, point to point communication, collective communication and barrier Synchronization. Shared memory programming using OpenMP, parallel regions, worksharing, data environment, and synchronization.

TextBooks:
  • M. Quinn, "Parallel Programming in C with MPI and OpenMP", McGraw Hill, 2004
  • D. Culler, P. Singh, A. Gupta, Parallel Computer Architecture: A Hardware Software Approach, Morgan Kufmann, 1999

Assessment:
   
 
  • Mid-term Exam: 25%
 
  • Class Project: 10%
 
  • Programming Labs: 15%
 
  • Final Exam: 50%

Schedule and Notes:
   
 
  1. Monday: 14:00 - 15:50 (Main Building - Room 12)
  2. Wednesday: 09:30 - 11:40 (Main Building - Room 12)

 

Week Date Topic Notes Programming Lab / Assessment
1
12/02 - 16/02/2018
Introduction to Parallel Processing Introduction 
2
19/02 - 23/02/2018
Shared Memory MP - Synchronization - Memory Consistency
ShMemMP
3
26/02 - 02/03/2018
Tutorial(SMP)  
4
05/03 - 09/03/2018
Cache Coherence - Snoopy Protocols - Directory Protocols    CacheCoherence   
5
12/03 - 16/03/2018
Tutorial(CC)
6
19/03 - 23/03/2018
Shared Memory Programming (OpenMP)  OpenMP_Notes  Worksheet 1
7
26/03 - 30/04/2018
Tutorial(OMP) Worksheet 2
-- 02/04 - 13/04/2018
Easter Break
8
16/04 - 20/04/2018
Message Passing Programming (MPI) MPI_Notes ..    Worksheet 3
9
23/04 - 27/04/2018
  Test(23/04/18)
10
30/04- 04/05/2018
Tutorial(MPI)  
11
07/05 - 11/05/2018
TLP and Chip Multiprocessors CMP_Tiles  
12
14/05 - 18/05/2018
 
13 21/05 - 25/05/2018 Threaded Dataflow and New Paradigms ThreadedDF
14 - 15
28/05 - 08/06/2018
Final Exams    
Home