1 / 39

Thomas Nolte, 2013-04-25

Inbyggda realtidssystem: En flerkärning frälsning Embedded real-time systems: A multi-core salvation. Thomas Nolte, 2013-04-25. 1997 – 2000 – 2006 – 2009 – 2012. Undergrad. Student. Grad./PHD Student. Assistant Professor. Associate Professor. Professor ABB CRC. 2002. 2005, 2006.

ayala
Download Presentation

Thomas Nolte, 2013-04-25

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. Inbyggda realtidssystem: En flerkärning frälsningEmbedded real-time systems: A multi-core salvation Thomas Nolte, 2013-04-25

  2. 1997 – 2000 – 2006 – 2009 – 2012 Undergrad.Student Grad./PHDStudent Assistant Professor Associate Professor Professor ABB CRC 2002 2005, 2006

  3. Embedded systems

  4. Embedded systems Control program sensors Task Task Task Task actuators Environment CPU Key properties of interest = performance & predictability

  5. LINK

  6. Too EARLY inflation Too LATE inflation Perfect TIMING

  7. sensors When software is executing, it is executing as tasks Task Task Task Task actuators Task • voidfoo() • { • … • while(status) • { • in = read_sensor(); • action = take_action(in); • … • status = perform_action(action); • sleep(1000); • } • } Environment Control program

  8. Instruction and data memory (1)

  9. Instruction and data memory (2) Task DATA • voidfoo() • { • … • while(status) • { • in = read_sensor(); • action = take_action(in); • … • status = perform_action(action); • sleep(1000); • } • } INSTRUCTION

  10. Instruction and data memory (3) cache memory

  11. Instruction and data memory (4) cache memory Key properties of interest = performance & predictability

  12. sensors A simple model Task Task Task Task actuators worst-caseexecution time Environment Control program task task task time period

  13. sensors What to run and when Task Task Task Task actuators priolow task1 task1 task1 Environment Control program time The scheduler decides which task to execute prio high task2 task2 task2 task2 time task2 task1 task2 task1 task2 task1 task2 time

  14. sensors Determining the response time Task Task Task Task response time of task2 actuators Environment Control program task2 task1 task2 task2 task2 time preempted preempted finished response time oftask1 resumed resumed

  15. Predictability wrt embedded control systems • Program, or task • Instruction for how the computer should work, i.e., what the computer shall do • Execution time • How long time it takes for the program/task to execute • Response time • How long time it takes for the program/task to execute to completion, also when running together with other programs/tasks • Research conducted the past 30 years • Pretty good understanding how predictable embedded systems should be constructed

  16. Isn’t more better? The multi-core arrived!

  17. The multi-core revolution single core dual core quad core multi core parallel computer = many cores

  18. Multi-core memory hierarchy (1)

  19. Multi-corememoryhierarchy (2)

  20. Challenges with many cores Core pgm2 pgm1 pgm2 pgm2 pgm2 time Core 1 pgm1 time Core 2 pgm2 pgm2 pgm2 pgm2 • Sequential guarantee is not valid anymore • Programs could previously execute in parallel, but at any given time only one program is executing • Now at any given point in time as many programs as there are cores can be executing time

  21. Performance on a parallel machine (1) 100 chefs do not bake 1 cake 100x faster than 1 chef The way we construct programs become different

  22. Performance on a parallel machine (2) 100 Core pgm1 pgm1 pgm1 time 49 51 pgm2 51 The way we execute programs become different

  23. Performance on a parallel machine (3) 50% Core 1 pgm1 pgm1 pgm1 time Core 2 pgm2 pgm2 pgm2 time 100 51 The way we execute programs become different

  24. Performance on a parallel machine (4) Core 1 pgmj pgm1 pgmj pgm1 pgmj pgm1 time Core 2 pgm2 pgm2 pgm2 time The way we execute programs become different

  25. Predictability under parallelism (1) Core 1 pgm1 time Core 2 pgm2 pgm2 pgm2 pgm2 time New techniques are required to resolve conflicts

  26. Predictability under parallelism (2) Core 1 pgm1 time Core 2 pgm2 pgm2 pgm2 pgm2 time shared memory New techniques are required to resolve conflicts

  27. Predictability under parallelism (3) Core 1 pgm1 time Core 2 pgm2 pgm2 pgm2 pgm2 time shared memory New techniques are required to resolve conflicts

  28. More is better? …and the many-core is here!

  29. EpophanyTMMulti-core Solution

  30. New challenges 1 2 assume 7 tasks: 1 2 3 4 5 6 7 3 1 4 2 5 4 6 6 3 7 7 5 1 2 3 4 5 6 7 single core dual core many core empty core • task scheduling • task partitioning • task scheduling • local • global • task partitioning • task scheduling • idle?

  31. task0 task2 task4 task6 task8 task1 task3 task5 task7 task9 • Less shared state and data among cores • Locality important when sharing data • More message passing (via powerful interconnects) • Sleep cores when idle to save power

  32. Our efforts wrt. multi/many-core • New ways to program and analyze • Meng Liu (PhD Student) • Hamid Reza Faragardi (PhD Student) • New ways to partition and design • Moris Behnam (Senior Lecturer) • Daniel Hallmans (PhD Student) • New ways to execute • Mikael Åsberg (PhD Student) • Nima M. Khalilzad (PhD Student) • New ways to communicate and synchronize • Mohammad Ashjaei (PhD Student) • Sara Afshar (PhD Student)

  33. The Complex Real-Time Embedded (CORE) research group: Nima M. Khalilzad Daniel Hallmans Mohammad Ashjaei Sara Afshar Meng Liu Mikael Åsberg PhD student Post-doc Kristian Sandström Hamid R. Faragardi Moris Behnam Thomas Nolte TBD TBD Key CORE main research areas (2013): • Multi-core and many-core real-time systems • Real-time systems scheduling and synchronization • Predictable execution of real-time systems • Compositional execution and analysis of real-time systems • Simulation-based analysis of embedded systems • Stochastic and statistical analysis of real-time systems • Real-time communications • Adaptive and reconfigurable real-time systems CORE alumni: Insik Shin Holger Kienle Johan Kraft Farhang Nemati Yue Lu Anders Wall

  34. Embedded real-time systems: A multi-core salvation Thomas Nolte, 2013-04-25

More Related