Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1809049.1809079acmconferencesArticle/Chapter ViewAbstractPublication PagesicacConference Proceedingsconference-collections
research-article

Smartlocks: lock acquisition scheduling for self-aware synchronization

Published: 07 June 2010 Publication History

Abstract

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 a 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 or problem-specific criteria. Smartlocks builds upon adaptation techniques from prior work like reactive locks [1], but introduces a novel form of adaptation that we term lock acquisition scheduling designed specifically to address asymmetries in multicores. 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.
This work demonstrates that lock scheduling is important for addressing asymmetries in multicores. We study scenarios where core speeds vary both dynamically and intrinsically under thermal throttling and manufacturing variability, respectively, and we show that Smartlocks significantly outperforms conventional spin-locks and reactive locks. Based on our findings, we provide guidelines for application scenarios where Smartlocks works best versus less optimally.

References

[1]
B. H. Lim and A. Agarwal, "Reactive synchronization algorithms for multiprocessors," SIGOPS Oper. Syst. Rev., vol. 28, no. 5, pp. 25--35, 1994.
[2]
H. Hoffmann, J. Eastep, M. Santambrogio, J. Miller, and A. Agarwal, "Application heartbeats: A generic interface for expressing performance goals and progress in self-tuning systems," SMART Workshop 2010. Online document, http://ctuning.org/dissemination/smart10-02.pdf.
[3]
S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta, "The SPLASH-2 programs: characterization and methodological considerations," in ISCA 1995 Proceedings, June 1995, pp. 24--36.
[4]
J. M. Mellor-Crummey and M. L. Scott, "Algorithms for scalable synchronization on shared-memory multiprocessors," ACM Trans. Comput. Syst., vol. 9, no. 1, pp. 21--65, 1991.
[5]
---. "Synchronization without contention," SIGARCH Comput. Archit. News, vol. 19, no. 2, pp. 269--278, 1991.
[6]
P. Magnusson, A. Landin, and E. Hagersten, "Queue locks on cache coherent multiprocessors," Apr 1994, pp. 165--171.
[7]
A. Kagi, D. Burger, and J. R. Goodman, "Efficient synchronization: let them eat qolb," in ISCA 1997 Proceedings. New York, NY: ACM, 1997, pp. 170--180.
[8]
L. I. Kontothanassis, R. W. Wisniewski, and M. L. Scott, "Scheduler-conscious synchronization," ACM Trans. Comput. Syst., vol. 15, no. 1, pp. 3--40, 1997.
[9]
B. Mukherjee and K. Schwan, "Implementation of scalable blocking locks using an adaptive thread scheduler," in IPPS 1996 Proceedings. Washington, DC, USA: IEEE Computer Society, 1996, pp. 339--343.
[10]
J. M. Mellor-Crummey and M. L. Scott, "Scalable reader-writer synchronization for shared-memory multiprocessors," in PPoPP 1991 Proceedings. New York, NY, USA: ACM, 1991, pp. 106--113.
[11]
T. Johnson and K. Harathi, "A prioritized multiprocessor spin lock," IEEE Trans. Parallel Distrib. Syst., vol. 8, no. 9, pp. 926--933, 1997.
[12]
C.-D. Wang, H. Takada, and K. Sakamura, "Priority inheritance spin locks for multiprocessor real-time systems," Parallel Architectures, Algorithms, and Networks, International Symposium on, vol. 0, p. 70, 1996.
[13]
Z. Radovic and E. Hagersten, "Efficient synchronization for nonuniform communication architectures," in SC02 Proceedings.relax Los Alamitos, CA: IEEE Computer Society Press, 2002, pp. 1--13.
[14]
A. R. Karlin, K. Li, M. S. Manasse, and S. Owicki, "Empirical studies of competitve spinning for a shared-memory multiprocessor," in SOSP 1991 Proceedings. New York, NY.: ACM, 1991, pp. 41--55.
[15]
P. C. Diniz and M. C. Rinard, "Eliminating synchronization overhead in automatically parallelized programs using dynamic feedback," ACM Trans. Comput. Syst., vol. 17, no. 2, pp. 89--132, 1999.
[16]
E. Ipek, O. Mutlu, J. F. Martinez, and R. Caruana, "Self-optimizing memory controllers: A reinforcement learning approach," in ISCA 2008 Proceedings, 2008, pp. 39--50.
[17]
R. Bitirgen, E. Ipek, and J. F. Martinez, "Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach," in MICRO 2008 Proceedings. Washington, DC, USA: IEEE Computer Society, 2008, pp. 318--329.
[18]
P. Hoai Ha, M. Papatriantafilou, and P. Tsigas, "Reactive spin-locks: A self-tuning approach," in ISPAN 2005 Proceedings. Washington, DC, USA: IEEE Computer Society, 2005, pp. 33--39.
[19]
R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction. Cambridge, MA: MIT Press, 1998.
[20]
S. Mahadevan, "Average reward reinforcement learning: Foundations, algorithms, and empirical results," Machine Learning, vol. 22, pp. 159--196, 1996.
[21]
R. J. Williams, "Toward a theory of reinforcement-learning connectionist systems," Northeastern University, Tech. Rep. NU-CCS-88-3, 1988.

