concurrent data structure
Recently Published Documents


TOTAL DOCUMENTS

11
(FIVE YEARS 3)

H-INDEX

2
(FIVE YEARS 0)

2021 ◽  
Author(s):  
◽  
Morgan Atkins

<p>In this thesis, we investigate some of the options programmers have when writing a concurrent program. We explore the use of manually created threads, thread-pools, actors, and Software Transactional Memory. We use these techniques to implement case studies of various kinds: a video game, a physical simulation, an image-processing application, and a concurrent data structure. Through-out these case studies, we notice a common thread: concurrency, applied correctly, can improve the performance of a program—but the correct application may not be readily apparent. Concurrency is an important tool in the toolbox of the modern programmer, especially with the rise of multi-core architectures and the increasing prevalence of distributed systems. And like any tool, it is important to understand how and when to use it.</p>


2021 ◽  
Author(s):  
◽  
Morgan Atkins

<p>In this thesis, we investigate some of the options programmers have when writing a concurrent program. We explore the use of manually created threads, thread-pools, actors, and Software Transactional Memory. We use these techniques to implement case studies of various kinds: a video game, a physical simulation, an image-processing application, and a concurrent data structure. Through-out these case studies, we notice a common thread: concurrency, applied correctly, can improve the performance of a program—but the correct application may not be readily apparent. Concurrency is an important tool in the toolbox of the modern programmer, especially with the rise of multi-core architectures and the increasing prevalence of distributed systems. And like any tool, it is important to understand how and when to use it.</p>


2018 ◽  
Vol 61 (12) ◽  
pp. 97-105 ◽  
Author(s):  
Irina Calciu ◽  
Siddhartha Sen ◽  
Mahesh Balakrishnan ◽  
Marcos K. Aguilera

10.29007/n3nk ◽  
2018 ◽  
Author(s):  
Luís Caires ◽  
Carla Ferreira ◽  
António Ravara

Concurrent algorithms classically relied on locks to guarantee the absence of interference when accessing shared resources. The massive use of distributed systems and of new multi-core architectures makes this approach unfeasible, and novel techniques are needed. Lock-Free algorithms have thus gained momentum. We define a core imperative calculus, equipped with concurrency and low level lock-free synchronization primitives, based on the Load-Link/Store-Conditional model. We propose a Hoare-Separation-style system to prove correct lock-free algorithms implemented in this language. Judgements distinguish local from global state, transfering knowledge between the worlds in the rules for loading and copying variables. We present a simple yet illustrative example of a proof for a concurrent data structure.


2017 ◽  
Vol 51 (1) ◽  
pp. 24-32 ◽  
Author(s):  
Irina Calciu ◽  
Siddhartha Sen ◽  
Mahesh Balakrishnan ◽  
Marcos K. Aguilera

Sign in / Sign up

Export Citation Format

Share Document