CS527 Parallel Computer Architecture

Department of Computer Science

University of Crete

___________________________________________________________________________________________________________________________________

Course Type: 

Link to online course catalogue.

Semester:

Fall 2022

Instructors:

Angelos Bilas

___________________________________________________________________________________________________________________________________


Course Info
Syllabus Assignments

___________________________________________________________________________________________________________________________________

Syllabus

___________________________________________________________________________________________________________________________________


Week

Date (2021-22) 

Topic

Tasks

1a

Mon 26-Sep

Logistics & Introduction

  1. Course topics and logistics 
  2. Assignment 1 
  3. Lecture: Historic technology trends (Chapters: 1) - slides in ~hy527/slides/Ch1-PC-new.ppt
  4. Optional reading: G. MOORE, "Cramming More Components onto Integrated Circuits", Electronics, p114-117, April 1965. 

1b

Wed, 28-Sep

Technology Trends

  1. Assignment 1 intro 
    • What are threads? 
    • User vs. kernel threads 
  2. Lecture: Technology trends today (HiPEAC Vision) - slides in ~hy527/slides/HiPEAC_ORAP_150402-final+modified.pdf 
  3. Lecture: Technology trends today - Implications of data growth - slides in ~hy527/slides/coping_with_data_growth_sep15.pdf 

2a

Mon, 03-Oct

Understanding Concurrency

  1. Assignment 1 data structures, ADTs, and mechanisms 
  2. Paper discussion: 
  3. Optional reading: Evolution of the x86 context switch in Linux 

2b

Wed, 05-Oct

Convergence of Parallel Architectures

  1. Assignment 1 questions 
  2. Lecture: Convergence of parallel architectures (Chapters: 1) - slides in ~hy527/slides/Ch1-PC-new.ppt
  3. Optional reading: G. M. AMDAHL, "Validity of the Single-Processor Approach to Achieving Large Scale Computing Capabilities", AFIPS Conference Proceedings, (April 1967), 483-485. 

3a

Mon, 10-Oct

Convergence of Parallel Architectures

  1. Lecture: Parallel Programming Examples (Chapters: 2,3) - slides in ~hy527/slides/Ch2-PC-new.ppt

3b

Wed, 12-Oct

Parallel Programming

  1. Paper discussion: J. B. Dennis and D. P. Misunas, "A Preliminary Architecture for a Basic Data-Flow Processor," Proc. 2nd Annual Symposium on Computer Architecture, Computer Architecture News, 3, 4 (December 1974), 126-132, ACM.
  2. If interested, recent further reading: Tony Nowatzki, Vinay Gangadhar, and Karthikeyan Sankaralingam, "Heterogeneous Von Neumann/Dataflow Microprocessors." Communications of the ACM, June 2019, Vol. 62 No. 6, Pages 83-91, 10.1145/3323923

4a

Mon, 17-Oct

Parallel Programming

  1. Assignment 1 due 
  2. Assignment 2 intro 
  3. Lecture: Parallel Programming Examples (Chapters: 2,3) - slides in ~hy527/slides/Ch2-PC-new.ppt

4b

Wed, 19-Oct

Workload-driven Performance Evaluation

  1. Paper discussion: The SPLASH2 Programs: Characterization and Methodological Considerations. Steven Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh and Anoop Gupta. In Proceedings of the 21st International Symposium on Computer Architecture, June 1995. 

5a

Mon, 24-Oct

Parallel Programming,

Workload-driven Performance Evaluation

  1. Lecture: Workloadr-driven performance evaluation: Parameter space, metrics, interactions between application and architecture (Chapters: 4) - slides in ~hy527/slides/Ch4-PC-new.ppt

5b

Wed, 26-Oct

