1 / 23

Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures

Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures. Pree Thiengburanathum Advanced computer architecture Oct 24, 2007. Agenda. Introduction Basic ideas and goals Static versus Dynamic thread assignment Architecture and Methodology Results Conclusion. Introduction.

Télécharger la présentation

Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamic Thread Assignment onHeterogeneous Multiprocessor Architectures Pree ThiengburanathumAdvanced computer architectureOct 24, 2007

  2. Agenda • Introduction • Basic ideas and goals • Static versus Dynamic thread assignment • Architecture and Methodology • Results • Conclusion

  3. Introduction • Multi programming • Chip multiprocessor (CMP) • Heterogeneous CMP system • Homogeneous CMP systemMore processors cores in the single chip!

  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 requirementsmaximize resource utilization & achieve a high degree of inter-thread parallelism.

  5. Basic ideas • Taking advantage of Heterogeneous CMP • Mapping running tasks • Control Mechanism • Easy to implementClaim, a dynamic policy is more preferable than the static one. • What is about a static policy?

  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) 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. 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 P1Total 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

  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?

  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

  11. Processor configurations (1)

  12. Benchmark SPEC2000

  13. Benchmark of EV5 and EV6

  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.

  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 migrationinter-core context switch - the architectural state (PC value, registers, etc.) Use the parameter such as switch_duration and switch_loss

  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

  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.

  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

  19. Simulation results (1) • Homogeneous vs. heterogeneous configuration with static assignment

  20. Simulation results (2) • Dynamic assignment

  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%

  22. Bibliography • [1] B. Michael, C. Patrick. “Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures”, Conference on computing frontiers, Proceedings the 3rd conference on computing systems, page 29-40, May 2006 • [2] Silberschatz, Gavin, Gagne. “Operating system concepts sixth edition”, 2004

  23. Question?

More Related