CSE 539S, Spring 2015
Concepts in Multicore Computing

Welcome to the course homepage of CSE 539S!

Class meets Tuesday and Thursday, 1:00 to 2:30 PM in Lopata Hall 229.


I-Ting Angelina Lee
Office Hours:   Wednesday 5:30 to 6:30 PM, Bryan 506


All enrolled students will be automatically signed up for the Piazza site. Please register as soon as you get your invitation. All questions (that are not of a personal nature) should be posted to Piazza. All questions emailed directly to the instructor will receive the response "Please repost to Piazza," where both the question and the answer will reach its full audience. It is in everyone's interest that we maintain this policy; this is absolutely the most effective way to communicate.

The Piazza page for this class is located at https://piazza.com/wustl/spring2015/cse539s/home


CSE 241 and either CSE 332S or CSE 361S are strongly recommended. In particular, if you don't know the basics of C/C++, you should be confident that you can pick it up on your own.


There is no textbook for the course, so you should be sure to come to every class and take notes. We may or may not provide course notes depending on the lecture.


Please look at the course calendar for the homework and project schedules. These may change as the class progresses, so check back frequently.

You have a total of 4 late days per semester at no grade penalty. At most two days late may be used per assignment. If you have used up these four late days, your score will be reduced by 25% off of the total (not yours) score per late day.


3 projects45%
1 homework10%
final project20%
class participation  25%

Note that class participation is a quarter of your grade. This class intends to be an interactive class. I expect everyone to sign up for doing scribe notes, so part of the participation grade is based on that. Another part is to participate in discussions during class.

Disability Resources

Students with disabilities or suspected disabilities are strongly encouraged to both bring any additional considerations to the attention of the instructors and make full use of the University's Disability Resource Center (http://disability.wustl.edu).

Academic Integrity and Collaboration Policy

The academic integrity policy is articulated in the collaboration handout. You are responsible for reading it and following it to the letter. Please contact the instructors or the TAs if you have any questions, preferably before the violation occurs.

Scribe Notes

Every student should sign up to be a scribe for one to two lectures (more or less depending on the class size), and every student should also sign up to be an editor for one to two lectures. When you are the scribe for the lecture, you are responsible for taking down good notes and type it up using LaTex. When you are the editor for the lecture, you should also take good notes and coordinate with the scribe to edit over his/her notes once it's typed up.

In general, the scribe and the editor should aim to get the notes out within a week of the assigned lecture.

Finally, you can use this LaTex package for scribe. This is the Makefile, BiBTex file, and LaTex files used to scribe lecture 2. You should cite any papers mentioned during class, but you don't have to use the BibTex file if the lecture doesn't mention anything that needs to be cited. You also don't have to use the macro or the Makefile, but please keep the main LaTex file for the lecture in a similar format.


There is one written homework in the class, due on April 23rd in class.
More questions will be added to the homework file throughout the rest of the term until April 16th.


Note: some of the scribe notes may be in complete or contains minor errors.
When in doubt, check with reference materials or with me.

Week     Date     Topic ScribeEditor
0101/13 Overview of multicore programming ----
0101/15 The dag computation model, work and span Angelina Lee--
Projected slides
0201/20 Class cancelled ----
0201/22 Analysis of parallel algorithms Angelina Lee--
0301/27 Cilk's work-stealing scheduler Mark HeimannAngelina Lee
Project 1 out
0301/29 Analysis of randomized work stealing I (space) Tong MuMark Heimann
0402/03 Analysis of randomized work stealing II (time) Adrian McLeodTong Mu
0402/05 Wrap-up WS time analysis Justin PeabodyAdrian McLeod
Implementation of Cilk-5 (compiler)
0502/10 No class (instructor out of town) ----
0502/12 Implementation of Cilk-5 Chong LiJing Li
(the THE protocol, cactus stack, and lack of SP-reciprocity)
Project 1 due
0602/17 Parallel storage allocator Jing LeChong Li
0602/19 Different kinds of races and race detections in Cilk Elliott BattleWill Ralls
02/20 Project 2 out
0702/24 Determinancy race detection in Cilk Jonathan B.
0702/26 Parallel race detection in Cilk Eileen DuffnerElliott Battle
Projected slides on race detection (last two lectures)
0803/03 Implementation of reducer hyperobjects Stephen BerulWenlin
Projected slides on reducers
0803/05 Memory coherence protocol and memory consistency YujieShane Carr
Projected slides on snooping protocol
and on directory protocol (by Kayvon Fatahalian at CMU)
0903/10 Happy spring break! ----
0903/12 Happy spring break! ----
Project 2 due ----
1003/17 Mutual Exclusion Son DinhStephen Berul
Projected slides on mutual exclusion ----
Project 3 out ----
1003/19 Linearizability and concurrent data structure Shane CarrYujie
Projected slides on SC and linearizability ----
Info on project 3 and final project ----
1103/24 Implementation of scalable locks WenlinSon Dinh
Projected slides on scalable locks ----
1103/26 Concurrent Lists Soysal Degirmenci
Projected slides on concurrent lists ----
1203/31 Hardware memory model ----
Projected slides on Hardware Memory Model ----
1204/02 High-level language memory model ----
Projected slides on language memory model ----
1304/07 Guest Lecture: Supercomputing in a box by Roger Chamberlain ----
1304/09 No class (Instructor out of town)
1404/14 Transactional memory Will Ralls--
Projected slides on transactional memory ----
1404/16 No class (Instructor out of town)
1504/21 Final project presentations
1504/23 Final project presentations