A Comparison of Scheduling Latency in Linux, PREEMPT_RT, and LITMUS RT. Felipe Cerqueira and Björn Brandenburg

Size: px
Start display at page:

Download "A Comparison of Scheduling Latency in Linux, PREEMPT_RT, and LITMUS RT. Felipe Cerqueira and Björn Brandenburg"

Transcription

1 A Comparison of Scheduling Latency in Linux, PREEMPT_RT, and LITMUS RT Felipe Cerqueira and Björn Brandenburg July 9th,

2 Linux as a Real-Time OS 2

3 Linux as a Real-Time OS Optimizing system responsiveness 3

4 Linux as a Real-Time OS Optimizing system responsiveness PREEMPT_RT (Linux) 4

5 Linux as a Real-Time OS Optimizing system responsiveness Algorithmic changes based on real-time systems research PREEMPT_RT (Linux) 5

6 Linux as a Real-Time OS Optimizing system responsiveness Algorithmic changes based on real-time systems research PREEMPT_RT (Linux) 6

7 PREEMPT_RT Main real-time branch of Linux Goal: decrease scheduling latency through the use of low-level hacks Convert in-kernel spinlocks into (preemptable) mutexes Limit the extent of non-preemptable sections Commonly evaluated with cyclictest Single, easy-to-compare measure of scheduling latency as output 7

8 Testbed for applied real-time systems research Goal Allow implementation and evaluation of novel multiprocessor schedulers and synchronization protocols NOT to reduce scheduling latency Evaluated with Feather-Trace Flexible, fine-grained measurement of different overheads 8

9 Testbed for applied real-time systems research Goal How do LITMUS RT and PREEMPT_RT compare? Allow implementation and evaluation of novel multiprocessor schedulers and synchronization protocols NOT to reduce scheduling latency Evaluated with Feather-Trace Flexible, fine-grained measurement of different overheads 9

10 Testbed for applied real-time systems research Goal How do LITMUS RT and PREEMPT_RT compare? Allow implementation and evaluation of novel multiprocessor schedulers and synchronization protocols NOT to reduce scheduling latency It is not straightforward to Evaluated with Feather-Trace compare them! Flexible, fine-grained measurement of different overheads 10

11 Objective vs. PREEMPT_RT (Linux) Direct comparison of scheduling latency between LITMUS RT and PREEMPT_RT 11

12 Background 12

13 How is LITMUS RT evaluated? Evaluated with Lightweight tracing framework for measuring fine-grained overheads (e.g., IPI latency, context-switching overhead, etc.) Extensively used (20+ publications) Suitable for schedulability analysis Check if a task is going to miss a deadline 13

14 How is PREEMPT_RT evaluated? Evaluated with cyclictest Standard benchmark for assessing real-time responsiveness Creator: Thomas Gleixner Current maintainer: Clark Williams Reports scheduling latency as a single measure Treats hardware and OS as a black-box 14

15 Scheduling Latency Time until the highest-priority task is scheduled brake sensor HP task interrupt! ECU! ISR called 15

16 Scheduling Latency Time until the highest-priority task is scheduled interrupt! wake up task Z Z Z Z T T T! s ISR called scheduler invoked 16

17 Scheduling Latency Time until the highest-priority task is scheduled interrupt! wake up task T T T! s P ISR called scheduler invoked task picked 17

18 Scheduling Latency Time until the highest-priority task is scheduled interrupt! wake up task T T T Perform context switch! s P C ISR called scheduler invoked task picked switched 18

19 Scheduling Latency Time until the highest-priority task is scheduled interrupt! wake up task T T T Perform context switch scheduling latency! s P C ISR called scheduler invoked task picked switched 19

20 How does cyclictest measure Scheduling Latency? Init Measure Exit 20

21 How does cyclictest measure Scheduling Latency? POSIX sched_setscheduler( ) Init Measure Exit Measuring thread is granted real-time status. 21

22 How does cyclictest measure Scheduling Latency? Init Measure Exit 22

23 How does cyclictest measure Scheduling Latency? Init Measure Exit Periodically setup one-shot timers with nanosleep. Calculate delta between the instant the task starts executing and the instant the timer should have fired. 23

24 How does cyclictest measure Scheduling Latency? Init Measure Exit 24

25 How does cyclictest measure Scheduling Latency? POSIX sched_setscheduler( ) Init Measure Exit Measuring thread returns to best-effort status. 25

26 cyclictest on LITMUS RT Init Measure Exit LITMUS RT does not use POSIX API to setup real-time tasks! 26

27 cyclictest on LITMUS RT Init Measure Exit LITMUS RT does not use POSIX API to setup real-time tasks! cyclictest works, but does not measure what we expect... 27

28 Porting cyclictest to LITMUS RT POSIX sched_setscheduler( ) POSIX sched_setscheduler( ) Init Measure Exit LITMUS RT does not use POSIX API to setup real-time tasks! cyclictest works, but does not measure what we expect... 28

29 Porting cyclictest to LITMUS RT POSIX sched_setscheduler( ) POSIX sched_setscheduler( ) Init Measure Exit LITMUS RT does not use POSIX API to setup real-time tasks! cyclictest works, but does not measure what we expect... 29

30 Porting cyclictest to LITMUS RT LITMUS RT API task_mode() LITMUS RT API task_mode() LITMUS RT Init Measure LITMUS RT Exit No changes in the measurement phase, no bias. 30

31 Study 31

32 Questions that We Address Stock Linux Userspace Scheduler + Dispatcher Linux (core) 32

33 Questions that We Address Stock Linux Userspace Scheduler + Dispatcher Linux (core) 32

34 The Cost of LITMUS RT LITMUS RT Stock Linux Userspace Scheduler + Dispatcher Linux (core) Userspace Scheduling Policy Plugins Dispatcher Linux (core) 33

35 The Cost of LITMUS RT LITMUS RT Stock Linux Userspace Scheduler + Dispatcher Linux (core) Userspace Scheduling Policy Plugins Dispatcher Linux (core) Question 1 How much latency does the scheduling policy interface add to the system? 34

36 LITMUS RT vs. PREEMPT_RT LITMUS RT Stock Linux Userspace Scheduler + Dispatcher Linux (core) Userspace Scheduling Policy Plugins Dispatcher Linux (core) PREEMPT_RT Userspace Scheduler + Dispatcher Linux (core) 35

