Data structures in the multicore age

Nir Shavit
2011 Communications of the ACM  
S S O R S aR e about to revolutionize the way we design and use data structures." You might be skeptical of this statement; after all, are multicore processors not a new class of multiprocessor machines running parallel programs, just as we have been doing for more than a quarter of a century? The answer is no. The revolution is partly due to changes multicore processors introduce to parallel architectures; but mostly it is the result of the change in the applications that are being
more » ... : multicore processors are bringing parallelism to mainstream computing. Before the introduction of multicore processors, parallelism was largely dedicated to computational key insights We are experiencing a fundamental shift in the properties required of concurrent data structures and of the algorithms at the core of their implementation. the data structures of our childhoodstacks, queues, and heaps-will soon disappear, replaced by looser "unordered" concurrent constructs based on distribution and randomization. future software engineers will need to learn how to program using these novel structures, understanding their performance benefits and their fairness limitations.
doi:10.1145/1897852.1897873 fatcat:kahorrpu6zhnnmualspsoydm2q