Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling
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 problem...
Main Authors: | , , , |
---|---|
Other Authors: | |
Published: |
2009
|
Online Access: | http://hdl.handle.net/1721.1/49808 |
_version_ | 1811096821245673472 |
---|---|
author | Agarwal, Anant Santambrogio, Marco D. Wingate, David Eastep, Jonathan |
author2 | Anant Agarwal |
author_facet | Anant Agarwal Agarwal, Anant Santambrogio, Marco D. Wingate, David Eastep, Jonathan |
author_sort | Agarwal, Anant |
collection | MIT |
description | 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. Smartlocks is a spin-lock library that adapts its internal implementation during execution using heuristics and machine learning to optimize toward a user-defined goal, which may relate to performance, power, or other problem-specific criteria. Smartlocks builds upon adaptation techniques from prior work like reactive locks, but introduces a novel form of adaptation designed for asymmetric multicores that we term lock acquisition scheduling. Lock acquisition scheduling is optimizing which waiter will get the lock next for the best long-term effect when multiple threads (or processes) are spinning for a lock. Our results demonstrate empirically that lock scheduling is important for asymmetric multicores and that Smartlocks significantly outperform conventional and reactive locks for asymmetries like dynamic variations in processor clock frequencies caused by thermal throttling events. |
first_indexed | 2024-09-23T16:49:33Z |
id | mit-1721.1/49808 |
institution | Massachusetts Institute of Technology |
last_indexed | 2024-09-23T16:49:33Z |
publishDate | 2009 |
record_format | dspace |
spelling | mit-1721.1/498082019-04-10T07:39:17Z Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling Agarwal, Anant Santambrogio, Marco D. Wingate, David Eastep, Jonathan Anant Agarwal Computer Architecture 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. Smartlocks is a spin-lock library that adapts its internal implementation during execution using heuristics and machine learning to optimize toward a user-defined goal, which may relate to performance, power, or other problem-specific criteria. Smartlocks builds upon adaptation techniques from prior work like reactive locks, but introduces a novel form of adaptation designed for asymmetric multicores that we term lock acquisition scheduling. Lock acquisition scheduling is optimizing which waiter will get the lock next for the best long-term effect when multiple threads (or processes) are spinning for a lock. Our results demonstrate empirically that lock scheduling is important for asymmetric multicores and that Smartlocks significantly outperform conventional and reactive locks for asymmetries like dynamic variations in processor clock frequencies caused by thermal throttling events. 2009-11-09T21:30:03Z 2009-11-09T21:30:03Z 2009-11-09 http://hdl.handle.net/1721.1/49808 MIT-CSAIL-TR-2009-055 16 p. application/pdf |
spellingShingle | Agarwal, Anant Santambrogio, Marco D. Wingate, David Eastep, Jonathan Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling |
title | Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling |
title_full | Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling |
title_fullStr | Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling |
title_full_unstemmed | Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling |
title_short | Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling |
title_sort | smartlocks self aware synchronization through lock acquisition scheduling |
url | http://hdl.handle.net/1721.1/49808 |
work_keys_str_mv | AT agarwalanant smartlocksselfawaresynchronizationthroughlockacquisitionscheduling AT santambrogiomarcod smartlocksselfawaresynchronizationthroughlockacquisitionscheduling AT wingatedavid smartlocksselfawaresynchronizationthroughlockacquisitionscheduling AT eastepjonathan smartlocksselfawaresynchronizationthroughlockacquisitionscheduling |