37 LITMUS RT vs. PREEMPT_RT LITMUS RT Stock Linux Userspace Scheduler + Dispatcher Linux (core) Userspace Scheduling Policy Plugins Dispatcher Linux (core) PREEMPT_RT Userspace Scheduler + Dispatcher Linux (core) 36

38 LITMUS RT vs. PREEMPT_RT LITMUS RT Stock Linux Userspace Scheduler + Dispatcher Linux (core) Userspace Scheduling Policy Plugins Dispatcher Linux (core) PREEMPT_RT Userspace Scheduler + Dispatcher Linux (core) 36

39 LITMUS RT vs. PREEMPT_RT LITMUS RT Question 2 What is the penalty for LITMUS RT not being based on PREEMPT_RT? Userspace Scheduling Policy Plugins Dispatcher Linux (core) PREEMPT_RT Userspace Scheduler + Dispatcher Linux (core) 37

40 Evaluation Userspace Scheduler + Dispatcher Linux (core) 38

41 Evaluation Userspace Scheduler + Dispatcher Linux (core) 38

42 Evaluation cyclictest background Userspace + workload Scheduler + Dispatcher Linux (core) 39

43 Background Workloads NO background tasks CPU-bound background tasks I/O-bound background tasks 40

44 Experimental Setup Different kernels: 1.LITMUS RT (Linux 3.0) Partitioned Fixed Priority (P-FP), Partitioned EDF with synchronization support (PSN-EDF), Global EDF with synchronization support (GSN-EDF) 2.PREEMPT_RT (Linux ) 3.Unpatched Linux 3.0 and Linux } SCHED_FIFO 41

45 Experimental Setup 16-core Intel Xeon platform cyclictest s standard setup: one real-time task per processor periods: {1000, 1500, 2000,...} μs Duration: 20 minutes per experiment Almost 6 million samples for each case Results shown in microseconds 42

46 First Scenario NO background tasks 43

47 No Background Tasks Scheduling Latency (!s) 20 Average (99% conf.) Maximum P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 44

48 No Background Similar max. and Tasks avg. latency for Linux 3.0 and LITMUS RT. Scheduling Latency (!s) 20 Average (99% conf.) Maximum P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 45

49 No Background Similar max. and Tasks avg. latency for Linux 3.0 and LITMUS RT. Improved max. latency for PREEMPT_RT Scheduling Latency (!s) 20 Average (99% conf.) Maximum P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 46

50 Second Scenario CPU-bound background tasks Tasks running an infinite loop accessing memory (read/write) Working set larger than L2 cache size 47

51 Second Scenario CPU-bound background tasks Tasks running an infinite loop accessing memory (read/write) Working set larger than L2 cache size Generates memory traffic and cache contention! 48

52 CPU-bound Background Tasks Scheduling Latency (!s) 80 Average (99% conf.) 72.7 Maximum P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 49

53 CPU-bound Background Tasks Scheduling Latency (!s) Average (99% conf.) Maximum Latency under PREEMPT_RT is significantly lower P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 50

54 CPU-bound Background Tasks LITMUS RT s latency lower than on Linux 3.0? Scheduling Latency (!s) Average (99% conf.) 72.7 Maximum Latency under PREEMPT_RT is significantly lower P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 51

55 LITMUS RT vs. Linux 3.0:! CPU-bound Background Tasks log scale! number of samples 1e+07 1e Linux 3.0: scheduling latency (CPU-bound bg tasks) Linux 3.0 P-FP(LITMUS min=2.04us max=72.73us avg=4.22us median=3.86us stdev=1.37us RT ) avg=4.22!s max=72.73!s avg=5.17!s max=47.59!s samples: total= Scheduling Latency (!s) (Bin size = 1!s) overhead in microseconds (bin size = 1.00us) 52

56 LITMUS RT vs. Linux 3.0:! CPU-bound Background Tasks number of samples 1e+07 1e Linux 3.0: scheduling latency (CPU-bound bg tasks) Linux 3.0 P-FP(LITMUS min=2.04us max=72.73us avg=4.22us median=3.86us stdev=1.37us RT ) avg=4.22!s max=72.73!s avg=5.17!s max=47.59!s samples: total= samples out of ~6 million Scheduling Latency (!s) (Bin size = 1!s) overhead in microseconds (bin size = 1.00us) 53

57 LITMUS RT vs. Linux 3.0:! CPU-bound Background Tasks number of samples 1e+07 1e Linux 3.0: scheduling latency (CPU-bound bg tasks) Linux 3.0 P-FP(LITMUS min=2.04us max=72.73us avg=4.22us median=3.86us stdev=1.37us RT ) avg=4.22!s max=72.73!s avg=5.17!s max=47.59!s Slightly worse latencies on average Scheduling Latency (!s) (Bin size = 1!s) overhead in microseconds (bin size = 1.00us) samples: total=

58 LITMUS RT vs. Linux 3.0:! CPU-bound Background Tasks number of samples 1e+07 1e Linux 3.0: scheduling latency (CPU-bound bg tasks) Linux 3.0 P-FP(LITMUS min=2.04us max=72.73us avg=4.22us median=3.86us stdev=1.37us RT ) avg=4.22!s max=72.73!s avg=5.17!s max=47.59!s Scheduling Latency (!s) (Bin size = 1!s) overhead in microseconds (bin size = 1.00us) samples: total= extra spinlock lack of low-level optimizations 55

59 CPU-bound Background Tasks LITMUS RT incurs slightly Scheduling more latency Latency (!s) than 80Linux 3.0 on average Average (99% conf.) 72.7 Maximum Latency under PREEMPT_RT is significantly lower P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 56

60 Third Scenario I/O-bound background tasks hackbench: Linux scheduler stress tool bonnie++: Disk and file system benchmark wget: Network activity 57

61 Third Scenario I/O-bound background tasks Causes a lot of system calls and interrupts hackbench: Linux scheduler stress tool bonnie++: Disk and file system benchmark wget: Network activity 58

62 I/O-bound Background Tasks log scale! Scheduling Latency (!s) 10, Average (99% conf.) Maximum 1, P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 59

63 Huge impact on I/O-bound Background scheduling Tasks latency under standard Linux. Scheduling Latency (!s) Average (99% conf.) Maximum 10, , P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 60

64 Huge impact on I/O-bound Background scheduling Tasks latency under standard Linux. Scheduling Latency (!s) Average (99% conf.) Maximum 10, ,000 PREEMPT_RT is not affected by the interrupt load! P-FP (LITMUS^RT) Linux 3.0 PREEMPT_RT 61

