1. Introduction. 2. Tests. 2.1 Hardware Tests Test modality
|
|
|
- Ophelia Watts
- 10 years ago
- Views:
Transcription
1 1. Introduction In this article we want to expose the results of a benchmark concerning real time performances of three RTOS: VRTXsa, RTAI and RTLinux. The goal of the project was to evaluate the possibility to migrate the operating system of an embedded telecommunication SBC from VRTXsa to a linux based one. This project has been realized as thesis work for a famous telecommunication company and has evolved under the supervision of the Rome s University La Sapienza. 2. Tests We executed hardware tests and software tests with different modalities to evaluate all parameters described above. This is the platform we used to execute these tests: Motorola Freescale PQ2FADS-VR CPU: PowerPc 2 Mhz - bus 66 Mhz. RAM: 32 Mb FLASH: 8 Mb. Tests have been executed without load and with two different load solutions in order to evaluate differences between the executions in relationship with the changing load. 2.1 Hardware Tests In hardware tests we use oscilloscope to measure hardware latency time: time which elapses between the generation of an interrupt and the moment its handler starts Test modality Hardware test have been done using oscilloscope. We made a little hardware modification: we built a bridge between LD13 led and C11 pin (of system expansion connector). C11 pin is the interrupt request pin and is connected with irq 6 signal (DP6/CSE/IRQ6#). Connection created between LD13 led and C11 pin is fundamental to reply infinitely the interrupt generation and its handling. Test program uses LD13 led pin to generate tension levels of +5V/V. Installing a new Interrupt Service Routine on interrupt 6 is possible to handle this interrupt. Turning on LD13 led we ll get a transition High Low of the tension level. Such event generate interrupt 6 and handler is started. The handler we defined will turn off, and on afterwards, LD13 led generating in this way a new interrupt and so on. In this way an infinite sequence of interrupt is generated. Applying the oscilloscope probe on the connection it s possible to analyse the wave form and to estimate with a good precision the time which elapses between the event and its handler starting. This time includes hardware latency and interrupt latency. Wave form on the monitor will be similar to the following one:
2 2.1.2 RTAI Measurements Figure 1 RTAI: Measure of maximum IRQ latency
3 Figure 2 - RTAI: Measure of minimum IRQ latency
4 Figure 3 - RTAI: Measure of maximum IRQ variation
5 2.1.3 RTLinux Measurements Figure 4 - RTLinux: Measure of maximum IRQ latency
6 Figure 5 - RTLinux: Measure of minimum IRQ latency
7 Figure 6 - RTLinux: Measure of maximum IRQ variation
8 2.1.4 VRTXsa Measurements Figure 7 - VRTXsa: Measure of maximum IRQ latency
9 Figure 8 - VRTXsa: Measure of minimum IRQ latency
10 Figure 9 - VRTXsa: Measure of maximum IRQ variation Results analysis We compiled the following graph to understand and analyse the data collected: Confronto latenza minima Massima e varianza IRQ latenze in nanosecondi Maximum Latency minimum Latency maximum Variation
11 In a RTOS Variation should be minimized. The difference between the quickest execution and the slowest one has to tend to zero to have a predictable system. RTAI is the best system with a value of 33 nanoseconds. RTLinux is 3 nanoseconds worst while VRTXsa reports even worst values overstepping 5 nanoseconds. A so high value in variation is given by some executions which raise the maximum latency value over one microsecond. The quickest executions instead report a time around the 6 nanoseconds. Considering the efficiency VRTXsa surely is the slowest system with a maximum latency higher than a microsecond. RTLinux is the quickest system with a minimum latency lower than 2 nanoseconds. RTAI reaches intermediate values: it has a slightly more uniform values set and is able to get the best variation value, 3 nanoseconds lower than RTLinux, being so the most predictable system.
12 2.2 Software Tests In software tests we measure ipc times using fifo queues and mailboxes. We re able to measure latency of fifo and mailboxes calls, intratask ipc times, and intertask ipc times plus context switching. We re able to obtain context switch time too, confronting the previous results Efficiency These tests measure the time spent by the operating system to execute some ipc calls. LatencyFIFO is a test which measures latency times of a call which writes 4 bytes of data on a FIFO queue Confronti latenza FIFO NS latenza FIFO
13 Confronti latenza FIFO US latenza FIFO Confronti latenza FIFO KS latenza FIFO VRTXsa is the slowest system reporting times near 5k nanoseconds. RTAI and RTLinux are much quicker: about 1k nanoseconds for RTAI and about 7 for RTLinux. These times really are very good and very hard to maintain stable especially under stress, in rare occasions in fact RTAI graph shows some peaks around 9k nanoseconds. VRTXsa graphs don t change very much: some peaks are present in the executions without stress, and these peaks increase in the executions under stress. RTLinux isn t affected by the stress increment and it would have the lowest variation if we don t consider a peak around 53k nanoseconds. This peak is a unique event and may be ignored as an anomaly. Fifo.c evaluates the time that a task spends to write and read a 4 bytes data block in a fifo queue.
14 Confronti efficienza FIFO NS - exec latenza FIFO VRTXsa RTLinux RTAI Confronti efficienza FIFO US - exec latenza FIFO VRTXsa RTLinux RTAI
15 Confronti efficienza FIFO KS - exec latenza FIFO VRTXsa RTLinux RTAI RTAI reports times about 2k nanoseconds lower than RTLinux which has however the less perturbed graph and, consequently, a lower variation than RTAI. The best system, considering the graph perturbation, is VRTXsa, but it s much slower than the other systems. FifoCS.c runs two concurrent tasks synchronized on a FIFO queue used to exchange messages. The time measured is the sum of writing and reading time from fifo queue, synchronization time and context switch time. Message is a struct of 16 bytes. VRTsa in this case moves only the address pointing to the struct, so only 4 bytes instead of 16. We have to consider this advantage while evaluating the following graphs. Confronti IPC FIFO NS - exec. 3 tempo IPC FIFO VRTXsa RTLinux RTAI
16 Confronti IPC FIFO US - exec. 2 tempo IPC FIFO VRTXsa RTLinux RTAI Confronti IPC FIFO KS - exec. 1 tempo IPC FIFO VRTXsa RTLinux RTAI VRTXsa is still the slowest system but with less perturbed graph. It seem it isn t affected by the stress increment: it shows peaks in all three executions although with different values. Linux systems are more similar considering both variation and efficiency. Also in this case efficiency is constant if stress increases. mbox.c runs two distinct tests: the first one measures the latency of a call writing a 16 bytes data block to a mailbox.
17 Confronti latenza mailboxes NS - exec. 1 latenza mailboxes VRTXsa RTLinux RTAI Confronti latenza mailboxes US - exec. 2 latenza mailboxes VRTXsa RTLinux RTAI
18 Confronti latenza mailboxes KS - exec. 3 latenza mailboxes VRTXsa RTLinux RTAI RTLinux seems to be the quickest system and VRTXsa the slowest one. RTAI is in the middle. RTAI s graph seems to be the less perturbed followed by RTLinux and VRTXsa which report very high peaks. RTAI seems to be much slower with stress in kernel space: it has a more perturbed graph. RTLinux instead is the system which isn t affected by the stress increment. Efficiency is constant for all the three systems but VRTXsa variation increases very much as RTAI variation increases a little. The second test is a mailboxes ipc test: two concurrent tasks exchange a message using a mailbox. In this case time is the sum of writing and reading from mailbox, synchronization time and context switch time. Message is a struct of a 16 bytes data block. VRTXsa moves only the addresses of this messages, so only 4 bytes instead of 16. We have to consider this advantage while evaluating the following graphs.
19 Confronti IPC mailboxes NS - exec tempo IPC mailboxes VRTXsa RTLinux RTAI Confronti IPC mailboxes US - exec tempo IPC mailboxes VRTXsa RTLinux RTAI
20 Confronti IPC mailboxes KS - exec tempo IPC mailboxes VRTXsa RTLinux RTAI RTLinux is the quickest system in this case too and isn t affected by the stress increment considering both variarion and efficiency. RTAI shows some peaks and a more perturbed graph if stress is increased. VRTXsa is the slowest system but has the less perturbed graph. It reports some peak which cause a high variation value. But we have to analyse better VRTXsa s behaviour. In the executions under stress a big number of iterations reported values of about 1 milliseconds. In some cases it didn t happened and in rare cases the whole execution of the test reported these values. In some cases the concurrent VRTXsa tasks are synchronized in a bad way and a whole system tick (just 1 milliseconds) elapses between the composition of the message and its receiving. This execution schema may explain better the idea:
21 DIAGRAMMI DI FLUSSO DI ESECUZIONE caso 1 OS: VRTXsa sorgente: mbox.c tipo di carico: assente slice slice t 1 t 2 t 3 [] server msg post delay [1] client pend get δ δ Il test calcola la differenza di tempo (in ns) che intercorre tra l istante in cui il server crea il messaggio e l istante in cui il client lo riceve. Un messaggio inviato ad una mailbox con sc_post è immediatamente allocato ad un eventuale task che è in attesa sulla mailbox. Il messaggio non è salvato nella mailbox in questo caso. Questo comportamento di VRTXsa fa in modo che al tempo t 3 il client abbia in realtà già ricevuto il messaggio che stava aspettando. Dunque si avrà che: Tempo IPC: (t 3 - t 1) = (δ 1 + δ 2) = ca. 45 ns DIAGRAMMI DI FLUSSO DI ESECUZIONE caso 2 OS: VRTXsa sorgente: mbox.c tipo di carico: assente slice t 1 t 2 t 3 [] server msg post delay [1] client pend get δ δ Il test calcola la differenza di tempo (in ns) che intercorre tra l istante in cui il server crea il messaggio e l istante in cui il client lo riceve. Dunque si avrà che: Tempo IPC: (t 3 - t 1) = (δ 1 + δ 2) = ca. 45 ns Such schemas show the normal synchronization possible between client task and server task in an execution without stress. In both cases at instant t1 message is composed by the server and at instant t3 message is read by the client.
22 In a stressed execution the scheduler has to manage three tasks. It s important to remember that these tasks are scheduled with a round robin time slice policy with a static fifo priority. Time slice can be set only to an integer multiple of the system tick, so minimum value is just one system tick = 1 milliseconds. Stress task is the first task to be executed. When its slice is over scheduler will bring it to ready state and will run instead the server task. It may happens that its slice ends after server composed the message and just before it writes it on the mailbox, so message contains value t1. Now scheduler will run client task which will execute immediately an sc_pend() call on mailbox. This call is blocking, so rescheduling procedure is started and scheduler will run the stress task according to fifo policy. Stress task will run for a time slice. After this period the server task will run again and it will write the message on the mailbox and then will wait on the synchronization semaphore. Since client task was already waiting for the message, VRTXsa will move the message right from the server to the client. So the elapsed time now will be the time between instant t4 and t1 and will comprehend a whole time slice: about 1 milliseconds. The following schema tries to show what just described: DIAGRAMMI DI FLUSSO DI ESECUZIONE OS: VRTXsa sorgente: mbox.c tipo di carico: kernel mode slice slice slice t 1 t 2 t 3 t 4 [] stress [1] server msg post delay [2] client pend get δ Il test calcola la differenza di tempo (in ns) che intercorre tra l istante in cui il server crea il messaggio e l istante in cui il client lo riceve. Un messaggio inviato ad una mailbox con sc_post è immediatamente allocato ad un eventuale task che è in attesa sulla mailbox. Il messaggio non è salvato nella mailbox in questo caso. Questo comportamento di VRTXsa fa in modo che al tempo t 4 il client abbia in realtà già ricevuto il messaggio che stava aspettando. Dunque si avrà che: δ Tempo IPC: (t 4 - t 1) = (1 slice + δ 1 + δ 2) = ca. 1 ns
23 Confronti medie senza stress latenza fifo efficienza fifo IPC fifo latenza mailboxes IPC mailboxes Confronti medie con stress in user space latenza fifo efficienza fifo IPC fifo latenza mailboxes IPC mailboxes
24 5. Confronti medie con stress in kernel space latenza fifo efficienza fifo IPC fifo latenza mailboxes IPC mailboxes We realized these graph to confront all the average values reported by every operating system in different tests. It s evident the difference between VRTXsa, generally the slowest system, and linux based systems. RTLinux seems to be generally the quickest system. The same values have been posed in relationship with stress to see immediately if there is influence of stress on the performances of a system. What is clear is that RTAI and RTLinux aren t affected by the stress increment, while VRTXsa is affected in an evident way and proportionally to the kind of stress, especially in ipc tests.
25 Confronti medie RTAI al variare dello stress latenza fifo efficienza fifo IPC fifo latenza mailboxes IPC mailboxes nessun carico stress in User Space stress in Kernel Space Confronti medie RTLinux al variare dello stress latenza fifo efficienza fifo IPC fifo latenza mailboxes IPC mailboxes nessun carico stress in User Space stress in Kernel Space
26 Confronti medie VRTXsa al variare dello stress latenza fifo efficienza fifo IPC fifo latenza mailboxes IPC mailboxes nessun carico stress in User Space stress in Kernel Space
27 2.2.2 Predictability We needed to create an index in order to measure the predictability of the system. We considered the average value of the executions of every test and increased it of a value called tolerance threshold. SPI (System s Predictability Index) is the percentage of executions which are below the threshold. general IPS value is the average of all IPS of every test with every stress condition. We used this data to paint the General IPS comparison graph. Following graphs are about the average IPS in relation with stress condition and about IPS of every single test for every operating system. 1, 8, 6, 4, 2,, Confronto IPS generale 92,34 91,67 98,1 Confronto IPS medio al variare dello stress 1, 9, 93,11 93,5 9,85 91,79 91,99 91,22 98,75 97,2 98,25 8, 7, 6, 5, 4, 3, 2, 1,, RTAI NS RTAI US RTAI KS RTLinux NS RTLinux US RTLinux KS VRTXsa NS VRTXsa US VRTXsa KS This graph confirm the higher predictability of VRTXsa. This parameter moreover is constant if stress is increased. RTAI seems to be slightly more predictable than RTLinux. Both linux systems have a low decrease of predictability if stress is increased.
28 Confronto IPS medio al variare del test - Senza Stress ,3 99,6 98,7 99,6 99,5 98,2 99,5 97, 92,8 94, 92, 9, 87,4 85,3 85,3 Latenza FIFO Efficienza FIFO IPC FIFO Latenza Mailboxes IPC Mailboxes Confronto IPS medio al variare del test - Stress in User Space ,4 92,3 91,7 99,5 94,3 99,8 9,8 85,3 98,7 85,3 99,6 99,2 98,7 97,5 9, Latenza FIFO Efficienza FIFO IPC FIFO Latenza Mailboxes IPC Mailboxes
29 Confronto IPS medio al variare del test - Stress in kernel Space 1 9 9,4 92, 84,7 97,5 89,7 99,6 92, 82,8 98,8 82,8 99,6 99,3 98,2 98,2 96, Latenza FIFO Efficienza FIFO IPC FIFO Latenza Mailboxes IPC Mailboxes With these graphs, one for every stress condition, we re able to determine for every test which is the most predictable system. They confirm that VRTXsa is the most predictable one and that it is the less affected by stress increasing although there is a big IPC decrease in mailbox test if stress is increased. Also linux systems generally are not very affected by stress increment, but they report a bigger IPS decrease in both ipc tests especially increasing the stress from user space to kernel space.
30 2.2.3 Variation A very important parameter is the variation between the slowest and quickest execution times. So, for every test, we considered the extremis of the interval of returned values. General Variation is the average of all variations of every test under every stress condition. We used this data to realize the graph of general variation comparison. Following graphs are about average variation in function of stress conditions and about variation of every test for every operating system Confronto Varianza generale It s possible to see, considering even only the general variation comparison graph, how worst is VRTXsa. This is because this operating system, although generally has a less perturbed graph, reports some very high peaks which increment the variation. Confronto Varianza media al variare dello stress RTAI NS RTAI US RTAI KS RTLinux NS RTLinux US RTLinux KS VRTXsa NS VRTXsa US VRTXsa KS In this graph we related average variation with stress increment. It s clear that Linux systems aren t affected by stress increment instead of VRTXsa. It seems that linux based systems report a lower variation if stress is incremented. Actually what happens is that a quick system without stress is able to get very quick executions and some slower executions. If stress is increased a RTOS won t overstep the limit of the slowest executions: the result is that fastest executions will be slowed down while slowest executions will generally be constant, and the variation between slowest and quickest execution will be lower. The following schema will explain better the idea: KS NS Figure 1 Variation difference between different stress loaded test
31 Generally VRTXsa has less perturbed graphs, and tends to a lower variation. But it reports some peaks in some executions. Since these peaks are proportional to the stress increment the result is that variation grew up very quickly. Confronto Varianza media al variare del test - Senza Stress Latenza FIFO Efficienza FIFO IPC FIFO Latenza Mailboxes IPC Mailboxes
32 Confronto Varianza media al variare del test - Stress in User Space Latenza FIFO Efficienza FIFO IPC FIFO Latenza Mailboxes IPC Mailboxes Confronto Varianza media al variare del test - Stress in kernel Space Latenza FIFO Efficienza FIFO IPC FIFO Latenza Mailboxes IPC Mailboxes With these graphs is possible to evaluate variation of every operating system for every test.
33 It is also possible to verify variation changing for every single test in relation with stress increment. These graphs confirm that VRTXsa is the system with the highest variation and the most affected by stress increment. We have also to note that the first graph and the following two have a different scale. Linux systems generally are not affected by stress increment but show a more sensible variation increment.
34 2.2.4 Context Switch Time Context Switch Time (CST) is a value that measures time spent by an operating system to complete the transition of the currently executing task from executing state to ready state and inverse transition of another task ready to be executed. This operation should take a constant time on a RTOS. Is value has not been directly measured, but is derived from reprocessing of data already collected using fifo and fifocs tests. If we detract values obtained from fifo.c from measurement returned from fifocs.c we ll get an indicative measurement of CST. Confronto CST medio al variare dello stress RTAI NS RTAI US RTAI KS RTLinux NS RTLinux US RTLinux KS VRTXsa NS VRTXsa US VRTXsa KS In this graph is clear that CST times are nearly constant in linux systems but they increase clearly in VRTXsa when stress is increased. The next graph instead reports in percentage the impact of CST and of overhead IPC intratask on the value returned from fifocs.c. We don t have to read from the following graph that RTAI is a system that takes less time to execute the context switch if under stress. We can understand instead that IPC intratask overhead graves proportionally more on the total time than the CST in the case of kernel space stress. It s mode interesting to consider that, proportionally on the time reported by fifocs.c, VRTXsa takes more time to execute context switch than linux based systems. Actually RTLinux seems to be the system which in proportion takes less time to switch the context: the time spent by RTLinux to switch from a task to another one is about the 35% of the time reported by fifocs.c without differences depending from stress. The 65% of the time is spent to execute the IPC intratask. This data confirms what already seen in the efficiency comparison graphs where RTLinux was slower than RTAI undepending by the stress. VRTXsa takes the 8% of the time to switch the context and finally RTAI takes about the 75% of time reported by fifocs.c. Differences related to stress increments are unimportant except for the case of RTAI in kernel space: in this test IPC intratask overhead graves more.
35 1% Confronto rapporto CST/IPC al variare dello stress 9% 8% 7% 6% 5% 4% 3% 2% 1% % CST RTAI NS CST RTAI US CST RTAI KS CST RTlinux NS CST RTLinux US CST RTLinux KS CST VRTXsa NS CST VRTXsa US CST VRTXsa KS
36 2.3 Final Comparisons Efficiency, Variation and Predictability are the three main parameters we detected to evaluate performances of a RTOS. Therefore we prepared some summary graphs just to put together these values. Variation is on x axis, efficiency on y axis (as execution average time). Each operating system is represented by a sphere which radius is its predictability. The optimum operating system is then the one that minimizes variation and execution times and maximizes the predictability. It will be represented by a sphere of maximum radius (1) situated just in the origin of axes. 18. Confronto di Sintesi per latenza FIFO senza Stress 13. Media tempi Varianza 18. Confronto di Sintesi per latenza FIFO con stress in User Space 13. Media tempi Varianza
37 18. Confronto di Sintesi per latenza FIFO con stress in Kernel Space 13. Media tempi Varianza It s evident in these first three graphs the VRTXsa worsening if stress is increased, while performances of the other systems are nearly constant. About predictability all the systems are comparable. 12. Confronto di Sintesi per efficienza FIFO - senza Stress Media tempi Varianza
38 12. Confronto di Sintesi per efficienza FIFO con stress in User Space Media tempi Varianza 12. Confronto di Sintesi per efficienza FIFO con stress in Kernel Space Media tempi Varianza Also in this case linux based system report constant variation, efficiency and predictability. RTLinux is the best system about variation. RTAI instead is the best about efficiency. All the systems are comparable about predictability. Again VRTXsa is very far from the origin.
39 7. Confronto di Sintesi per IPC con FIFO - senza Stress Media tempi Varianza 7. Confronto di Sintesi per IPC con FIFO con stress in User Space Media tempi Varianza
40 8. Confronto di Sintesi per IPC con FIFO con stress in Kernel Space Media tempi Varianza First of all we have to consider the different scale of these three graphs. VRTXsa is very far from the origin and it still moves away increasing the stress. In these, and the following graphs linux systems are always situated very close to the origin instead of VRTXsa. About predictability all systems are comparable. 7. Confronto di Sintesi per latenza mailboxes - senza Stress Media tempi Varianza
41 Confronto di Sintesi per latenza mailboxes con stress in User Space Media tempi Varianza 7. Confronto di Sintesi per latenza mailboxes con stress in Kernel Space Media tempi Varianza About efficiency and predictability all the systems are comparable. VRTXsa is a little bit slower but the main fact is that it reports a variation worsening if stress is increased. Linux systems spheres are very close to the origin.
42 1.2. Confronto di Sintesi per IPC con mailboxes - senza Stress Media tempi Varianza 1.2. Confronto di Sintesi per IPC con mailboxes con stress in User Space Media tempi Varianza
43 1.2. Confronto di Sintesi per IPC con mailboxes con stress in Kernel Space Media tempi Varianza The scale of these graphs may let think that the systems are comparable at least without stress. Instead about variation and efficiency VRTXsa has worst performances. RTLinux and RTAI are aligned about variation and efficiency but RTAI is better about predictability. Once again is evident the VRTXsa performance worsening related to the stress increasing. 3. Conclusions It seems generally clear that linux systems are more performing considering efficiency while VRTXsa has the less perturbed graph. It seem evident that linux systems are the best choice considering the following facts: - maximum efficiency values are always lower than VRTXsa minimum values - linux based systems peaks are more frequent but more modest than VRTXsa ones - VRTXsa in ipc tests has the advantage of managing a quarter the data linux manages (4 bytes against 16) Considering all these facts and what analysed previously, it seems that linux based systems are the best solution and that such systems can be a valid and more efficient alternative to VRTXsa. Therefore would be surely advisable a migration from VRTXsa to a linux based real time system.
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
Tasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
The Bus (PCI and PCI-Express)
4 Jan, 2008 The Bus (PCI and PCI-Express) The CPU, memory, disks, and all the other devices in a computer have to be able to communicate and exchange data. The technology that connects them is called the
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5
77 16 CPU Scheduling Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 Until now you have heard about processes and memory. From now on you ll hear about resources, the things operated upon
Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1
Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional
Comparison between scheduling algorithms in RTLinux and VxWorks
Comparison between scheduling algorithms in RTLinux and VxWorks Linköpings Universitet Linköping 2006-11-19 Daniel Forsberg ([email protected]) Magnus Nilsson ([email protected]) Abstract The
Lecture 3 Theoretical Foundations of RTOS
CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
INFORMATICA INDUSTRIALE
INFORMATICA INDUSTRIALE Lezione 5 Prof. Christian Forlani [email protected] Device Structure: Peripherals» I/O» Parallel Slave Port (PSP)» Timer» Capture/Compare/PWM (CCP)» Serial Slave Port (SSP)»
CPU Scheduling. CPU Scheduling
CPU Scheduling Electrical and Computer Engineering Stephen Kim ([email protected]) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling
Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems
1 Any modern computer system will incorporate (at least) two levels of storage: primary storage: typical capacity cost per MB $3. typical access time burst transfer rate?? secondary storage: typical capacity
Survey of software architectures: function-queue-scheduling architecture and real time OS
Survey of software architectures: function-queue-scheduling architecture and real time OS Reference: Simon chapter 5 Last class: round robin with interrupts and without interrupts Function-Queue-Scheduling
WINDOWS CE 5.0 ON AN X86 PLATFORM
Doc. No: EVA-2.9-TST-CE-x86-01 WINDOWS CE 5.0 ON AN X86 PLATFORM Copyright Dedicated Systems. All rights reserved, no part of the contents of this document may be reproduced or transmitted in any form
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
Application Performance Analysis and Troubleshooting
Exam : 1T6-520 Title : Application Performance Analysis and Troubleshooting Version : DEMO 1 / 6 1. When optimizing application efficiency, an improvement in efficiency from the current 90% to an efficiency
INFORMATICA INDUSTRIALE
INFORMATICA INDUSTRIALE Lezione 6 Prof. Christian Forlani [email protected] Tutor: Stefano Brusamolino [email protected] Device Structure: Peripherals» I/O» Parallel Slave Port (PSP)»
Enhancing the Monitoring of Real-Time Performance in Linux
Master of Science Thesis Enhancing the Monitoring of Real-Time Performance in Linux Author: Nima Asadi [email protected] Supervisor: Mehrdad Saadatmand [email protected] Examiner: Mikael
Performance analysis of a Linux based FTP server
Performance analysis of a Linux based FTP server A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Technology by Anand Srivastava to the Department of Computer Science
RTAI. Antonio Barbalace [email protected]. (modified by M.Moro 2011) RTAI
Antonio Barbalace [email protected] (modified by M.Moro 2011) Real Time Application Interface by Dipartimento di Ingegneria Aereospaziale dell Università di Milano (DIAPM) It is not a complete
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:
Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the
DDR subsystem: Enhancing System Reliability and Yield
DDR subsystem: Enhancing System Reliability and Yield Agenda Evolution of DDR SDRAM standards What is the variation problem? How DRAM standards tackle system variability What problems have been adequately
Process Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
Linux Scheduler. Linux Scheduler
or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it
How to Perform Real-Time Processing on the Raspberry Pi. Steven Doran SCALE 13X
How to Perform Real-Time Processing on the Raspberry Pi Steven Doran SCALE 13X Outline What is Real-Time? What is the Raspberry Pi? Can the Raspberry Pi handle Real-Time (And why would you want to? Why
What is an RTOS? Introduction to Real-Time Operating Systems. So what is an RTOS?(contd)
Introduction to Real-Time Operating Systems Mahesh Balasubramaniam What is an RTOS? An RTOS is a class of operating systems that are intended for real time-applications What is a real time application?
DAC Digital To Analog Converter
DAC Digital To Analog Converter DAC Digital To Analog Converter Highlights XMC4000 provides two digital to analog converters. Each can output one analog value. Additional multiple analog waves can be generated
How To Test The Power Of Ancientisk On An Ipbx On A Quad Core Ios 2.2.2 (Powerbee) On A Pc Or Ipbax On A Microsoft Ipbox On A Mini Ipbq
Load test of IP PBX Asterisk installed on mid-size server E.Anvaer, V.Dudchenko, SoftBCom, Ltd. (www.softbcom.ru) 21.07.2014 Direct load test of IP PBX Asterisk on Intel Xeon E5506 Quad-Core CPU shows
Optimization of Cluster Web Server Scheduling from Site Access Statistics
Optimization of Cluster Web Server Scheduling from Site Access Statistics Nartpong Ampornaramveth, Surasak Sanguanpong Faculty of Computer Engineering, Kasetsart University, Bangkhen Bangkok, Thailand
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
Real-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM
152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented
ò Scheduling overview, key trade-offs, etc. ò O(1) scheduler older Linux scheduler ò Today: Completely Fair Scheduler (CFS) new hotness
Last time Scheduling overview, key trade-offs, etc. O(1) scheduler older Linux scheduler Scheduling, part 2 Don Porter CSE 506 Today: Completely Fair Scheduler (CFS) new hotness Other advanced scheduling
REAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems
Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot
Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade
Application Note Windows 2000/XP TCP Tuning for High Bandwidth Networks mguard smart mguard PCI mguard blade mguard industrial mguard delta Innominate Security Technologies AG Albert-Einstein-Str. 14 12489
ICS 143 - Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian [email protected] Note that some slides are adapted from course text slides 2008 Silberschatz. Some
Monitoring Software using Sun Spots. Corey Andalora February 19, 2008
Monitoring Software using Sun Spots Corey Andalora February 19, 2008 Abstract Sun has developed small devices named Spots designed to provide developers familiar with the Java programming language a platform
Communication Protocol
Analysis of the NXT Bluetooth Communication Protocol By Sivan Toledo September 2006 The NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth
Bandwidth Calculations for SA-1100 Processor LCD Displays
Bandwidth Calculations for SA-1100 Processor LCD Displays Application Note February 1999 Order Number: 278270-001 Information in this document is provided in connection with Intel products. No license,
High Frequency Trading and NoSQL. Peter Lawrey CEO, Principal Consultant Higher Frequency Trading
High Frequency Trading and NoSQL Peter Lawrey CEO, Principal Consultant Higher Frequency Trading Agenda Who are we? Brief introduction to OpenHFT. What does a typical trading system look like What requirements
Predictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour [email protected]
Real-time KVM from the ground up
Real-time KVM from the ground up KVM Forum 2015 Rik van Riel Red Hat Real-time KVM What is real time? Hardware pitfalls Realtime preempt Linux kernel patch set KVM & qemu pitfalls KVM configuration Scheduling
Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
Xenomai: integration and qualification of a real time operating system ARMadeus Systems
: integration and qualification of a real time operating system ARMadeus Systems Gwenhaël 8 july 2009 1 / 22 Plan 1 2 3 of in a Buildroot environment 4 5 6 2 / 22 : basics Real time extension for Linux.
Linux for Embedded and Real-Time Systems
Linux for Embedded and Real-Time Systems Kaiserslautern 9 June 2005 Samir Amiry ([email protected]) Fraunhofer IESE Institut Experimentelles Software Engineering Outlines Introduction. Linux: the
Understanding Linux on z/vm Steal Time
Understanding Linux on z/vm Steal Time June 2014 Rob van der Heij [email protected] Summary Ever since Linux distributions started to report steal time in various tools, it has been causing
Operating Systems. Lecture 03. February 11, 2013
Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled
CPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking
Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking Roberto Bonafiglia, Ivano Cerrato, Francesco Ciaccia, Mario Nemirovsky, Fulvio Risso Politecnico di Torino,
The Real-Time Operating System ucos-ii
The Real-Time Operating System ucos-ii Enric Pastor Dept. Arquitectura de Computadors µc/os-ii Overview µc/os-ii Task Management Rate Monotonic Scheduling Memory Management µc/gui µc/fs Books and Resources
Whitepaper: performance of SqlBulkCopy
We SOLVE COMPLEX PROBLEMS of DATA MODELING and DEVELOP TOOLS and solutions to let business perform best through data analysis Whitepaper: performance of SqlBulkCopy This whitepaper provides an analysis
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
Load-Balancing for a Real-Time System Based on Asymmetric Multi-Processing
LIFL Report # 2004-06 Load-Balancing for a Real-Time System Based on Asymmetric Multi-Processing Éric PIEL [email protected] Philippe MARQUET [email protected] Julien SOULA [email protected]
Jorix kernel: real-time scheduling
Jorix kernel: real-time scheduling Joris Huizer Kwie Min Wong May 16, 2007 1 Introduction As a specialized part of the kernel, we implemented two real-time scheduling algorithms: RM (rate monotonic) and
PowerPC Microprocessor Clock Modes
nc. Freescale Semiconductor AN1269 (Freescale Order Number) 1/96 Application Note PowerPC Microprocessor Clock Modes The PowerPC microprocessors offer customers numerous clocking options. An internal phase-lock
Real-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are
Brennan Hughes Partner WWFIRS, LLC 312.924.1458 [email protected]
Brennan Hughes Partner WWFIRS, LLC 312.924.1458 [email protected] A program trading platform that uses powerful computers to transact a large number of orders at very fast speeds. High-frequency trading
Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts
Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting
Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies
Scheduling Main Points Scheduling policy: what to do next, when there are multiple threads ready to run Or multiple packets to send, or web requests to serve, or Definitions response time, throughput,
Real-Time Operating Systems for MPSoCs
Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor
Embedded & Real-time Operating Systems
Universität Dortmund 12 Embedded & Real-time Operating Systems Peter Marwedel, Informatik 12 Germany Application Knowledge Structure of this course New clustering 3: Embedded System HW 2: Specifications
1 Storage Devices Summary
Chapter 1 Storage Devices Summary Dependability is vital Suitable measures Latency how long to the first bit arrives Bandwidth/throughput how fast does stuff come through after the latency period Obvious
D1.2 Network Load Balancing
D1. Network Load Balancing Ronald van der Pol, Freek Dijkstra, Igor Idziejczak, and Mark Meijerink SARA Computing and Networking Services, Science Park 11, 9 XG Amsterdam, The Netherlands June [email protected],[email protected],
Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview
Technical Note TN-29-06: NAND Flash Controller on Spartan-3 Overview Micron NAND Flash Controller via Xilinx Spartan -3 FPGA Overview As mobile product capabilities continue to expand, so does the demand
1. Memory technology & Hierarchy
1. Memory technology & Hierarchy RAM types Advances in Computer Architecture Andy D. Pimentel Memory wall Memory wall = divergence between CPU and RAM speed We can increase bandwidth by introducing concurrency
Hard Real-Time Linux
Hard Real-Time Linux (or: How to Get RT Performances Using Linux) Andrea Bastoni University of Rome Tor Vergata System Programming Research Group [email protected] Linux Kernel Hacking Free Course
Gigabit Ethernet Packet Capture. User s Guide
Gigabit Ethernet Packet Capture User s Guide Copyrights Copyright 2008 CACE Technologies, Inc. All rights reserved. This document may not, in whole or part, be: copied; photocopied; reproduced; translated;
Informatica Ultra Messaging SMX Shared-Memory Transport
White Paper Informatica Ultra Messaging SMX Shared-Memory Transport Breaking the 100-Nanosecond Latency Barrier with Benchmark-Proven Performance This document contains Confidential, Proprietary and Trade
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
Oracle Database Scalability in VMware ESX VMware ESX 3.5
Performance Study Oracle Database Scalability in VMware ESX VMware ESX 3.5 Database applications running on individual physical servers represent a large consolidation opportunity. However enterprises
Linux A multi-purpose executive support for civil avionics applications?
August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability
Safe Kernel Scheduler Development with Bossa
Safe Kernel Scheduler Development with Bossa Gilles Muller Obasco Group, Ecole des Mines de Nantes/INRIA, LINA Julia L. Lawall DIKU, University of Copenhagen http://www.emn.fr/x-info/bossa 1 1 Process
White Paper Perceived Performance Tuning a system for what really matters
TMurgent Technologies White Paper Perceived Performance Tuning a system for what really matters September 18, 2003 White Paper: Perceived Performance 1/7 TMurgent Technologies Introduction The purpose
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC
Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC 1 Public ETAS/ESC 2014-02-20 ETAS GmbH 2014. All rights reserved, also regarding any disposal, exploitation, reproduction,
Priority Inversion Problem and Deadlock Situations
INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-11: Priority Inversion Problem and Deadlock Situations 1 1. Priority Inversion 2 Assume Priorities of tasks be in an order such that task I highest
Real- Time Scheduling
Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter
EECE 276 Embedded Systems
EECE 276 Embedded Systems Embedded SW Architectures Round-robin Function-queue scheduling EECE 276 Embedded Systems Embedded Software Architectures 1 Software Architecture How to do things how to arrange
Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:
Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
HP Smart Array Controllers and basic RAID performance factors
Technical white paper HP Smart Array Controllers and basic RAID performance factors Technology brief Table of contents Abstract 2 Benefits of drive arrays 2 Factors that affect performance 2 HP Smart Array
Influence of Load Balancing on Quality of Real Time Data Transmission*
SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 6, No. 3, December 2009, 515-524 UDK: 004.738.2 Influence of Load Balancing on Quality of Real Time Data Transmission* Nataša Maksić 1,a, Petar Knežević 2,
Performance Beyond PCI Express: Moving Storage to The Memory Bus A Technical Whitepaper
: Moving Storage to The Memory Bus A Technical Whitepaper By Stephen Foskett April 2014 2 Introduction In the quest to eliminate bottlenecks and improve system performance, the state of the art has continually
Storage. The text highlighted in green in these slides contain external hyperlinks. 1 / 14
Storage Compared to the performance parameters of the other components we have been studying, storage systems are much slower devices. Typical access times to rotating disk storage devices are in the millisecond
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
ELIXIR LOAD BALANCER 2
ELIXIR LOAD BALANCER 2 Overview Elixir Load Balancer for Elixir Repertoire Server 7.2.2 or greater provides software solution for load balancing of Elixir Repertoire Servers. As a pure Java based software
HARD DRIVE CHARACTERISTICS REFRESHER
The read/write head of a hard drive only detects changes in the magnetic polarity of the material passing beneath it, not the direction of the polarity. Writes are performed by sending current either one
An Introduction To Simple Scheduling (Primarily targeted at Arduino Platform)
An Introduction To Simple Scheduling (Primarily targeted at Arduino Platform) I'm late I'm late For a very important date. No time to say "Hello, Goodbye". I'm late, I'm late, I'm late. (White Rabbit in
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
