Skip to main content
Department of Information Technology

Concurrent Data Structures Reading Course 2013

The purpose of this course is to:

  • Familiarize with the state of the art works
  • Present interesting proposals and concepts
  • Discuss ideas and propose enhancements of current works
  • Adapt the ideas to each student's work
Course organization

Paper selection

  • We propose a set of initial papers.
  • Each student selects 1-2 additional papers and extracts a few ideas, briefly underlying the main characteristics. These articles are proposed and discussed during the meeting and added to the set of papers from where each student can select one to present.

Before each meeting

The presenters post a short description of the paper and 1-2 questions regarding the most interesting aspects in the studied articles, minimum 3 days before the meeting.

Each student has to answer the questions on the course page. The answers are available to all the participants and are meant to be the starting point of the discussions during the next meeting.

Each student finds a new article, extracts the main ideas and proposes it during the meeting.


Meetings are divided in three parts:

  • 1-2 presentation(s) / meeting given in round-robin fashion by the students. The student is invited to conclude with a few ideas about how the work can be improved or adapted for other purposes (mainly for his/her own work). These ideas are meant to open further discussions.
  • Open discussions regarding the pros and cons of the studied CDS; what can be useful, what can be improved and how. What are the target characteristics of the CDS: concurrency, scalability, performance, fairness for threads, no starvation, no dead-locks. Discuss by comparison with previous presentations.
  • Suggest a few interesting papers and select 1-2 papers to be studied and presented during the next meetings. Each student is invited to suggest one paper in each meeting.

Students are encouraged to test the studied CDS or borrow ideas and implement them in the context of his/her work.


Vote in that Poll.

18-04-2013, 13:15-16:00 2414b Fred Introductory lectures
23-04-2013, 13:15-16:00 1406 Kjell NUMA-Aware Reader-Writer Locks
23-04-2013, 13:15-16:00 1406 Stavros Fast concurrent queues for x86 processors
29-04-2013, 13:15-16:00 2414b Pan A Methodology for Implementing Highly Concurrent Data Structures
15-05-2013, 13:15-15:00 2414b Afshin Scalable Producer Consumer Pools based on Elimination-Diffracting Trees
23-05-2013, 13:15-16:00 2414b Martin Dynamic circular work-stealing deque
29-05-2013, 13:15-16:00 2414b Magnus A Practical Concurrent Binary Search Tree
29-05-2013, 13:15-16:00 2414b David Split-Ordered Lists: Lock-Free Extensible Hash Tables
04-06-2013, 13:15-16:00 2414b Jonatan Priority Queues
04-06-2013, 13:15-16:00 2414b Andreas vLock: Lock Virtualization Mechanism for Exploiting Fine-grained Parallelism in Graph Traversal Algorithms
19-06-2013, 13:15-16:00 2414b Sofia Non-blocking Concurrent Data Structures with Condition Synchronization
19-06-2013, 13:15-16:00 2414b Yunyun Runtime Refinement Checking of Concurrent Data Structures
26-06-2013, 13:15-16:00 2414b Othmane Quantitative Relaxation of Concurrent Data Structures
26-06-2013, 13:15-16:00 2414b Pavol Reduced-Bandwidth Multithreaded Algorithms for Sparse Matrix-Vector Multiplication

Updated  2014-01-15 15:48:46 by Alexandra Jimborean.