Cited By

View all
  • (2022)Core-aware combining: Accelerating critical section execution on heterogeneous multi-core systems via combining synchronizationJournal of Parallel and Distributed Computing10.1016/j.jpdc.2022.01.001162(27-43)Online publication date: Apr-2022
  • (2020)Learning quantitative representation synthesisProceedings of the 4th ACM SIGPLAN International Workshop on Machine Learning and Programming Languages10.1145/3394450.3397467(29-37)Online publication date: 15-Jun-2020
  • (2020)Mutable locks: Combining the best of spin and sleep locksConcurrency and Computation: Practice and Experience10.1002/cpe.585832:22Online publication date: 17-Jun-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICAC '10: Proceedings of the 7th international conference on Autonomic computing
June 2010
246 pages
ISBN:9781450300742
DOI:10.1145/1809049
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE
  • University of Arizona: University of Arizona

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 June 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. asymmetric multicore
  2. heterogeneous multicore
  3. performance optimization
  4. self-aware
  5. self-tuning
  6. synchronization

Qualifiers

  • Research-article

Conference

ICAC '10
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)1
Reflects downloads up to 02 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Core-aware combining: Accelerating critical section execution on heterogeneous multi-core systems via combining synchronizationJournal of Parallel and Distributed Computing10.1016/j.jpdc.2022.01.001162(27-43)Online publication date: Apr-2022
  • (2020)Learning quantitative representation synthesisProceedings of the 4th ACM SIGPLAN International Workshop on Machine Learning and Programming Languages10.1145/3394450.3397467(29-37)Online publication date: 15-Jun-2020
  • (2020)Mutable locks: Combining the best of spin and sleep locksConcurrency and Computation: Practice and Experience10.1002/cpe.585832:22Online publication date: 17-Jun-2020
  • (2019)Using meta-heuristics and machine learning for software optimization of parallel computing systemsComputing10.1007/s00607-018-0614-9101:8(893-936)Online publication date: 1-Aug-2019
  • (2019)Efficient Inspected Critical Sections in Data-Parallel GPU CodesLanguages and Compilers for Parallel Computing10.1007/978-3-030-35225-7_15(223-239)Online publication date: 15-Nov-2019
  • (2018)Analytics with smart arraysProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190514(1-15)Online publication date: 23-Apr-2018
  • (2017)CuratorProceedings of the 14th USENIX Conference on Networked Systems Design and Implementation10.5555/3154630.3154635(51-66)Online publication date: 27-Mar-2017
  • (2017)Dyna: toward a self-optimizing declarative language for machine learning applicationsProceedings of the 1st ACM SIGPLAN International Workshop on Machine Learning and Programming Languages10.1145/3088525.3088562(8-17)Online publication date: 18-Jun-2017
  • (2017)Malthusian LocksProceedings of the Twelfth European Conference on Computer Systems10.1145/3064176.3064203(314-327)Online publication date: 23-Apr-2017
  • (2017)The Notion of Self-aware ComputingSelf-Aware Computing Systems10.1007/978-3-319-47474-8_1(3-16)Online publication date: 24-Jan-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media