Time, Ordering, and Memory Consistency

  1. Paper discussion (cont'd): The SPLASH2 Programs: Characterization and Methodological Considerations Steven Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh and Anoop Gupta. In Proceedings of the 21st International Symposium on Computer Architecture, June 1995.
  2. Lecture: Ordering issues, program order, sequential order, coherency vs. consistency, memory consistency models, ensuring coherency, ensuring consistency. (Chapters: 5,9)

6a

Mon, 31-Oct

Time, Ordering, and Memory Consistency

  1. Assignment 2 due 
  2. Assignment 3 intro
  3. Paper discussion: Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport. Communications of the ACM, 21(7), pp. 558-565, July 1978.
  4. Optional reading: Why logical clocks are easy.  Carlos Baquero and Nuno Preguia. Communications of the ACM. Volume 59 Issue 4, April 2016. Pages 43-47. 

6b

Wed 02-Nov 

Memory consistency models

  1. Lecture: Memory consistency models: sequential consistency, weak consistency, release consistency, entry consistency. (Chapters: 5,9) 
  2. Optional reading: How to Make a Multiprocessor That Correctly Executes Multiprocess Programs. Leslie Lamport. IEEE Trans. on Computers, Vol. C-28, Number 9, pp. 690-691, September 1979.

7a

Mon, 07-Nov

Memory consistency models

  1. Paper discussion: Memory Consistency Models. D. Mosberger. ACM Operating Systems Review, 27(1), pp. 18-26, January 1993. 
  2. Further reading: (book) A Primer on Memory Consistency and Cache Coherence. Daniel J. Sorin, Mark D. Hill, and David A. Wood.   1st Edition. Morgan & Claypool Publishers ©2011. ISBN:1608455645 9781608455645. [online pdf for preliminary draft]

7b

Wed, 09-Nov

Snoop-Based Shared Memory Multiprocessors

  1. Start thinking about your project proposal
  2. Lecture: Providing consistency in bus-based shared memory multiprocessors. Cache coherency/memory consistency protocols, cache misses categorization. (Chapters: 6) 

8a

Mon, 14-Nov

Distributed Shared Memory Multiprocessors

  1. Assignment 3 due 
  2. Paper discussion: Correct Memory Operation of Cache-Based Multiprocessors. C. Scheurich and M. Dubois. Proceedings of the 14th International Symposium on Computer Architecture, June 1987, pp. 234:243.
  3. Optional reading: J. E. THORNTON "Parallel Operation in the Control Data 6600," Fall Joint Computers Conference, vol. 26, pp. 33-40, 1961.

8b

Wed, 16-Nov

Distributed Shared Memory Multiprocessors

  1. Lecture: Scalable shared memory machines, distributed shared memory, directory protocols, CC-NUMA, COMA, synchronization issues. (Chapters: 7, 8, 9) 

9a 

Mon, 21-Nov

Distributed Shared Memory Multiprocessors

  1. Project proposals due. After ack from instructor, start working on your projects.
  2. Paper Discussion: An Evaluation of Directory Schemes for Cache Coherence. A. Agarwal, R. Simoni, J. Hennessy, M. Horowitz. ISCA'88.

9b

Wed, 23-Nov

Software Distributed Shared Memory

  1. Lecture: Software shared memory. Shared Virtual Memory, Instrumentation-based software DSM, Implementation issues. (Chapters: 9) 
  2. Paper discussion: Fine-grain Access Control for Distributed Shared Memory, Ioannis Schoinas, Babak Falsafi, Alvin R. Lebeck, Steven K. Reinhardt, James R. Larus, David A. Wood (The Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS VI), Oct. 1994).

10a

Mon, 28-Nov 

Message Passing Multiprocessors

  1. Lecture: Node-to-network interfaces in message passing systems, programming considerations. Increasing message throughput. (Chapters: 10, 7.7). Slides: ~hy527/slides/2.nic_throughput.pptx

10b

Wed, 30-Nov

Message Passing Multiprocessors 

  1. Paper Discussion: Introduction to the Cell multiprocessor. J. A. Kahle, M. N. Day, H. P. Hofstee, C. R. Johns, T. R. Maeurer, and D. Shippy. IBM Journal of Research and Development. Volume 49, Number 4/5, 2005.

11a

Mon, 5-Dec

Message Passing Multiprocessors 

  1. Lecture: Node-to-network interfaces in message passing systems, programming considerations. Reducing CPU overhead. (Chapters: 10, 7.7). Slides: ~hy527/slides/3.nic_overhead.pptx 

11b

Wed 7-Dec

Message Passing Multiprocessors 

  1. Paper discussion: Software Overhead in Message Passing Layers: Where Does the Time Go? Vijay Karamcheti and Andrew Chien. International Conference on Architectural Support for Programming Languages and Operating Systems. October 1994. 

12a

Mon, 12-Dec

Message Passing Multiprocessors 

  1. Lecture: Node-to-network interfaces in message passing systems, programming considerations. Reducing message latency. (Chapters: 10, 7.7). Slides: ~hy527/slides/1.nic_latency.pptx 

12b


Wed, 14-Dec

Communication in Anton

  1. Paper discussion: Dror, R.O.; Grossman, J. P.; Mackenzie, K.M.; Towles, B.; Chow, E.; Salmon, J.K.; Young, C.; Bank, J.A.; Batson, B.; Deneroff, M.M.; Kuskin, J.S.; Larson, R.H.; Moraes, M.A.; Shaw, D.E. Overcoming Communication Latency Barriers in Massively Parallel Scientific Computation. Micro, IEEE , vol.31, no.3, pp.8,19, May-June 2011.

13a

Mon, 19-Dec

Parallel I/O (in Anton)

  1. Lecture: Why is parallel I/O important - main problems.
  2. Paper Discussion: Accelerating parallel analysis of scientific simulation data via Zazen. Tiankai Tu, Charles A. Rendleman, Patrick J. Miller, Federico Sacerdoti, Ron O. Dror, and David E. Shaw. Usenix FAST'10.

13b

Wed, 21-Dec

Project Presentations

  1. Projects due: Presentations, 15-20 mins/project. 
  2. End of HY527

___________________________________________________________________________________________________________________________________

(c) Copyright University of Crete, Greece, Last Modified: 31-Aug-2022