As multicore processors become increasingly prevalent, system complexity is skyrocketing. The advent of the asymmetric multicore compounds this -- it is no longer practical for an average programmer to balance the system constraints associated with today's multicores and worry about new problems like asymmetric partitioning and thread interference. Adaptive, or self-aware, computing has been proposed as one method to help application and system programmers confront this complexity. These systems take some of the burden off of programmers by monitoring themselves and optimizing or adapting to meet their goals. This paper introduces an open-source self-aware synchronization library for multicores and asymmetric multicores called Smartlocks. S...
Since multicore systems offer greater performance via parallelism, future computing is progressing t...
Journal ArticleWe have developed task scheduler logic (TSL) to automate reasoning about scheduling a...
peer-reviewedFor most multi-threaded applications, data structures must be shared between threads. E...
Self-aware computer systems will be capable of adapting their behavior and resources thousands of ti...
Summary In this article, we present mutable locks, a synchronization construct with the same semanti...
Reactive spin-lock algorithms that can automatically adapt to contention variation on the lock have ...
Monitoring based computer system should be self-aware first because self-aware computer systems will...
The advent of chip multi-processors has led to an increase in computational performance in recent ye...
Journal ArticleShared memory programs guarantee the correctness of concurrent accesses to shared dat...
With the widespread adoption of multicore architectures, multiprocessors are now a standard deployme...
Over the past decade, multicore machines have become the norm. A single machine is capable of having...
As thread level parallelism in applications has continued to expand, so has research in chip multi-c...
Funding: Partially funded by the UK EPSRC grants Discovery: Pattern Discovery and Program Shaping fo...
Efficient synchronization is important for achieving good performance in parallel programs, especial...
Reactive spin-lock algorithms that can automatically adapt to contention variation on the lock have ...
Since multicore systems offer greater performance via parallelism, future computing is progressing t...
Journal ArticleWe have developed task scheduler logic (TSL) to automate reasoning about scheduling a...
peer-reviewedFor most multi-threaded applications, data structures must be shared between threads. E...
Self-aware computer systems will be capable of adapting their behavior and resources thousands of ti...
Summary In this article, we present mutable locks, a synchronization construct with the same semanti...
Reactive spin-lock algorithms that can automatically adapt to contention variation on the lock have ...
Monitoring based computer system should be self-aware first because self-aware computer systems will...
The advent of chip multi-processors has led to an increase in computational performance in recent ye...
Journal ArticleShared memory programs guarantee the correctness of concurrent accesses to shared dat...
With the widespread adoption of multicore architectures, multiprocessors are now a standard deployme...
Over the past decade, multicore machines have become the norm. A single machine is capable of having...
As thread level parallelism in applications has continued to expand, so has research in chip multi-c...
Funding: Partially funded by the UK EPSRC grants Discovery: Pattern Discovery and Program Shaping fo...
Efficient synchronization is important for achieving good performance in parallel programs, especial...
Reactive spin-lock algorithms that can automatically adapt to contention variation on the lock have ...
Since multicore systems offer greater performance via parallelism, future computing is progressing t...
Journal ArticleWe have developed task scheduler logic (TSL) to automate reasoning about scheduling a...
peer-reviewedFor most multi-threaded applications, data structures must be shared between threads. E...