Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures Pree Thiengburanathum Advanced computer architecture Oct 24, 2007 1.

Similar presentations


Presentation on theme: "Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures Pree Thiengburanathum Advanced computer architecture Oct 24, 2007 1."— Presentation transcript:

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


Download ppt "Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures Pree Thiengburanathum Advanced computer architecture Oct 24, 2007 1."

Similar presentations


Ads by Google