z-logo
Premium
An autonomic‐computing approach on mapping threads to multi‐cores for software transactional memory
Author(s) -
Zhou Naweiluo,
Delaval Gwenaël,
Robu Bogdan,
Rutten Éric,
Méhaut JeanFrançois
Publication year - 2018
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.4506
Subject(s) - computer science , software transactional memory , transactional memory , thread (computing) , concurrency , instruction level parallelism , distributed computing , parallel computing , task parallelism , concurrency control , software , multi core processor , operating system , parallelism (grammar) , programming language , database transaction
Summary A parallel program needs to manage the trade‐off between the time spent in synchronisation and computation. This trade‐off is significantly affected by its parallelism degree. A high parallelism degree may decrease computing time while increasing synchronisation cost. Furthermore, thread placement on processor cores may impact program performance, as the data access time can vary from one core to another due to intricacies of the underlying memory architecture. Alas, there is no universal rule to decide thread parallelism and its mapping to cores from an offline view, especially for a program with online behaviour variation. Moreover, offline tuning is less precise. We present our work on dynamic control of thread parallelism and mapping. We address concurrency issues via Software Transactional Memory (STM). STM bypasses locks to tackle synchronisation through transactions. Autonomic computing offers designers a framework of methods and techniques to build autonomic systems with well‐mastered behaviours. Its key idea is to implement feedback control loops to design safe, efficient, and predictable controllers, which enable monitoring and adjusting controlled systems dynamically while keeping overhead low. We implement feedback control loops to automate management of threads and diminish program execution time.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here