My research has been on the development of concurrent algorithms for shared memory systems that provide guarantees of progress. Research into such algorithms is important to developers implementing applications on mission critical and time sensitive systems. These guarantees of progress provide safety properties and freedom from many hazards, such as dead-lock, live-lock, and thread starvation. In addition to the safety concerns, the fine-grained synchronization used in implementing these algorithms promises to provide scalable performance in massively parallel systems. My research has resulted in the development of wait-free versions of the stack, hash map, ring buffer, vector, and a multi-word compare-and-swap algorithms. Through this...
Algorithms for concurrent data structure have gained attention in recent years as multi-core process...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Exploiting the parallelism in multiprocessor systems is a major challenge in modern computer science...
Multicore programming presents the challenge of synchronizing multiple threads. Traditionally, mutua...
Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress i...
Shared-memory concurrent algorithms are well-known for being difficult to write, ill-adapted to test...
We consider shared memory systems in which asynchronous processes cooperate with each other by commu...
The multi-core revolution has pushed programmers and algorithm designers to build algorithms that le...
The number of cores in future multi-core systems are expected to increase by 100 fold over the next ...
In multiprogrammed systems, synchronization often turns out to be a performance bottleneck and the s...
The number of cores in future multi-core systems are expected to increase by 100 fold over the next ...
The development of non-blocking code is difficult; developers must ensure the progress of an operati...
Abstract In multiprogrammed systems, synchronization often turns out to be a performance bottleneck ...
The progression of multi-core processors has inspired the development of concurrency libraries that ...
In applications such as sharded data processing systems, data flow programming and load sharing appl...
Algorithms for concurrent data structure have gained attention in recent years as multi-core process...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Exploiting the parallelism in multiprocessor systems is a major challenge in modern computer science...
Multicore programming presents the challenge of synchronizing multiple threads. Traditionally, mutua...
Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress i...
Shared-memory concurrent algorithms are well-known for being difficult to write, ill-adapted to test...
We consider shared memory systems in which asynchronous processes cooperate with each other by commu...
The multi-core revolution has pushed programmers and algorithm designers to build algorithms that le...
The number of cores in future multi-core systems are expected to increase by 100 fold over the next ...
In multiprogrammed systems, synchronization often turns out to be a performance bottleneck and the s...
The number of cores in future multi-core systems are expected to increase by 100 fold over the next ...
The development of non-blocking code is difficult; developers must ensure the progress of an operati...
Abstract In multiprogrammed systems, synchronization often turns out to be a performance bottleneck ...
The progression of multi-core processors has inspired the development of concurrency libraries that ...
In applications such as sharded data processing systems, data flow programming and load sharing appl...
Algorithms for concurrent data structure have gained attention in recent years as multi-core process...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Exploiting the parallelism in multiprocessor systems is a major challenge in modern computer science...