65 Summary 1.Cost of the scheduling plugin layer 2.LITMUS RT vs. PREEMPT_RT 62

66 Summary 1.Cost of the scheduling plugin layer The overhead introduced by LITMUS RT is small 2.LITMUS RT vs. PREEMPT_RT 63

67 Summary 1.Cost of the scheduling plugin layer The overhead introduced by LITMUS RT is small 2.LITMUS RT vs. PREEMPT_RT PREEMPT_RT significantly decreases scheduling latency. 64

68 Importance of Feather-Trace cyclictest was ported to LITMUS RT. Should it become the standard tool for evaluating LITMUS RT? 65

69 Importance of Feather-Trace cyclictest was ported to LITMUS RT. Should it become the standard tool for evaluating LITMUS RT? NO! 66

70 Interference? OOPS... a higher priority task interrupt! wake up task T T T! s ISR called scheduler invoked 67

71 Interference? interrupt! wake up task T T T! s? ISR called scheduler invoked another task picked 68

72 Interference? interrupt! wake up task T T T! s?... P ISR called scheduler invoked another task picked task picked 69

73 Interference? interrupt! wake up task T This length of this interval depends on the execution of other tasks... T T! s?... P ISR called scheduler invoked another task picked task picked 70

74 Interference?..., which depends on other kinds of overhead, preemptions, context switches, etc. interrupt! wake up task T This length of this interval depends on the execution of other tasks... T T! s?... P ISR called scheduler invoked another task picked task picked 71

75 Interference?..., which depends on other kinds of overhead, preemptions, context switches, etc. interrupt! wake up task This length of this interval depends on the execution of other tasks... T T T Overhead-aware schedulability analysis is required!! s?... P ISR called scheduler invoked another task picked task picked 72

76 cyclictest or Feather-Trace? BOTH! cyclictest LITMUS RT /Feather-Trace Practical, easy-tounderstand measure Can easily compare responsiveness between kernels. For tasks other than the highest-priority ones, schedulability analysis is necessary. Only with Feather-Trace we obtain the data required for the analysis. 73

77 Conclusion LITMUS RT : small overheads in comparison with stock Linux PREEMPT_RT is highly necessary for Linux as a RTOS LITMUS RT will be ported to PREEMPT_RT soon Scheduling latency should not be used as the sole metric for quantifying real-time guarantees 74

78 Thank You! We also have a patch that implements Feather-Trace on top of standard Linux, enabling fine-grained measurements. 75

79 Appendix 76

80 Linux 3.0 vs. Linux

81 No Background Tasks Scheduling Latency (!s) Average Maximum Linux 3.0 Linux

82 No Background Tasks Scheduling Latency (!s) 25 Average Maximum 20 Similar averages Linux 3.0 Linux

83 No Background Tasks number of samples number of samples 1e+07 1e e+07 1e Linux 3.0 Linux 3.0: scheduling latency (no bg tasks) min=1.87us max=13.89us avg=2.89us median=2.77us stdev=0.51us avg=2.89!s max=13.89!s Linux samples: total= Linux : scheduling latency (no bg tasks) min=1.52us overhead max=19.73us in microseconds avg=2.89us (bin median=2.58us size = 1.00us) stdev=0.69us avg=2.89!s max=19.73!s samples: total= Similar shapes

84 CPU-bound Background Tasks Scheduling Latency (!s) Average Maximum Linux 3.0 Linux

85 CPU-bound Background Tasks Scheduling Latency (!s) Similar averages 40 Average Maximum Linux 3.0 Linux

86 CPU-bound Background Tasks number of samples number of samples 1e+07 1e e+07 1e Linux 3.0 Linux 3.0: scheduling latency (CPU-bound bg tasks) min=2.04us max=72.73us avg=4.22us median=3.86us stdev=1.37us avg=4.22!s max=72.73!s Linux samples: total= Linux : scheduling latency (CPU-bound bg tasks) min=2.14us overhead max=64.47us in microseconds avg=4.02us (bin median=3.67us size = 1.00us) stdev=1.20us avg=4.02!s max=64.47!s samples: total= Similar shapes

87 I/O-bound Background Tasks log scale! Scheduling Latency (!s) 10, Average Maximum , Linux 3.0 Linux

88 I/O-bound Background Tasks Scheduling Latency (!s) 10, ,000 Similar averages 100 Average Maximum Linux 3.0 Linux

89 I/O-bound Background Tasks number of samples number of samples 1e+07 1e e+07 1e Linux 3.0 Linux 3.0: scheduling latency (IO-bound bg tasks) min=1.85us max= us avg=6.39us median=4.98us stdev=13.25us avg=6.39!s max= !s Linux samples: total= Linux : scheduling latency (IO-bound bg tasks) min=1.85us max= us overhead in microseconds avg=6.23us (bin median=4.60us size = 1.00us) stdev=15.91us avg=6.23!s max= !s samples: total= Similar shapes

90 LITMUS RT s plugins 87

91 No Background Tasks Scheduling Latency (!s) Average 26.2 Maximum P-FP PSN-EDF GSN-EDF 88

92 No Background Tasks Similar shapes 1e+07 1e LITMUS^RT G-EDF: scheduling latency (no bg tasks) min=1.59us max=14.34us avg=3.06us median=2.56us stdev=1.18us 1e+07 samples: total= e number of samples LITMUS^RT P-EDF: scheduling latency (no bg tasks) min=1.76us max=26.17us avg=3.45us median=2.87us stdev=1.24us overhead in microseconds (bin size = 1.00us) overhead in microseconds (bin size = 1.00us) LITMUS^RT P-FP: scheduling P-FPlatency (no bg tasks) min=1.96us max=15.13us avg=3.45us median=3.10us stdev=1.03us number of samples GSN-EDF avg=3.06!s max=14.34!s 1e+07 1e avg=3.45!s max=15.13!s samples: total= overhead in microseconds (bin size = 1.00us) PSN-EDF avg=3.45!s max=26.17!s samples: total=

