Changes

Jump to: navigation, search

Fall 2019 SPO600 Weekly Schedule

1,377 bytes added, 12:44, 1 November 2019
Evaluation
|-
|8||Oct 28||[[#Week 8 - Class I|Intrinsics and SIMDMemory Ordering / Barriers / Acquire-Release Semantics]]||[[#Week 8 - Class II|Project Hacking]]||[[#Week 8 Deliverables|Blog blog about your project.]]
|-
|-
|10||Nov 11||[[#Week 10 - Class I|Memory Ordering / Barriers / Acquire-Release SemanticsIntrinsics]]||[[#Week 10 - Class II|Project Hacking]]||[[#Week 10 Deliverables|Blog about your project.]]
|-
!Category!!Percentage!!Evaluation Dates
|-
|Communication||align="right"|20%||September (Oct 2 - 5%), October (November 10 - 5%), November (5%), end of course (5%).
|-
|Quizzes||align="right"|10%||May be held during any class, usually at the start of class. A minimum of 5 one-page quizzes will be given. No make-up/retake option is offered if you miss a quiz. Lowest 3 scores will not be counted. Students with Test Centre accommodations may choose to write the quizzes in the class, or alternately write a monthly quiz in the Test Center.
== Week 6 ==
=== Week 6 - Class I ===
* [[Compiler Optimizations]]
* [[Profiling]]
=== Week 6 - Class II ===
* Continue work on the [[SPO600 SIMD Lab|SIMD Lab]] (Lab 5)
== Week 7 ==
=== Week 7 - Class I ===
Building software...
=== Week 7 - Class II ===* [[Fall 2019 SPO600 Project|Project Selection]]
=== Week 7 Deliverables ===
* Catch up on any incomplete labs (and blog about them)
* Blog about your project selection progress
 
 
== Week 8 ==
 
=== Week 8 - Class I ===
 
==== Overview/Review of Processor Operation ====
 
* Fetch-decode-dispatch-execute cycle
* Pipelining
* Branch Prediction
* In-order vs. Out-of-order execution
** Micro-ops
 
==== Memory Basics ====
 
* Organization of Memory
** Process organization
*** Text, data
*** Stack
*** Heap
** System organization
*** Kernel memory in process maps
*** Use of unallocated memory for buffers and cache
* Memory Speeds
* Cache
** Cache lookup
** Cache synchronization and invalidation
** Cache line size
* Prefetch
** Prefetch hinting
 
==== Memory Architecture ====
 
* Virtual Memory and Memory Management Units (MMUs)
** General principles of Virtual Memory and operation of MMUs
** Memory protection
*** Unmapped Regions
*** Write Protection
*** Execute Protection
*** Privilege Levels
** Swapping
** Text sharing
** Demand Loading
** Data sharing
*** Shared memory for Inter-Process Communication
*** Copy-on-Write (CoW)
** Memory mapped files
 
==== Memory Statistics ====
 
* Resident Set Size (RSS) and Virtual Set Size (VSS)
* Total memory consumption per process
* Total system memory consumption
 
==== Software Impact ====
* Alignment checks
* Page boundary crossing
 
=== Week 8 - Class II ===
 
* Project Discussion
 
=== Week 8 Deliverables ===
 
* Blog about your project work
<!--
* Organization of Memory
** System organization
** Process organization
*** Text, data
*** Stack
*** Heap
** System organization
* Memory Speeds
* Cache
* Virtual Memory and Memory Management Units (MMUs)
** General principles of VM Virtual Memory and operation of MMUs
** Memory protection
*** Unmapped Regions
** Swapping
** Text sharing
** Demand Loading
** Data sharing
*** Shared memory for Inter-Process Communication*** Copy-on-Write (CoW)** Demand Loading
** Memory mapped files

Navigation menu