1 / 29

Evaluating the performance of wait-free snapshots in real-time systems

Evaluating the performance of wait-free snapshots in real-time systems. Björn Allvin Andreas Ermedahl Hans Hansson Marina Papatriantafilou Håkan Sundell Philippas Tsigas. What are we evaluating How did we do the evaluation Evaluation platform Analysis Experiments Conclusions

lakia
Download Presentation

Evaluating the performance of wait-free snapshots in real-time systems

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. Evaluating the performance of wait-free snapshots in real-time systems Björn Allvin Andreas Ermedahl Hans Hansson Marina Papatriantafilou Håkan Sundell Philippas Tsigas

  2. What are we evaluating How did we do the evaluation Evaluation platform Analysis Experiments Conclusions Future work Schedule

  3. Snapshot A consistent momentous state of a set of several shared variables One reader Reads the whole set of variables in one atomic step Many writers Writes to only one variable each time What are we evaluating

  4. Synchronization methods Lock Uses semaphores, spinning, disabling interrupts Negative Blocking Priority inversion Risk of deadlock Positive Execution time guarantees easy to do What are we evaluating Take lock ... do operation ... Release lock

  5. Synchronization methods Lock-free Retries until not interfered by other operations Usually uses some kind of shared flag variable What are we evaluating Write flag ... do operation ... Check flag and maybe retry

  6. Synchronization methods Lock-free Negative No execution time guarantees, can continue forever - thus can cause starvation Positive Avoids blocking and priority inversion Avoids deadlock Fast execution when low contention What are we evaluating

  7. Synchronization methods Wait-free Uses atomic synchronization primitives Uses shared memory Negative Complex algorithms Memory consuming What are we evaluating Test&Set Compare &Swap Copying Helping Announcing Split operation ???

  8. Synchronization methods Wait-free Positive Execution time guarantees Fast execution Avoids blocking and priority inversion Avoids deadlock Avoids starvation Same implementation on both single- and multiprocessor systems What are we evaluating

  9. Wait-free snapshot algorithm Several register copies Uses Test&Set for synchronization Used by reader Used by writer What are we evaluating

  10. Analytically Single-processor system Measured schedulability How did we do the evaluation

  11. Experimentally Single-processor system Measured schedulability Multi-processor system with CAN-bus Measured snapshot response time How did we do the evaluation

  12. Hardware CAN-bus , 1 Mhz Nodes 1 processor , Motorola 68020 , 20 MHz Single wait-state memory CAN-controller Evaluation platform

  13. Software RTOS Device tasks (interrupts) Updater tasks Local snapshot tasks System snapshot task Evaluation platform

  14. Additional parameters Snapshot algorithm timings from WCET analysis Cross-compiling Cycle counting CAN-bus timing from estimation Evaluation platform

  15. Parameters 10 tasks 15 devices Snapshot of 5 components Analysis

  16. Response time formulas Analysis   Ri  Ri = Ci +  Cj Tj jhp(i) ... ...

  17. Generation of 100 random scenarios for each of 31 different CPU loads Each scenario schedulable without any synchronization method Analysis

  18. Results Analysis

  19. Simulation RT-simulator in Erlang Fixed priority preemptive scheduler Execution time Semaphores Memory Messages Experiments

  20. Single-node Parameters 10 tasks 15 devices Snapshot of 5 components Experiments

  21. Single-node Simulator programming Using subset of scenarios used for the analysis Lock Execution and semaphores Lock-free Execution and shared memory Wait-free Execution Experiments

  22. Single-node Results Experiments

  23. Multi-node CAN-simulation Sending Execution Receiving Execution of highest priority task Execution Experiments

  24. Multi-node Parameters 10 nodes 10 tasks on each node 15 devices on each node Local snapshot of 24 components on each node 1 super snapshot task on last node Experiments

  25. Multi-node Simulator programming Using subset of scenarios used for the analysis Lock Execution, semaphores and messages Lock-free Execution, shared memory and messages Wait-free Execution and messages Experiments

  26. Multi-node Results Experiments

  27. Multi-node Results Experiments

  28. Wait-free is always better than lock Lock-free mostly performs better than lock Single-node Lock-free performs best in practice Wait-free performs very good Multi-node Lock-free performs poor Wait-free performs best Conclusions

  29. Investigations of other wait-free synchronization methods Implementations in RTOS kernels, by Enea and NRTG WARPing project - http://www.cs.chalmers.se/~phs/warp Future work

More Related