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...

Full description

Bibliographic Details
Main Authors: Agarwal, Anant, Santambrogio, Marco D., Wingate, David, Eastep, Jonathan
Other Authors: Anant Agarwal
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