93 No Background Tasks Similar shapes 1e+07 1e LITMUS^RT G-EDF: scheduling latency (no bg tasks) min=1.59us max=14.34us avg=3.06us median=2.56us stdev=1.18us 1e+07 samples: total= e+06 number of samples LITMUS^RT P-EDF: scheduling latency (no bg tasks) min=1.76us max=26.17us avg=3.45us median=2.87us stdev=1.24us overhead in microseconds (bin size = 1.00us) overhead in microseconds (bin size = 1.00us) LITMUS^RT P-FP: scheduling P-FPlatency (no bg tasks) min=1.96us max=15.13us avg=3.45us median=3.10us stdev=1.03us number of samples GSN-EDF avg=3.06!s max=14.34!s 1e+07 1e avg=3.45!s max=15.13!s samples: total= overhead in microseconds (bin size = 1.00us) PSN-EDF avg=3.45!s max=26.17!s 2 samples samples: total=

94 CPU-bound Background Tasks Scheduling Latency (!s) 80 Average 73.3 Maximum P-FP PSN-EDF GSN-EDF 91

95 CPU-bound Background Tasks 1e+07 1e LITMUS^RT G-EDF: scheduling latency (CPU-bound bg tasks) min=1.91us max=60.20us avg=5.81us median=5.39us stdev=2.51us samples: total= e+07 1e+06 number of samples LITMUS^RT P-EDF: scheduling latency (CPU-bound bg tasks) min=2.40us max=73.27us avg=5.14us median=4.21us stdev=2.95us samples: total= overhead in microseconds (bin size = 1.00us) overhead in microseconds (bin size = 1.00us) LITMUS^RT P-FP: scheduling P-FP latency (CPU-bound bg tasks) min=2.10us max=47.59us avg=5.17us median=4.37us stdev=2.75us number of samples GSN-EDF avg=5.81!s max=60.20!s 1e+07 1e avg=5.17!s max=47.59!s overhead in microseconds (bin size = 1.00us) samples: total= PSN-EDF avg=5.14!s max=73.27!s Similar shapes 92

96 CPU-bound Background Tasks 1e+07 1e LITMUS^RT G-EDF: scheduling latency (CPU-bound bg tasks) min=1.91us max=60.20us avg=5.81us median=5.39us stdev=2.51us samples: total= e+07 1e+06 number of samples LITMUS^RT P-EDF: scheduling latency (CPU-bound bg tasks) min=2.40us max=73.27us avg=5.14us median=4.21us stdev=2.95us samples: total= samples overhead in microseconds (bin size = 1.00us) overhead in microseconds (bin size = 1.00us) LITMUS^RT P-FP: scheduling P-FP latency (CPU-bound bg tasks) min=2.10us max=47.59us avg=5.17us median=4.37us stdev=2.75us number of samples GSN-EDF avg=5.81!s max=60.20!s 1e+07 1e avg=5.17!s max=47.59!s overhead in microseconds (bin size = 1.00us) samples: total= PSN-EDF avg=5.14!s max=73.27!s Similar shapes 93

97 I/O-bound Background Tasks log scale! Scheduling Latency (!s) 10, Average Maximum , P-FP PSN-EDF GSN-EDF 94

98 I/O-bound Background Tasks Scheduling Latency (!s) 10, Similar results 1,000for P-FP and PSN-EDF 100 Average Maximum P-FP PSN-EDF GSN-EDF 95

99 I/O-bound Background Tasks Scheduling Latency (!s) 10, Similar results 1,000for P-FP and PSN-EDF 100 Average Maximum Higher average for GSN-EDF P-FP PSN-EDF GSN-EDF 96

100 I/O-bound Background Tasks 1e+07 1e LITMUS^RT G-EDF: scheduling latency (IO-bound bg tasks) min=2.26us max= us avg=10.95us median=7.38us stdev=14.11us 1e+07 samples: total= e number of samples LITMUS^RT P-EDF: scheduling latency (IO-bound bg tasks) min=1.98us max= us avg=6.56us median=5.11us stdev=12.66us overhead in microseconds (bin size = 1.00us) overhead in microseconds (bin size = 1.00us) LITMUS^RT P-FP: scheduling P-FP latency (IO-bound bg tasks) min=1.89us max= us avg=6.60us median=5.17us stdev=12.76us number of samples GSN-EDF avg=10.95!s max= !s 1e+07 1e avg=6.60!s max= !s overhead in microseconds (bin size = 1.00us) samples: total= PSN-EDF avg=6.56!s max= !s samples: total= Similar shapes 97

101 I/O-bound Background Tasks 1e+07 1e LITMUS^RT G-EDF: scheduling latency (IO-bound bg tasks) min=2.26us max= us avg=10.95us median=7.38us stdev=14.11us 1e+07 samples: total= e number of samples LITMUS^RT P-EDF: scheduling latency (IO-bound bg tasks) min=1.98us max= us avg=6.56us median=5.11us stdev=12.66us overhead in microseconds (bin size = 1.00us) overhead in microseconds (bin size = 1.00us) LITMUS^RT P-FP: scheduling P-FP latency (IO-bound bg tasks) min=1.89us max= us avg=6.60us median=5.17us stdev=12.76us number of samples GSN-EDF avg=10.95!s max= !s Higher average 1e+07 1e avg=6.60!s max= !s overhead in microseconds (bin size = 1.00us) samples: total= PSN-EDF avg=6.56!s max= !s samples: total= Similar shapes 98

102 threadirqs in Linux

103 No Background Tasks number of samples number of samples Linux threadirqs Linux : scheduling latency (no bg tasks) min=1.60us max=25.15us avg=2.82us median=2.65us stdev=0.47us avg=2.82!s max=25.15!s 1e+07 samples: total= e Linux : scheduling Linux latency (no bg tasks) min=1.52us overhead max=19.73us in microseconds avg=2.89us (bin median=2.58us size = 1.00us) stdev=0.69us avg=2.89!s max=19.73!s 1e+07 samples: total= e

104 CPU-bound Background Tasks number of samples number of samples 1e+07 1e e+07 1e Linux threadirqs Linux : scheduling latency (CPU-bound bg tasks) min=1.95us max=40.90us avg=3.67us median=3.29us stdev=1.19us avg=3.67!s max=40.90!s Linux samples: total= Linux : scheduling latency (CPU-bound bg tasks) min=2.14us overhead max=64.47us in microseconds avg=4.02us (bin median=3.67us size = 1.00us) stdev=1.20us avg=4.02!s max=64.47!s samples: total=

