ACOE401: Parallel Processing (Spring2017)

 
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 (Limassol Campus), 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 Exams: 30%
 
  • Programming Labs: 20%
 
  • Final Exam: 50%

Schedule and Notes:
   
 
  1. Monday: 11:50 - 13:40 (Main Building - Room 12)
  2. Thursday: 10:50 - 12:40 (Main Building - Room 12)

 

Week Date Topic Notes Programming Lab / Assessment
1
06/02 - 10/02/2017
Introduction to Parallel Processing Introduction 
2
13/02 - 17/02/2017
Shared Memory MP - Synchronization - Memory Consistency
ShMemMP
3
20/02 - 24/02/2017
Tutorial(SMP)  
4
27/02 - 03/03/2017
Cache Coherence - Snoopy Protocols - Directory Protocols    CacheCoherence   
5
06/03 - 10/03/2017
Tutorial(CC)
6
13/03 - 17/03/2017
Shared Memory Programming (OpenMP)  OpenMP_Notes .   
7
20/03 - 24/03/2017
Test1 (20/03/17)    
8
27/03 - 31/04/2017
Shared Memory Programming (OpenMP) .Tutorial(OMP) Worksheet 1
9
03/04 - 07/04/2017
  Worksheet 2
--
10/04 - 21/04/2017
Easter Break
10 24/04 - 28/04/2017 Message Passing Programming (MPI) MPI_Notes ..  Worksheet 3
11
01/05- 05/05/2017
Tutorial(MPI)   
12
08/05 - 12/05/2017
Performance Issues and Metrics Performance  
13
15/05 - 19/05/2017
Tutorial Performance
14 - 15
22/05 - 09/06/2017
Final Exams    
Home