Scaling Synchronization in Multicore Programs

被引:7
|
作者
Morrison, Adam [1 ]
机构
[1] Tel Aviv Univ, Blavatnik Sch Comp Sci, Tel Aviv, Israel
关键词
ALGORITHMS;
D O I
10.1145/2980987
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Advanced synchronization methods that can push the performance of designs using shared mutable data to levels that are acceptable to many applications are discussed. Using locks to protect the queue serializes its operations: only one core at a time can update the queue, and the others must wait for their turns. One possibility to increase scalability is by replacing locks with lockfree synchronization, which directly manipulates the queue using atomic instructions. Alternative work-queue designs seek scalability by distributing the data structure, which allows for more parallelism but gives up some of the properties of the centralized shared queue. To eliminate many-thread synchronization altogether, one can turn to distributed queue. This design weakens the consistency guarantee of the queue. It also makes dynamic load balancing more difficult because it chooses which core will dequeue an item in advance. The delegation synchronization eliminates most lock acquisition and releases from the critical path, and it speeds up execution of the critical sections themselves. In a delegation lock, the core holding the lock acts as a server and executes the operations. Delegation also enables new optimizations that exploit the semantics of the data structure to speed up critical-section execution. Lock-free synchronization directly manipulates shared data using atomic instructions instead of locks. Most lock-free algorithms use the CAS (compare-and-swap) instruction (or equivalent) available on all multicore processors. Awareness of these methods can assist those designing software for multicore machines.
引用
收藏
页码:44 / 51
页数:8
相关论文
共 50 条
  • [1] Optimization of Remote Core Locking Synchronization in Multithreaded Programs for Multicore Computer Systems
    Paznikov, Alexey
    [J]. INFORMATION TECHNOLOGY IN INDUSTRY, 2018, 6 (02): : 7 - 12
  • [2] Efficient Reuse Distance Analysis of Multicore Scaling for Loop-Based Parallel Programs
    Wu, Meng-Ju
    Yeung, Donald
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2013, 31 (01):
  • [3] DARK SILICON AND THE END OF MULTICORE SCALING
    Esmaeilzadeh, Hadi
    Blem, Emily
    St Amant, Renee
    Sankaralingam, Karthikeyan
    Burger, Doug
    [J]. IEEE MICRO, 2012, 32 (03) : 122 - 134
  • [4] Dark Silicon and the End of Multicore Scaling
    Esmaeilzadeh, Hadi
    Blem, Emily
    St Aman, Renee
    Sankaralingam, Karthikeyan
    Burger, Doug
    [J]. ISCA 2011: PROCEEDINGS OF THE 38TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, 2011, : 365 - 376
  • [5] Energy efficiency of parallel multicore programs
    Davidović, Davor
    Depolli, Matjaž
    Lipić, Tomislav
    Skala, Karolj
    Trobec, Roman
    [J]. Scalable Computing, 2015, 16 (04): : 437 - 448
  • [6] ENERGY EFFICIENCY OF PARALLEL MULTICORE PROGRAMS
    Davidovic, Davor
    Depolli, Matjaz
    Lipic, Tomislav
    Skala, Karolj
    Trobec, Roman
    [J]. SCALABLE COMPUTING-PRACTICE AND EXPERIENCE, 2015, 16 (04): : 437 - 448
  • [7] Frequency Scaling As a Security Threat on Multicore Systems
    Miedl, Philipp
    He, Xiaoxi
    Meyer, Matthias
    Bartolini, Davide Basilio
    Thiele, Lothar
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2018, 37 (11) : 2497 - 2508
  • [8] Static and Dynamic Frequency Scaling on Multicore CPUs
    Bao, Wenlei
    Hong, Changwan
    Chunduri, Sudheer
    Krishnamoorthy, Sriram
    Pouchet, Louis-Noel
    Rastello, Fabrice
    Sadayappan, P.
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2016, 13 (04)
  • [9] Voltage, Throughput, Power, Reliability, and Multicore Scaling
    Xia, Fei
    Rafiev, Ashur
    Aalsaud, Ali
    Al-Hayanni, Mohammed
    Davis, James
    Levine, Joshua
    Mokhov, Andrey
    Romanovsky, Alexander
    Shafik, Rishad
    Yakovlev, Alex
    Yang, Sheng
    [J]. COMPUTER, 2017, 50 (08) : 34 - 45
  • [10] Technology scaling and reliability challenges in the multicore era
    Huard, V.
    Cacho, F.
    Federspiel, X.
    [J]. 2013 IEEE INTERNATIONAL RELIABILITY PHYSICS SYMPOSIUM (IRPS), 2013,