105 I/O-bound Background Tasks number of samples number of samples 1e+07 1e e+07 1e Linux threadirqs Linux : scheduling latency (IO-bound bg tasks) min=1.51us max= us avg=5.89us median=4.67us stdev=14.33us avg=5.89!s max= !s Linux samples: total= Linux : scheduling latency (IO-bound bg tasks) min=1.85us max= us overhead in microseconds avg=6.23us (bin median=4.60us size = 1.00us) stdev=15.91us avg=6.23!s max= !s samples: total=

Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling

Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling RTAS 13 April 10, 2013 Björn B. bbb@mpi-sws.org Semaphores + P-FP Scheduling Used in practice: VxWorks, QNX, ThreadX,

More information

Evaluation of Real-time Performance in Embedded Linux. Hiraku Toyooka, Hitachi. LinuxCon Europe Hitachi, Ltd All rights reserved.

Evaluation of Real-time Performance in Embedded Linux. Hiraku Toyooka, Hitachi. LinuxCon Europe Hitachi, Ltd All rights reserved. Evaluation of Real-time Performance in Embedded Linux LinuxCon Europe 2014 Hiraku Toyooka, Hitachi 1 whoami Hiraku Toyooka Software engineer at Hitachi " Working on operating systems Linux (mainly) for

More information

Fast on Average, Predictable in the Worst Case

Fast on Average, Predictable in the Worst Case Fast on Average, Predictable in the Worst Case Exploring Real-Time Futexes in LITMUSRT Roy Spliet, Manohar Vanga, Björn Brandenburg, Sven Dziadek IEEE Real-Time Systems Symposium 2014 December 2-5, 2014

More information

Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung

Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung April 15th, 2008 CE Linux Forum 1 Contents Introduction Current RealTime Testing Methods Plan April 15th, 2008 CE Linux

More information

Evaluation of uclinux and PREEMPT_RT for Machine Control System

Evaluation of uclinux and PREEMPT_RT for Machine Control System Evaluation of uclinux and PREEMPT_RT for Machine Control System 2014/05/20 Hitachi, Ltd. Yokohama Research Lab Linux Technology Center Yoshihiro Hayashi yoshihiro.hayashi.cd@hitachi.com Agenda 1. Background

More information

Real Time Linux patches: history and usage

Real Time Linux patches: history and usage Real Time Linux patches: history and usage Presentation first given at: FOSDEM 2006 Embedded Development Room See www.fosdem.org Klaas van Gend Field Application Engineer for Europe Why Linux in Real-Time

More information

LITMUS RT : A Hands-On Primer

LITMUS RT : A Hands-On Primer LITMUS RT : A Hands-On Primer Manohar Vanga, Mahircan Gül, Björn Brandenburg MPI-SWS, Kaiserslautern, Germany Goals A whirlwind tour of LITMUS RT Working with scheduler plugins. Running real-time tasks

More information

Computer Science Window-Constrained Process Scheduling for Linux Systems

Computer Science Window-Constrained Process Scheduling for Linux Systems Window-Constrained Process Scheduling for Linux Systems Richard West Ivan Ganev Karsten Schwan Talk Outline Goals of this research DWCS background DWCS implementation details Design of the experiments

More information

Measuring the impacts of the Preempt-RT patch

Measuring the impacts of the Preempt-RT patch Measuring the impacts of the Preempt-RT patch maxime.chevallier@smile.fr October 25, 2017 RT Linux projects Simulation platform : bi-xeon, lots ot RAM 200µs wakeup latency, networking Test bench : Intel

More information

Real-Time Performance of Linux. OS Latency

Real-Time Performance of Linux. OS Latency Real-Time Performance of Linux Among others: A Measurement-Based Analysis of the Real- Time Performance of Linux (L. Abeni, A. Goel, C. Krasic, J. Snow, J. Walpole) [RTAS 2002] OS Latency Definition [OS

More information

How Linux RT_PREEMPT Works

How Linux RT_PREEMPT Works How Linux RT_PREEMPT Works A common observation about real time systems is that the cost of the increased determinism of real time is decreased throughput and increased average latency. This presentation

More information

LITMUS RT : A Hands-On Primer

LITMUS RT : A Hands-On Primer LITMUS RT : A Hands-On Primer Manohar Vanga, Mahircan Gül, Björn Brandenburg MPI-SWS, Kaiserslautern, Germany Goals A whirlwind tour of LITMUS RT Working with scheduler plugins. Running real-time tasks

More information

Empirical Approximation and Impact on Schedulability

Empirical Approximation and Impact on Schedulability Cache-Related Preemption and Migration Delays: Empirical Approximation and Impact on Schedulability OSPERT 2010, Brussels July 6, 2010 Andrea Bastoni University of Rome Tor Vergata Björn B. Brandenburg

More information

10 th AUTOSAR Open Conference

10 th AUTOSAR Open Conference 10 th AUTOSAR Open Conference Yuchen Zhou, Thomas E Fuhrman, Prathap Venugopal General Motors Scheduling Techniques for Automated Driving Systems using the AUTOSAR Adaptive Platform AUTOSAR Nov-2017 Agenda

More information

Latency on preemptible Real-Time Linux

Latency on preemptible Real-Time Linux Appendix 1 Latency on preemptible Real-Time Linux on DCP-SH7780 Contents 1.1 Getting Started.......................................... 1 1.2 Rtrtc Driver........................................... 2 1.3

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission

More information

Hardware Latencies How to flush them out (A use case) Steven Rostedt Red Hat

Hardware Latencies How to flush them out (A use case) Steven Rostedt Red Hat Hardware Latencies How to flush them out (A use case) Steven Rostedt Red Hat Here s a story, of a lovely lady... No this isn t the Brady Bunch Nor is it about a lovely lady But it probably could have been

More information

Development of Real-Time Systems with Embedded Linux. Brandon Shibley Senior Solutions Architect Toradex Inc.

Development of Real-Time Systems with Embedded Linux. Brandon Shibley Senior Solutions Architect Toradex Inc. Development of Real-Time Systems with Embedded Linux Brandon Shibley Senior Solutions Architect Toradex Inc. Overview Toradex ARM-based System-on-Modules Pin-Compatible SoM Families In-house HW and SW

More information

Reference Model and Scheduling Policies for Real-Time Systems

Reference Model and Scheduling Policies for Real-Time Systems ESG Seminar p.1/42 Reference Model and Scheduling Policies for Real-Time Systems Mayank Agarwal and Ankit Mathur Dept. of Computer Science and Engineering, Indian Institute of Technology Delhi ESG Seminar

More information

RT extensions/applications of general-purpose OSs

RT extensions/applications of general-purpose OSs EECS 571 Principles of Real-Time Embedded Systems Lecture Note #15: RT extensions/applications of general-purpose OSs General-Purpose OSs for Real-Time Why? (as discussed before) App timing requirements

More information

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5 OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

Adaptive Clustered EDF in LITMUS RT

Adaptive Clustered EDF in LITMUS RT Adaptive Clustered EDF in LITMUS RT Aaron Block,. Sherman, Texas William Kelley, BAE Systems. Ft. Worth, Texas Adaptable System: Whisper Whisper is a motion tracking system Speakers are placed on users

More information

Path analysis vs. empirical determination of a system's real-time capabilities: The crucial role of latency tests

Path analysis vs. empirical determination of a system's real-time capabilities: The crucial role of latency tests Path analysis vs. empirical determination of a system's real-time capabilities: The crucial role of latency tests Carsten Emde Open Source Automation Development Lab (OSADL) eg Issues leading to system

More information

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System Abstract In this paper, we address the latency issue in RT- XEN virtual machines that are available in Xen 4.5. Despite the advantages of applying virtualization to systems, the default credit scheduler

More information

Operating Systems. Process scheduling. Thomas Ropars.

Operating Systems. Process scheduling. Thomas Ropars. 1 Operating Systems Process scheduling Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2018 References The content of these lectures is inspired by: The lecture notes of Renaud Lachaize. The lecture

More information

Rt-tests Status report

Rt-tests Status report Rt-tests Status report Quick overview of the tests in the suite Discussion of recent changes and new features Ideas for the future Discussion / Open the floor to a wishlist for the future. rt-tests Suite

More information

Scaling Global Scheduling with Message Passing

Scaling Global Scheduling with Message Passing Scaling Global Scheduling with Message Passing Felipe Cerqueira Manohar Vanga Björn B. Brandenburg Max Planck Institute for Software Systems (MPI-SWS) Abstract Global real-time schedulers have earned the

More information

Sporadic Server Scheduling in Linux Theory vs. Practice. Mark Stanovich Theodore Baker Andy Wang

Sporadic Server Scheduling in Linux Theory vs. Practice. Mark Stanovich Theodore Baker Andy Wang Sporadic Server Scheduling in Linux Theory vs. Practice Mark Stanovich Theodore Baker Andy Wang Real-Time Scheduling Theory Analysis techniques to design a system to meet timing constraints Schedulability

More information

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same

More information

Shielded Processors: Guaranteeing Sub-millisecond Response in Standard Linux

Shielded Processors: Guaranteeing Sub-millisecond Response in Standard Linux Shielded Processors: Guaranteeing Sub-millisecond Response in Standard Linux Steve Brosky and Steve Rotolo Concurrent Computer Corporation 2881 Gateway Drive, Pompano Beach, FL 33069 Abstract The low latency

More information

Processes and Threads

Processes and Threads OPERATING SYSTEMS CS3502 Spring 2018 Processes and Threads (Chapter 2) Processes Two important types of dynamic entities in a computer system are processes and threads. Dynamic entities only exist at execution

More information

Adventures In Real-Time Performance Tuning, Part 2

Adventures In Real-Time Performance Tuning, Part 2 Adventures In Real-Time Performance Tuning, Part 2 The real-time for Linux patchset does not guarantee adequate real-time behavior for all target platforms. When using real-time Linux on a new platform

More information

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University Motivations Cyber-physical applications Sensor-actuator loops Ubiquity

More information

ANALYSIS OF A DYNAMIC FREQUENCY SCALING ALGORTIHM ON XSCALE.

ANALYSIS OF A DYNAMIC FREQUENCY SCALING ALGORTIHM ON XSCALE. ANALYSIS OF A DYNAMIC FREQUENCY SCALING ALGORTIHM ON XSCALE. Group 9 Ishdeep Singh Sawhney (issawhne@unity.ncsu.edu) Shobhit Kanaujia (sokanauj@unity.ncsu.edu) Prasanth Ganesan (pganesa@unity.ncsu.edu)

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 6 Accounting for I/O Latency September 28, 2015 Sam Siewert A Service Release and Response C i WCET Input/Output Latency Interference Time Response Time = Time Actuation

More information

Performance Evaluation of Xenomai 3

Performance Evaluation of Xenomai 3 Performance Evaluation of Xenomai 3 Ching-Chun (Jim) Huang **, Chan-Hsiang Lin **, and Che-Kang Wu * * Department of Computer Science and Information Engineering, National Cheng Kung University, Taiwan

More information

Extending RTAI Linux with Fixed-Priority Scheduling with Deferred Preemption

Extending RTAI Linux with Fixed-Priority Scheduling with Deferred Preemption Extending RTAI Linux with Fixed-Priority Scheduling with Deferred Preemption Mark Bergsma, Mike Holenderski, Reinder J. Bril, Johan J. Lukkien System Architecture and Networking Department of Mathematics

More information

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0 White Paper A TimeSys Perspective on the Linux Preemptible Kernel A White Paper from TimeSys Corporation Introduction One of the most basic

More information

UNIT -3 PROCESS AND OPERATING SYSTEMS 2marks 1. Define Process? Process is a computational unit that processes on a CPU under the control of a scheduling kernel of an OS. It has a process structure, called

More information

Efficient Implementation of IPCP and DFP

Efficient Implementation of IPCP and DFP Efficient Implementation of IPCP and DFP N.C. Audsley and A. Burns Department of Computer Science, University of York, York, UK. email: {neil.audsley, alan.burns}@york.ac.uk Abstract Most resource control

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 7 Review October 9, 2017 Sam Siewert Coming Next Finish Up with Recount of Mars Pathfinder and Unbounded Priority Inversion Mike Jone s Page (Microsoft) Glenn Reeves on

More information

By Arjan Van De Ven, Senior Staff Software Engineer at Intel.

By Arjan Van De Ven, Senior Staff Software Engineer at Intel. Absolute Power By Arjan Van De Ven, Senior Staff Software Engineer at Intel. Abstract: Power consumption is a hot topic from laptop, to datacenter. Recently, the Linux kernel has made huge steps forward

More information

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13 PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific

More information

Real-time in embedded Linux systems

Real-time in embedded Linux systems Real-time in embedded Linux systems Michael Opdenacker Copyright 2004-2011, Free Electrons. Creative Commons BY-SA 3.0 license Latest update: Nov 2, 2011, Document sources, updates and translations: http://free-electrons.com/docs/realtime

More information

Multiprocessor Systems. Chapter 8, 8.1

Multiprocessor Systems. Chapter 8, 8.1 Multiprocessor Systems Chapter 8, 8.1 1 Learning Outcomes An understanding of the structure and limits of multiprocessor hardware. An appreciation of approaches to operating system support for multiprocessor

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Spring 2018 Lecture 15: Multicore Geoffrey M. Voelker Multicore Operating Systems We have generally discussed operating systems concepts independent of the number

More information

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities Arpan Gujarati, Felipe Cerqueira, and Björn Brandenburg Multiprocessor real-time scheduling theory Global

More information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an

More information

Realtime Tuning 101. Tuning Applications on Red Hat MRG Realtime Clark Williams

Realtime Tuning 101. Tuning Applications on Red Hat MRG Realtime Clark Williams Realtime Tuning 101 Tuning Applications on Red Hat MRG Realtime Clark Williams Agenda Day One Terminology and Concepts Realtime Linux differences from stock Linux Tuning Tools for Tuning Tuning Tools Lab

More information

Timers 1 / 46. Jiffies. Potent and Evil Magic

Timers 1 / 46. Jiffies. Potent and Evil Magic Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50

More information

RT- Xen: Real- Time Virtualiza2on. Chenyang Lu Cyber- Physical Systems Laboratory Department of Computer Science and Engineering

RT- Xen: Real- Time Virtualiza2on. Chenyang Lu Cyber- Physical Systems Laboratory Department of Computer Science and Engineering RT- Xen: Real- Time Virtualiza2on Chenyang Lu Cyber- Physical Systems Laboratory Department of Computer Science and Engineering Embedded Systems Ø Consolidate 100 ECUs à ~10 multicore processors. Ø Integrate

More information

CSE398: Network Systems Design

CSE398: Network Systems Design CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline

More information

* There are more than 100 hundred commercial RTOS with memory footprints from few hundred kilobytes to large multiprocessor systems

* There are more than 100 hundred commercial RTOS with memory footprints from few hundred kilobytes to large multiprocessor systems Presented material is based on ü Laura Carnevali: Formal Methods in the Development Life Cycle of Realtime Systems. PhD-Thesis, Univ. of Florence (IT) 2010. (Ch. 1.1-1.3) ü Doug Abbott: Linux for Embedded

More information

SMD149 - Operating Systems

SMD149 - Operating Systems SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program

More information

Reservation-Based Scheduling for IRQ Threads

Reservation-Based Scheduling for IRQ Threads Reservation-Based Scheduling for IRQ Threads Luca Abeni, Nicola Manica, Luigi Palopoli luca.abeni@unitn.it, nicola.manica@gmail.com, palopoli@dit.unitn.it University of Trento, Trento - Italy Reservation-Based

More information

QoS support for Intelligent Storage Devices

QoS support for Intelligent Storage Devices QoS support for Intelligent Storage Devices Joel Wu Scott Brandt Department of Computer Science University of California Santa Cruz ISW 04 UC Santa Cruz Mixed-Workload Requirement General purpose systems

More information

Paul E. McKenney, Distinguished Engineer IBM Linux Technology Center

Paul E. McKenney, Distinguished Engineer IBM Linux Technology Center Ottawa Linux Symposium Real Time vs. Real Fast : How to Choose? Paul E. McKenney, Distinguished Engineer July 23, 2008 Overview 2008 Ottawa Linux Symposium What is Real Time and Real Fast, Anyway??? Example

More information

A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications

A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications ECRTS 13 July 12, 2013 Björn B. bbb@mpi-sws.org A Rhetorical Question On uniprocessors, why do we use the

More information

Real-Time Internet of Things

Real-Time Internet of Things Real-Time Internet of Things Chenyang Lu Cyber-Physical Systems Laboratory h7p://www.cse.wustl.edu/~lu/ Internet of Things Ø Convergence of q Miniaturized devices: integrate processor, sensors and radios.

More information

Evaluation of an RTOS on top of a hosted virtual machine system

Evaluation of an RTOS on top of a hosted virtual machine system Evaluation of an RTOS on top of a hosted virtual machine system Mehdi Aichouch, Jean-Christophe Prevotet, Fabienne Nouvel To cite this version: Mehdi Aichouch, Jean-Christophe Prevotet, Fabienne Nouvel.

More information

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Processes and threads 1 Overview Process concept Process scheduling Thread

More information

Real-Time Technology in Linux

Real-Time Technology in Linux Real-Time Technology in Linux Sven-Thorsten Dietrich Real-Time Architect Introductions MontaVista Software is a leading global supplier of systems software and development tools for intelligent connected

More information

Threads. Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011

Threads. Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011 Threads Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011 Threads Effectiveness of parallel computing depends on the performance of the primitives used to express

More information

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) CPU Scheduling Daniel Mosse (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process

More information

Understanding Real Time Linux. Alex Shi

Understanding Real Time Linux. Alex Shi Understanding Real Time Linux Alex Shi Agenda What s real time OS RTL project status RT testing and tracing Reasons of latency and solutions for them Resources Summary What s real time OS Real time and

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers

More information

Evaluation of Real-time operating systems for FGC controls

Evaluation of Real-time operating systems for FGC controls Evaluation of Real-time operating systems for FGC controls Konstantinos Chalas, CERN, Geneva, Switzerland September 2015 Abstract Power Converter Control for various experiments at CERN, is conducted using

More information

Threads. CS3026 Operating Systems Lecture 06

Threads. CS3026 Operating Systems Lecture 06 Threads CS3026 Operating Systems Lecture 06 Multithreading Multithreading is the ability of an operating system to support multiple threads of execution within a single process Processes have at least

More information

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter Lecture Topics Today: Advanced Scheduling (Stallings, chapter 10.1-10.4) Next: Deadlock (Stallings, chapter 6.1-6.6) 1 Announcements Exam #2 returned today Self-Study Exercise #10 Project #8 (due 11/16)

More information

Scheduling Mar. 19, 2018

Scheduling Mar. 19, 2018 15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note

More information

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

IX: A Protected Dataplane Operating System for High Throughput and Low Latency IX: A Protected Dataplane Operating System for High Throughput and Low Latency Belay, A. et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Reviewed by Chun-Yu and Xinghao Li Summary In this

More information

hrtimers and beyond transformation of the Linux time(r) system OLS 2006

hrtimers and beyond transformation of the Linux time(r) system OLS 2006 hrtimers and beyond transformation of the Linux time(r) system Thomas Gleixner Douglas Niehaus OLS 2006 Original time(r) system Arch 1 Timekeeping TOD Clock source Tick ISR Clock event source Process acc.

More information

e-ale-rt-apps Building Real-Time Applications for Linux Version c CC-BY SA4

e-ale-rt-apps Building Real-Time Applications for Linux Version c CC-BY SA4 e-ale-rt-apps Building Real-Time Applications for Linux Version 20181023 ii The E-ALE (Embedded Apprentice Linux Engineer) is a series of seminars held at existing conferences covering topics which are

More information

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition,

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition, Chapter 5: CPU Scheduling Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009 Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms

More information

Arachne. Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout

Arachne. Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout Arachne Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout Granular Computing Platform Zaharia Winstein Levis Applications Kozyrakis Cluster Scheduling Ousterhout Low-Latency RPC

More information

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation Meng Xu Linh Thi Xuan Phan Hyon-Young Choi Insup Lee Department of Computer and Information Science

More information

Real-Time Operating Systems Design and Implementation. LS 12, TU Dortmund

Real-Time Operating Systems Design and Implementation. LS 12, TU Dortmund Real-Time Operating Systems Design and Implementation (slides are based on Prof. Dr. Jian-Jia Chen) Anas Toma, Jian-Jia Chen LS 12, TU Dortmund October 19, 2017 Anas Toma, Jian-Jia Chen (LS 12, TU Dortmund)

More information

Exam Review TexPoint fonts used in EMF.

Exam Review TexPoint fonts used in EMF. Exam Review Generics Definitions: hard & soft real-time Task/message classification based on criticality and invocation behavior Why special performance measures for RTES? What s deadline and where is

More information

Data Processing on Modern Hardware

Data Processing on Modern Hardware Data Processing on Modern Hardware Jens Teubner, TU Dortmund, DBIS Group jens.teubner@cs.tu-dortmund.de Summer 2014 c Jens Teubner Data Processing on Modern Hardware Summer 2014 1 Part V Execution on Multiple

More information

Chapter 5: CPU Scheduling. Operating System Concepts 9 th Edit9on

Chapter 5: CPU Scheduling. Operating System Concepts 9 th Edit9on Chapter 5: CPU Scheduling Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling 1. Basic Concepts 2. Scheduling Criteria 3. Scheduling Algorithms 4. Thread

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

NuttX Realtime Programming

NuttX Realtime Programming NuttX RTOS NuttX Realtime Programming Gregory Nutt Overview Interrupts Cooperative Scheduling Tasks Work Queues Realtime Schedulers Real Time == == Deterministic Response Latency Stimulus Response Deadline

More information

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc Interrupt response times on Arduino and Raspberry Pi Tomaž Šolc tomaz.solc@ijs.si Introduction Full-featured Linux-based systems are replacing microcontrollers in some embedded applications for low volumes,

More information

Buttress: A toolkit for flexible and high fidelity I/O benchmarking

Buttress: A toolkit for flexible and high fidelity I/O benchmarking Appears in the Proceedings of the 3rd Conference on File and Storage Technologies (FAST 4). (31 Mar 2 Apr 24, San Francisco, CA). Published by USENIX, Berkeley, CA. Buttress: A toolkit for flexible and

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

Outline. Introduction. Survey of Device Driver Management in Real-Time Operating Systems

Outline. Introduction. Survey of Device Driver Management in Real-Time Operating Systems Survey of Device Driver Management in Real-Time Operating Systems Sebastian Penner +46705-396120 sebastian.penner@home.se 1 Outline Introduction What is a device driver? Commercial systems General Description

More information

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Embedded Systems: OS Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Standalone Applications Often no OS involved One large loop Microcontroller-based

More information

RT- Xen: Real- Time Virtualiza2on from embedded to cloud compu2ng

RT- Xen: Real- Time Virtualiza2on from embedded to cloud compu2ng RT- Xen: Real- Time Virtualiza2on from embedded to cloud compu2ng Chenyang Lu Cyber- Physical Systems Laboratory Department of Computer Science and Engineering Real- Time Virtualiza2on for Cars Ø Consolidate

More information

CS140 Operating Systems Midterm Review. Feb. 5 th, 2009 Derrick Isaacson

CS140 Operating Systems Midterm Review. Feb. 5 th, 2009 Derrick Isaacson CS140 Operating Systems Midterm Review Feb. 5 th, 2009 Derrick Isaacson Midterm Quiz Tues. Feb. 10 th In class (4:15-5:30 Skilling) Open book, open notes (closed laptop) Bring printouts You won t have

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8.

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8. Multiprocessor System Multiprocessor Systems Chapter 8, 8.1 We will look at shared-memory multiprocessors More than one processor sharing the same memory A single CPU can only go so fast Use more than

More information

Real Time Operating Systems and Middleware

Real Time Operating Systems and Middleware Real Time Operating Systems and Middleware Introduction to Real-Time Systems Luca Abeni abeni@disi.unitn.it Credits: Luigi Palopoli, Giuseppe Lipari, Marco Di Natale, and Giorgio Buttazzo Scuola Superiore

More information

Towards Partitioned Hierarchical Real-Time Scheduling on Multi-core Processors

Towards Partitioned Hierarchical Real-Time Scheduling on Multi-core Processors Towards Partitioned Hierarchical Real-Time Scheduling on Multi-core Processors Mikael Åsberg Mälardalen Real-Time Research Center Mälardalen University Västerås, Sweden mikael.asberg@mdh.se Thomas Nolte

More information

Real Time BoF ELC 2012

Real Time BoF ELC 2012 Real Time BoF ELC 2012 This session provides a forum to discuss Real Time Linux, share how you are using it, and learn from the experiences of others. Please come prepared to discuss your experiences with

More information

Testing real-time Linux: What to test and how.

Testing real-time Linux: What to test and how. Testing real-time Linux: What to test and how. Sripathi Kodi sripathik@in.ibm.com Agenda IBM Linux Technology Center What is a real-time Operating System? Enterprise real-time Real-Time patches for Linux

More information

Process Characteristics

Process Characteristics Threads 1 Chapter 4 2 Process Characteristics We ve mentioned a process as having two characteristics Unit of resource ownership: processes have their own dedicated memory address space processes temporarily

More information