Thread to Strand Binding of Parallel Network Applications in Massive Multi-Threaded Systems

被引:0
|
作者
Radojkovic, Petar
Cakarevic, Vladimir
Verdu, Javier [1 ]
Pajuelo, Alex [1 ]
Cazorla, Francisco J. [2 ]
Nemirovsky, Mario
Valero, Mateo
机构
[1] Univ Politecn Cataluna, E-08028 Barcelona, Spain
[2] CSIC, Madrid, Spain
关键词
Algorithms; Measurement; Performance; Process Scheduling; Simultaneous Multithreading; CMT; UltraSPARC T2;
D O I
10.1145/1837853.1693480
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In processors with several levels of hardware resource sharing, like CMPs in which each core is an SMT, the scheduling process becomes more complex than in processors with a single level of resource sharing, such as pure-SMT or pure-CMP processors. Once the operating system selects the set of applications to simultaneously schedule on the processor (workload), each application/thread must be assigned to one of the hardware contexts (strands). We call this last scheduling step the Thread to Strand Binding or TSB. In this paper, we show that the TSB impact on the performance of processors with several levels of shared resources is high. We measure a variation of up to 59% between different TSBs of real multithreaded network applications running on the UltraSPARC T2 processor which has three levels of resource sharing. In our view, this problem is going to be more acute in future multithreaded architectures comprising more cores, more contexts per core, and more levels of resource sharing. We propose a resource-sharing aware TSB algorithm (TSBSched) that significantly facilitates the problem of thread to strand binding for software-pipelined applications, representative of multithreaded network applications. Our systematic approach encapsulates both, the characteristics of multithreaded processors under the study and the structure of the software pipelined applications. Once calibrated for a given processor architecture, our proposal does not require hardware knowledge on the side of the programmer, nor extensive profiling of the application. We validate our algorithm on the UltraSPARC T2 processor running a set of real multithreaded network applications on which we report improvements of up to 46% compared to the current state-of-the-art dynamic schedulers.
引用
收藏
页码:191 / 201
页数:11
相关论文
共 50 条
  • [1] Thread to Strand Binding of Parallel Network Applications in Massive Multi-Threaded Systems
    Radojkovic, Petar
    Cakarevic, Vladimir
    Verdu, Javier
    Pajuelo, Alex
    Cazorla, Francisco J.
    Nemirovsky, Mario
    Valero, Mateo
    [J]. PPOPP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2010, : 191 - 201
  • [2] Multi-Threaded Parallel I/O for OpenMP Applications
    Kshitij Mehta
    Edgar Gabriel
    [J]. International Journal of Parallel Programming, 2015, 43 : 286 - 309
  • [3] Multi-Threaded Parallel I/O for OpenMP Applications
    Mehta, Kshitij
    Gabriel, Edgar
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2015, 43 (02) : 286 - 309
  • [4] Load balancing for network based multi-threaded applications
    Krone, O
    Raab, M
    Hirsbrunner, B
    [J]. RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 1998, 1497 : 206 - 214
  • [5] Thread-specific heaps for multi-threaded programs
    Steensgaard, B
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 18 - 24
  • [6] Paje, an interactive visualization tool for tuning multi-threaded parallel applications
    de Kergommeaux, JC
    Stein, B
    Bernard, PE
    [J]. PARALLEL COMPUTING, 2000, 26 (10) : 1253 - 1274
  • [7] Parallel Refinement for Multi-Threaded Program Verification
    Yin, Liangze
    Dong, Wei
    Liu, Wanwei
    Wang, Ji
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 643 - 653
  • [8] Using Machine Learning Techniques to Detect Parallel Patterns of Multi-threaded Applications
    Etem Deniz
    Alper Sen
    [J]. International Journal of Parallel Programming, 2016, 44 : 867 - 900
  • [9] Using Machine Learning Techniques to Detect Parallel Patterns of Multi-threaded Applications
    Deniz, Etem
    Sen, Alper
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2016, 44 (04) : 867 - 900
  • [10] Understanding the Cost of Thread Migration for Multi-Threaded Java']Java Applications Running on a Multicore Platform
    Teng, Qiming
    Sweeney, Peter F.
    Duesterwald, Evelyn
    [J]. ISPASS 2009: IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2009, : 123 - 132