University of Cambridge > Talks.cam > Microsoft Research Cambridge, public talks > Concurrent Algorithms for Emerging Hardware Platforms

Concurrent Algorithms for Emerging Hardware Platforms

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

This event may be recorded and made available internally or externally via http://research.microsoft.com. Microsoft will own the copyright of any recordings made. If you do not wish to have your image/voice recorded please consider this before attending

Computer architecture has recently seen an explosion of innovation that has enabled more parallel execution. The number of computing cores used in every area of the software ecosystem continues to increase, and parallelism within programs is now ubiquitous. Ideally, performance would scale linearly with the number of cores, but in practice that is rarely the case. Communication and synchronization between cores running the same application are often necessary, but usually come at a high cost. This results in negative scalability and a significant drop in performance. In this context, parallel software needs to provide more simplified programming patterns and tools that enable a higher potential for parallelism without increasing the burden on the programmer. In this talk, I will discuss new techniques to simplify writing efficient parallel code that leverage novel architectural features from many current systems. First, I will describe programming abstractions, such as delegation, elimination, combining and transactional memory, which improve scalability and performance of concurrent programs. I will then present a new concurrent priority queue design that is based on these abstractions and is significantly faster than prior implementations. Finally, I will describe Invyswell, a new hybrid transactional memory that combines Intel’s Restricted Transactional Memory capability with a software transactional memory to guarantee efficient execution and forward progress of transactional programs. Developers can use all of these abstractions as building blocks to create efficient code that is able to scale on very diverse platforms, without requiring specialized knowledge of parallel programming.

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2019 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity