Download presentation
Presentation is loading. Please wait.
Published byQuinn Tarrant Modified over 9 years ago
1
Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures Pree Thiengburanathum Advanced computer architecture Oct 24, 2007 1
2
Agenda Introduction Basic ideas and goals Static versus Dynamic thread assignment Architecture and Methodology Results Conclusion 2
3
Introduction Multi programming Chip multiprocessor (CMP) Heterogeneous CMP system Homogeneous CMP system More processors cores in the single chip! 3
4
Goals Heterogeneous vs. Homogeneous CMP system What type of core should be replicated? Many simple cores = higher thread parallelism Fewer cores, larger = lower thread parallelism Multi-programmed computing environment may present threads of execution with different hardware resource requirements maximize resource utilization & achieve a high degree of inter-thread parallelism. 4
5
Basic ideas Taking advantage of Heterogeneous CMP Mapping running tasks Control Mechanism Easy to implement Claim, a dynamic policy is more preferable than the static one. What is about a static policy? 5
6
Scenario of heterogeneous CMP system (1) Two processors P1 and P2 of different type Assume that each program will run for 1 million instructions IPC = (Instructions) / (cycle) 6 P1P2 Thread A1.60.4 Thread B1.51 Table 1: IPC of threads A and B on cores P1 and P2
7
Scenario of heterogeneous CMP system(2) Execution time = #instruction / IPC Moving the threads into different cores give the better total execution time. 7 P1P2 Thread A~700,000~2,500,000 Thread B~700,000~1,000,000 Table 2: Execution time of threads A and B on cores P1 and P2
8
Scenario of heterogeneous CMP system(3) If we move thread A into P2 and thread B to P1 Total execution time = 2.5M If we move thread A into P1 and thread B to P2 Total execution time = 1M The mapping programs to the core improve performance. Assume programs can migrate across cores 8
9
Dynamic thread assignment Thread assignment depends on the ratios between the IPCs on the two different core. The higher the ratios, the more the execution time. What is about thread assignment in homogenous CMP system? 9
10
Simulation approach Real program and real processors. SPEC2000 and Alpha Performance Number of cores and programs IPC number problems. Thread migration overhead. New assignment policies 10
11
Processor configurations (1) 11
12
Benchmark SPEC2000 12
13
Benchmark of EV5 and EV6 13
14
Processor configurations (2) homogeneous configurations: 4 EV6s or 20 EV5s heterogeneous configurations: 5 EV5s and 3EV6s 10 EV5s and 2 EV6s 15 EV5s and 1 EV6. 14
15
CMP Simulation Model To evaluate different combinations of processors, workloads, and thread assignment policies. The model: working principles: A multiprocessor system can be thought of as a collection of processor and thread objects where each thread represents an instance of one of the benchmark programs. Modeling thread migration inter-core context switch - the architectural state (PC value, registers, etc.) Use the parameter such as switch_duration and switch_loss 15
16
Assignment Policies Static Assignment Well studies problem before assign Solution rely on heuristics a random static assignment. Don’t know the work loads and IPC, always assign the faster core (EV6) a pseudo best static assignment. Know the work loads and IPC, use heuristic to find out. Disadvantages does not optimize EV6 usage slow” threads on EV5 penalize overall system performance 16
17
Assignment Policies Round robin dynamic assignment rotating the assignment of threads to processors in a round robin fashion ensures that the available EV6 cores are equally shared among the running programs. 17
18
IPC driven dynamic assignment Considering the characteristics of the executing threads. Look at IPC number and ratio to decide Thread with higher ratio run on EV6 Thread with lower ratio run on EV5 18
19
Simulation results (1) Homogeneous vs. heterogeneous configuration with static assignment 19
20
Simulation results (2) Dynamic assignment 20
21
Conclusion Dynamic thread assignment increase performance and usage. outperform a random assignment policy by 20% to 40% outperform a homogeneous configuration by 20% to 80% 21
22
Bibliography [1] B. Michael, C. Patrick. “Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures”, Conference on computing frontiers, Proceedings the 3 rd conference on computing systems, page 29-40, May 2006 [2] Silberschatz, Gavin, Gagne. “Operating system concepts sixth edition”, 2004 22
23
Question? 23
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.