Software Data Spreading: Leveraging Distributed Caches to Improve Single Thread Performance

被引:0
|
作者
Kamruzzaman, Md [1 ]
Swanson, Steven [1 ]
Tullsen, Dean M. [1 ]
机构
[1] Univ Calif San Diego, San Diego, CA 92103 USA
关键词
Languages; Performance; chip multiprocessors; compilers; single-thread performance;
D O I
10.1145/1809028.1806648
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Single thread performance remains an important consideration even for multicore, multiprocessor systems. As a result, techniques for improving single thread performance using multiple cores have received considerable attention. This work describes a technique, software data spreading, that leverages the cache capacity of extra cores and extra sockets rather than their computational resources. Software data spreading is a software-only technique that uses compiler-directed thread migration to aggregate cache capacity across cores and chips and improve performance. This paper describes an automated scheme that applies data spreading to various types of loops. Experiments with a set of SPEC2000, SPEC2006, NAS, and microbenchmark workloads show that data spreading can provide speedup of over 2, averaging 17% for the SPEC and NAS applications on two systems. In addition, despite using more cores for the same computation, data spreading actually saves power since it reduces access to DRAM.
引用
收藏
页码:460 / 470
页数:11
相关论文
共 27 条
  • [1] Software Data Spreading: Leveraging Distributed Caches to Improve Single Thread Performance
    Kamruzzaman, Md
    Swanson, Steven
    Tullsen, Dean M.
    [J]. PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 460 - 470
  • [2] Bootstrapping: Using SMT Hardware to Improve Single-Thread Performance
    Kondguli, Sushant
    Huang, Michael
    [J]. IEEE COMPUTER ARCHITECTURE LETTERS, 2018, 17 (02) : 205 - 208
  • [3] Bootstrapping: Using SMT Hardware to Improve Single-Thread Performance
    Kondguli, Sushant
    Huang, Michael
    [J]. TWENTY-FOURTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXIV), 2019, : 687 - 700
  • [4] Leveraging online social friendship to improve data swarming performance
    Zhang, Honggang
    Liu, Benyuan
    Nie, Bin
    Xu, Zhiyong
    Weng, Xiayin
    Yu, Chao
    [J]. COMPUTER NETWORKS, 2014, 71 : 130 - 143
  • [5] Leveraging Data Deduplication to Improve the Performance of Primary Storage Systems in the Cloud
    Mao, Bo
    Jiang, Hong
    Wu, Suzhen
    Tian, Lei
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2016, 65 (06) : 1775 - 1788
  • [6] In-memory distributed software solution to improve the performance of recommender systems
    Costa-Montenegro, Enrique
    Tsybanev, Alexander
    Cerezo-Costas, Hector
    Javier Gonzalez-Castano, Francisco
    Gil-Castineira, Felipe
    Barragans-Martinez, Belen
    Almuina-Troncoso, Diego
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2017, 47 (06): : 867 - 889
  • [7] Leveraging Deep Learning to Improve Performance of Distributed Optimal Frequency Control Under Communication Failures
    Xie, Siyu
    Nazari, Masoud H.
    Nezampasandarbabi, Farinaz
    Wang, Le Yi
    [J]. IEEE TRANSACTIONS ON SMART GRID, 2023, 14 (01) : 746 - 756
  • [8] Leveraging Deep Learning to Improve Performance of Distributed Optimal Frequency Control under Communication Failures
    Nazar, Masoud H.
    Xie, Siyu
    Wang, Le Yi
    [J]. 2023 IEEE POWER & ENERGY SOCIETY GENERAL MEETING, PESGM, 2023,
  • [9] Leveraging 24/7 Availability and Performance for Distributed Real-Time Data Warehouses
    Santos, Ricardo Jorge
    Bernardino, Jorge
    Vieira, Marco
    [J]. 2012 IEEE 36TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2012, : 654 - 659
  • [10] CPicker: Leveraging Performance-Equivalent Configurations to Improve Data Center Energy Efficiency
    Fa-Qiang Sun
    Gui-Hai Yan
    Xin He
    Hua-Wei Li
    Yin-He Han
    [J]. Journal of Computer Science and Technology, 2018, 33 : 131 - 144