DREMS-OS: An Operating System for Managed Distributed Real-time Embedded Systems

Size: px
Start display at page:

Download "DREMS-OS: An Operating System for Managed Distributed Real-time Embedded Systems"

Transcription

1 1 DREMS-OS: An Operating System for Managed Distributed Real-time Embedded Systems Abhishek Dubey, Gabor Karsai, Aniruddha Gokhale, William Emfinger, Pranav Kumar ISIS, Dept of EECS, Vanderbilt University, Nashville, TN 37235, USA Abstract Distributed real-time and embedded (DRE) systems executing mixed criticality task sets are increasingly being deployed in mobile and embedded cloud computing platforms, including space applications. These DRE systems must not only operate over a range of temporal and spatial scales, but also require stringent assurances for secure interactions between the system s tasks without violating their individual timing constraints. To address these challenges, this paper describes a novel distributed operating system focusing on the scheduler design to support the mixed criticality task sets. Empirical results from experiments involving a case study of a cluster of satellites emulated in a laboratory testbed validate our claims. I. INTRODUCTION The emerging realm of mobile and embedded cloud computing, which leverages the progress made in computing and communication on mobile devices and sensors necessitates a platform for running distributed, real-time, and embedded (DRE) systems. Ensembles of mobile devices are being used as a computing resource in space missions as well: satellite clusters provide a dynamic environment for deploying and managing distributed mission applications; see, e.g. NASA s Edison Demonstration of SmallSat Networks, TanDEM-X, PROBA-3, and Prisma from ESA, and DARPA s System F6. As an example consider a cluster of satellites that execute software applications distributed across the satellites. One application is a safety-critical cluster flight application (CFA) that controls the satellite s flight and is required to respond to emergency scatter commands. Running concurrently with the CFA, image processing applications (IPA) utilize the satellites sensors and consume much of the CPU resources. IPAs from different vendors may have different security privileges and so may have controlled access to sensor data. Sensitive camera data must be compartmentalized and must not be shared between these IPAs, unless explicitly permitted. These applications must also be isolated from each other to prevent performance impact or fault propagation between applications due to lifecycle changes. However, the isolation should not waste CPU resources when applications are dormant because, for example, a sensor is active only in certain segments of the satellite s orbit. Other applications should be able to opportunistically use the CPU during these dormant phases. One technique for implementing strict application isolation is temporal and spatial partitioning of processes (see [1]). Spatial separation provides a physically separated memory address space for each process. Temporal partitioning provides a periodically repeating fixed interval of CPU time that is exclusively assigned to a group of cooperating tasks. Note that strictly partitioned systems are typically configured with a static schedule; any change in the schedule requires the system to be rebooted [1]. To address these needs, we have developed an architecture called Distributed REaltime Managed System (DREMS) [2]. This paper focuses on the design and implementation of key components of the operating system layer in DREMS. It describes the design choices and algorithms used in the design of the DREMS OS scheduler. The scheduler supports three criticality levels: critical, application, and best effort. It supports temporal and spatial partitioning for applicationlevel tasks. Tasks in a partition are scheduled in a workconserving manner. Through a CPU cap mechanism, it also ensures that no task starves for the CPU. Furthermore, it allows dynamic reconfiguration of the temporal partitions. We empirically validated the design in the context of a case study: a managed DRE system running on a laboratory testbed. The outline of this paper is as follows: Section II presents the related research; Section III describes the system model and delves into the details of the scheduler design; Section IV empirically evaluates DREMS OS in the context of a representative space application; and finally Section V offers concluding remarks referring to future work. II. RELATED RESEARCH Our approach has been inspired by two domains: mixed criticality systems and partitioning operating systems. A mixed criticality computing system has two or more criticality levels on a single shared hardware platform, where the distinct levels are motivated by safety and/or security concerns. For example, an avionics system can have safety-critical, mission-critical, and non-critical tasks. In [3], Vestal argued that the criticality levels directly impact the task parameters, especially the worst-case execution time (WCET). In his framework, each task has a maximum criticality level and a non-increasing WCET for successively decreasing criticality levels. For criticality levels higher than the task maximum, the task is excluded from the analyzed set of tasks. Thus increasing criticality levels result in a more conservative verification process. He extended the responsetime analysis of fixed priority scheduling to mixed criticality task sets. His results were later improved by Baruah et al. [4] where an implementation was proposed for fixed priority single processor scheduling of mixed-criticality tasks with optimal priority assignment and response-time analysis. Partitioning operating systems have been applied to avionics (e.g., LynxOS-178 [5]), automotive (e.g., Tresos, the operating

2 2 Major frame Minor frame P 1 P 2 P 3 P 1 P 2 P 4 P 1 P 2 P 3 P 1 P 2 Hyperperiod Fig. 1: A Major Frame. The four partitions (period,duration) in this frame are P 1 (2s, 0.25s), P 2 (2s, 0.25s), P 3 (4s, 1s), and P 4 (8s, 1.5s). system defined in AUTOSAR [6]), and cross-industry domains (DECOS OS [7]). A comparison of the mentioned partitioning operating systems can be found in [8]. They provide applications shared access to critical system resources on an integrated computing platform. Applications may belong to different security domains and can have different safety-critical impact on the system. To avoid unwanted interference between the applications, reliable protection is guaranteed in both the spatial and the temporal domain that is achieved by using partitions on the system level. Spatial partitioning ensures that an application cannot access another application s code or data in memory or on disk. Temporal partitioning guarantees an application access to the critical system (CPU) resources via dedicated time intervals regardless of other applications. Our approach combines mixed-criticality and partitioning techniques to meet the requirements of secure DRE systems. DREMS supports multiple levels of criticality, with tasks being assigned to a single criticality level. For security and fault isolation reasons, applications are strictly separated by means of spatial and temporal partitioning, and applications are required to use a novel secure communication method for all communications, described in DREMS [9]. Our work has many similarities with the resource-centric real-time kernel [10] to support real-time requirements of distributed systems hosting multiple applications. Though achieved differently, both frameworks use deployment services for the automatic deployment of distributed applications, and enforcing resource isolation among applications. However, to the best of our knowledge, [10] does not include support for process management, temporal isolation guarantees, partition management, and secure communication simultaneously. III. DREMS ARCHITECTURE DREMS [9], [2], [11] is a distributed system architecture that consists of one or more computing nodes grouped into a cluster. It is conceptually similar to the recent Fog Computing Architecture [12]. Distributed applications, composed from cooperating processes called actors, provide services for the end-user. Actors specialize the notion of OS processes; they have persistent identity that allows them to be transparently migrated between nodes, and they have strict limits on resources that they can use. Each actor is constructed from one or more reusable components [13], [11] where each component is single-threaded. A. Partitioning Support The system guarantees spatial isolation between actors by (a) providing a separate address space for each actor; (b) enforcing that an I/O device can be accessed by only one actor at a time; and (c) facilitating temporal isolation between processes by the scheduler. Spatial isolation is implemented by the Memory Management Unit of the CPU, while temporal isolation is provided via ARINC-653 [1] style temporal partitions, implemented in the OS scheduler. A temporal partition is characterized by two parameters: period and duration. The period reflects how often the tasks of the partition will be guaranteed CPU allocation. The duration governs the length of the CPU allocation window in each cycle. Given the period and duration of all temporal partitions, an execution schedule can be generated by solving a series of constraints, see [14]. A feasible solution, e.g. Figure 1, comprises a repeating frame of windows, where each window is assigned to a partition. These windows are called minor frames. The length of a window assigned to a partition is always the same as the duration of that partition. The repeating frame of minor frames, known as the major frame, has a length called the hyperperiod. The hyperperiod is the lowest common multiple of the partition periods. B. Criticality Levels Supported by the DREMS OS Scheduler The DREMS OS scheduler has the ability to manage CPU time for tasks at three different criticality levels: Critical, Application and Best Effort. The Critical tasks provide kernel level services and system management services. These tasks will be scheduled based on their priority whenever they are ready. Application tasks are mission specific and are isolated from each other. These tasks are constrained by temporal partitioning and can be preempted by tasks of the Critical level. Finally, Best Effort tasks are executed whenever no tasks of any higher criticality level are available. Note that actors in an application can have different criticality levels, but all tasks associated with an actor must have the same criticality level, i.e. an actor cannot have both Critical tasks and Application tasks. C. Multiple partitions To support the different levels of criticality, we extend the runqueue data structure of the Linux kernel [15]. A runqueue maintains a list of tasks eligible for scheduling. In a multicore system, this structure is replicated per CPU. In a fully preemptive mode, the scheduling decision is made by evaluating which task should be executed next on a CPU when an interrupt handler exits, when a system call returns, or when the scheduler function is explicitly invoked to preempt the current process. We created one runqueue per temporal partition per CPU. Currently, the system can support 64 Temporal partitions, also referred to as Application partitions in the sequel. One extra runqueue is created for the critical tasks. These tasks are said to belong to the System partition. The Best effort tasks are managed through the Linux Completely Fair Scheduler (default) runqueue and are considered for execution as part of the System partition when no other tasks are eligible to run.

3 3 D. CPU Cap and Work Conserving Behavior The schedulability of the Application level tasks is constrained by the current load coming from the Critical tasks and the temporal partitioning used on the Application level. Should the load of the Critical tasks exceed a threshold the system will not be able to schedule tasks on the Application level. A formal analysis of the response-time of the Application level tasks will not be provided in this paper, however, we present a description of the method we will use to address the analysis which will build on available results from [4], [16], [17]. The submitted load function H i (t) determines the maximum load submitted to a partition by the task τ i itself after its release together with all higher priority tasks belonging to the same partition. The availability function A S (t) returns for each time instant the cumulative computation time available for the partition to execute tasks. In the original model [16] A S (t) is the availability function of a periodic server. The response-time of a task τ i is the time when H i (t) intersects the availability function A S (t) for the first time. In our system A S (t) is decreased by the load of the available Critical tasks which, if unbounded, could block the application level tasks forever. This motivates us to enforce a bound on the load of the Critical tasks. This bound is referred to as CPU cap. In DREMS OS, the CPU cap can be applied to tasks on the Critical and Application level to provide scheduling fairness within a partition or hyperperiod. Between criticality levels, the CPU cap provides the ability to prevent higher criticality tasks from starving lower criticality tasks of the CPU. On the Application level, the CPU cap can be used to bound the CPU consumption of higher priority tasks to allow the execution of lower priority tasks inside the same partition. If the CPU cap enforcement is enabled, then it is possible to set a maximum CPU time that a task can use, measured over a configurable number of major frame cycles. The CPU cap is enforced in a work conserving manner, i.e., if a task has reached its CPU cap but there are no other available tasks, the scheduler will continue scheduling the task past its ceiling. In case of Critical tasks, when the CPU cap is reached, the task is not marked ready for execution unless (a) there is no other ready task in the system; or (b) the CPU cap accounting is reset. This behavior ensures that the kernel tasks, such as those belonging to network communication, do not overload the system, for example in a denial-of-service attack. For the tasks on the Application level, the CPU cap is specified as a percentage of the total duration of the partition, the number of major frames, and the number of CPU cores available all multiplied together. When an Application task reaches the CPU cap, it is not eligible to be scheduled again unless the following is true: either (a) there are no Critical tasks to schedule and there are no other ready tasks in the partition; or (b) the CPU cap accounting has been reset. E. Dynamic Major Frame Configuration During the configuration process that can be repeated at any time without rebooting the node, the kernel receives the major frame structure that contains a list of minor frames and it also contains the length of the hyperperiod, partition periodicity, and duration. Note that major frame reconfiguration can only be performed by an actor with suitable capabilities. More details on the DREMS capability model can be found in [9]. Before the frames are set up, the process configuring the frame has to ensure that the following three constraints are met: (C0) The hyperperiod must be the least common multiple of partition periods; (C1) The offset between the major frame start and the first minor frame of a partition must be less than or equal to the partition period: ( p P)(O p 1 φ(p)); (C2) Time between any two executions should be equal to the partition period: ( p P)(k [1, N(p) 1])(O p k+1 = O p k + φ(p)), where P is the set of all partitions, N(p) is the number of partitions, φ(p) is the period of partition p and (p) is the duration of the partition p. O p i is the offset of ith minor frame for partition p from the start of the major frame, H is the hyperperiod. The kernel checks two additional constraints: (1) All minor frames finish before the end of the hyperperiod: ( i)(o i.start + O i.duration H) and (2) minor frames cannot overlap, i.e. given a sorted minor frame list (based on their offsets): ( i < N(O))(O i.start+o i.duration O i+1 ), where N(O) is the number of minor frames. Note that the minor frames need not be contiguous, as the update procedure fills in any gaps automatically. If the constraints are satisfied, then the task is moved to the first core, CPU0 if it is not already on CPU0. This is done because the global tick (explained in next subsection) used for implementing the major frame schedule is also executed on CPU0. By moving the task to CPU0 and disabling interrupts, the scheduler ensures that the current frame is not changed while the major frame is being updated. At this point the task also obtains a spin lock to ensure that no other task can update the major frame at the same time. In this procedure the scheduler state is also set to APP_INACTIVE (see Table I), to stop the scheduling of all application tasks across other cores. The main scheduling loop reads the scheduler state before scheduling application tasks. A scenario showing dynamic reconfiguration can be seen in Figure 2. APP_INACTIVE APP_ACTIVE TABLE I: The states of the DREMS Scheduler Tasks in temporal partitions are not run Inverse of APP_INACTIVE It is also possible to set the global tick (that counts the hyperperiods) to be started with an offset. This delay can be used to synchronize the start of the hyperperiods across nodes of the cluster. This is necessary to ensure that all nodes schedule related temporal partitions at the same time. This ensures that for an application that is distributed across multiple nodes, its Application level tasks run at approximately the same time on all the nodes which enables low latency communication between dependent tasks across the node level. F. Main Scheduling Loop A periodic tick running at 250 Hz 1 is used to ensure that a scheduling decision is triggered at least every 4 ms. This tick 1 The kernel tick value is also called jiffy and can be set to a different value when the kernel image is compiled

4 4 Fig. 2: Two single-threaded processes run in separate partitions with a duration of 60ms each. The schedule is dynamically reconfigured so that each partition duration is doubled. A Critical task is responsible for calling the update_major_frame system call. Duration of the active partition is cut short at the point when update_major_frame function is called. runs with the base clock of CPU0 and executes a procedure called GlobalT ick in the interrupt context only on CPU0. This procedure enforces the partition scheduling and updates the current minor frame and hyperperiod start time (HP_start). The partition schedule is determined by a circular linked list of minor frames which comprise the major frame. Each entry in this list contains that partition s duration, so the scheduler can easily calculate when to switch to the next minor frame. After the global tick handles the partition switching, the function to get the next runnable task is invoked. This function combines the mixed criticality scheduling with the temporal partition scheduling. For mixed criticality scheduling, the Critical system tasks should preempt the Application tasks, which themselves should preempt the Best Effort tasks. This policy is implemented by Pick_Next_Task subroutine, which is called first for the system partition. Only if there are no runnable Critical system tasks and the scheduler state is not inactive, i.e. the application partitions are allowed to run 2, will Pick_Next_Task be called for the Application tasks. Thus, the scheduler does not schedule any Application tasks during a major frame reconfiguration. Similarly Pick_Next_Task will only be called for the Best Effort tasks if there are both no runnable Critical tasks and no runnable Application tasks. G. Pick_Next_Task and CPU Cap The Pick_Next_Task function returns either the highest priority task from the current temporal partition (or the system partition, as application) or an empty list of there are no runnable tasks. If CPU cap is disabled, the Pick_Next_Task algorithm returns the first task from the specified runqueue. For the best effort class, the default algorithm for the Completely Fair Scheduler policy in the Linux Kernel [18] is used. If the CPU cap is enabled, the Pick_Next_Task algorithm iterates through the task list at the highest priority index of the runqueue, because unlike the Linux scheduler, the tasks may have had their disabled bit set by the scheduler if it had enforced their CPU cap. If the algorithm finds a disabled 2 The OS provides support for pausing all application partitions and ensuring that only system partition is executed Fig. 3: Single Threaded processes 1000 and 1001 share a partition with a duration of 60ms. Process 1000 has 100% CPU cap and priority 70; process 1001 has 20% CPU cap, and higher priority 72. Since process 1001 has a CPU cap less than 100%, a ceiling is calculated for this process: 20% of 60ms = 12ms. The average jitter was calculated to be ms with a maximum jitter of ms. task in the task list, it checks to see when it was disabled; if the task was disabled in the previous CPU cap window, it reenables the task and sets it as the next_task. If, however, the task was disabled in the current CPU cap window, the algorithm continues iterating through the task list until it finds a task which is enabled. If the algorithm finds no enabled task, it returns the first task from the list if the current runqueue belongs to an application partition. This iteration through the task list when CPU cap enforcement is enabled increases the complexity of the scheduling algorithm to O(n), where n is the number of tasks in that temporal partition, compared to the Linux scheduler s complexity of O(1). Note that this complexity is incurred when CPU cap enforcement is enabled and there is at least one actor that has partial CPU cap (less than 100%). In the worst case, if all actors are given a partial CPU cap, the scheduler performance may degrade necessitating more efficient data structures. To complete the enforcement of the CPU cap, the scheduler updates the statistics tracked about the task and then updates the disabled bit of the task accordingly. Figure 3, shows the above mentioned scheduler decisions when CPU cap is placed on processes that share a temporal partition. To facilitate analysis, the scheduler uses a logging framework that updates a log every time a context switch happens. Figure 3 clearly shows the lower priority actor executing after the higher priority actor has reached its CPU cap. IV. EXPERIMENT: A 3-NODE SATELLITE CLUSTER To demonstrate the DREMS platform, a multi-computing node experiment was created on a cluster of fanless computing nodes with a 1.6 GHz Intel Atom N270 processor and 1 GB of RAM each. On these nodes, a cluster of three satellites was emulated and each satellite ran the example applications described in Section I. Because the performance of the cluster flight control application is of interest, we explain the interactions between its actors below. The mission-critical cluster flight application (CFA) (Figure 5) consists of four actors: OrbitalMaintenance, Trajectory- Planning, CommandProxy, and ModuleProxy. ModuleProxy

5 Latency (s) SCENARIO 1 Hyperperperiod = 250 ms Application code utilization < 100 % Sat 1 Latency : (μ =37.2,σ 2 =0.19) ms Sat 2 Latency : (μ =34.6, σ 2 =0.18) ms Sat 3 Latency : (μ =33.9, σ 2 =0.18) ms SCENARIO 2 Hyperperperiod = 250 ms Application code utilization = 100 % Sat 1 Latency : (μ =39.1, σ 2 =0.14) ms Sat 2 Latency : (μ =37.9, σ 2 =0.16) ms Sat 3 Latency : (μ =37.4, σ 2 =0.16) ms SCENARIO 3 Hyperperperiod = 100 ms Application code utilization = 100 % Sat 1 Latency : (μ =36.3, σ 2 =0.14) ms Sat 2 Latency : (μ =36.5, σ 2 =0.14) ms Sat 3 Latency : (μ =36.5, σ 2 =0.14) ms Cluster Emergency Response Latency Satellite 1 Satellite 2 Satellite 3 (a) This is the time between reception of the scatter command by satellite 1 and the activation of the thrusters on each satellite, corresponding to interactions CommandProxy to ModuleProxy. The three regions of the plot indicate the three scenarios: (1) image processing application has limited use of its partitions and has a hyperperiod of 250 ms, (2) image processing application has full use of its partitions and has a hyperperiod of 250 ms, and (3) image processing application has full use of its partitions and has a hyperperiod of 100 ms. The averages and variances for the satellites latencies are shown for each of the three scenarios. (b) The engine activation following reception of a scatter command is annotated for the relevant actors for scenario 2 shown above. The scatter command causes the TrajectoryPlanning to request ModuleProxy to activate the thrusters for 500 ms. Notice that the image processing does not run while the mission-critical tasks are executing - without halting the partition scheduling. Also note that the context switching during the execution of the critical tasks is the execution of the secure transport kernel thread. Only the application tasks are shown in the log; the kernel threads and other background processes are left out for clarity. Fig. 4: DREMS Mixed Criticality Demo connects to the Orbiter space flight simulator ( medphys.ucl.ac.uk/) that simulates the satellite hardware and orbital mechanics for the three satellites in low Earth orbit. CommandProxy receives commands from the ground network. OrbitalMaintenance keeps track of every satellite s position and updates the cluster with its current position. This is done by a group publish subcribe interaction between all OrbitalMaintenance actors across all nodes. Additionally, four image processing application (IPA) actors (one actor per application instance) are deployed as application tasks. The IPA design allows the percentage of CPU cycles consumed by them to be configurable. The four IPAs are assigned to two partitions, such that each partition contains two IPA actors. A third, shorter, partition runs the Orbital- Maintenance actor; since it is a periodic task, it updates the satellite state every second and is not critical in an emergency. Figures 4a and 4b show the results from three different scenarios: 1) hyperperiod of 250 ms, with IPA consuming less than 50 percent CPU. 2) hyperperiod of 250 ms, with IPA consuming 100 percent CPU and 3) hyperperiod of 100 ms,

6 6 C 1 1 M 1 1 M 1 2 M 1 3 T 1 1 O 1 1 O 1 2 O 1 3 T 2 1 O 2 1 O 2 2 O 2 3 M 2 1 COSMOS (Common Operating System for Modular Open Systems). To the best of our knowledge this is the first open source implementation of its kind that provides both ARINC- 653 and POSIX partitions. Acknowledgments: This work was supported by the DARPA under contract NNA11AC08C. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not reflect the views of DARPA. C 1 2 C 1 3 T 1 2 T 1 3 Task Actor Activity M 1 Inform O ModuleP roxy 1 of new state M 2 Activate engine O 1 Publish new state OrbitalMaintenance O 2 Subscribe to new state T 1 Publish new command T rajectoryp lanning T 2 Subscribe to new command C 1 CommandP roxy Inform T 1 of command Fig. 5: DREMS tasks : ModuleProxy tasks control thruster activation in Orbiter and state vector retrieval from Orbiter. OrbitalMantenance tasks track the cluster satellites state vectors and disseminate them. TrajectoryPlanning tasks control the response to commands and satellite thruster activation. CommandProxy tasks inform the satellite of a command from the ground network. For these tasks, the subscript represents the node ID on which the task is deployed. The total latency of the interaction C 1 1 M 2 N represents the total emergency response latency between receiving the scatter command and activating the thrusters. This interaction pathway is shown in bold. with IPA consuming 100 percent CPU. As shown in figure 4a, the emergency response latency over the three nodes was quite low with very little variance, and did not correlate with either the image application s CPU utilization or the application s partition schedule. Since we show that the emergency response has very low latency with little variance between different application loads on the system, we provide a stable platform for deterministic and reliable emergency response. As such, the satellite cluster running the DREMS infrastructure is able to quickly respond to emergency situations despite high application CPU load and without altering the partition scheduling. Figure 4b demonstrates the proper preemption of the image processing tasks by the critical CFA tasks for scenario 2. V. CONCLUSIONS AND FUTURE WORK This paper propounds the notion of managed distributed real-time and embedded (DRE) systems that are deployed in mobile computing environments. To that end, we described the design and implementation of a distributed operating system called DREMS OS focusing on a key mechanism: the scheduler. We have verified the behavioral properties of the OS scheduler, focusing on temporal and spatial process isolation, safe operation with mixed criticality, precise control of process CPU utilization and dynamic partition schedule reconfiguration. We have also analyzed the scheduler properties of a distributed application built entirely using this platform and hosted on an emulated cluster of satellites. We are extending this operating system to build an open-source FACE tm Operating System Segment [19], called T 2 2 T 2 3 M 2 2 M 2 3 REFERENCES [1] Document No. 653: Avionics Application Software Standard Inteface (Draft 15), ARINC Incorporated, Annapolis, Maryland, USA, Jan [2] G. Karsai, D. Balasubramanian, A. Dubey, and W. R. Otte, Distributed and managed: Research challenges and opportunities of the next generation cyber-physical systems, in 2014 IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, June 2014, pp [3] S. Vestal, Preemptive Scheduling of Multi-Criticality Systems with Varying Degrees of Execution Time Assurance, in Proc. of 28th IEEE Real-Time Systems Symposium, Tucson, AZ, Dec. 2007, pp [4] S. Baruah, A. Burns, and R. Davis, Response-Time Analysis for Mixed- Criticality Systems, in Proceedings of the nd IEEE Real-Time Systems Symposium, Vienna, Austria, Nov. 2011, pp [5] LynuxWorks, RTOS for Software Certification: LynxOS-178. [Online]. Available: [6] Autosar GbR, AUTomotive Open System ARchitecture, http: // [Online]. Available: [7] R. Obermaisser, P. Peti, B. Huber, and C. E. Salloum, DECOS: An Integrated Time-Triggered Architecture, e&i journal (Journal of the Austrian Professional Institution for Electrical and Information Engineering), vol. 123, no. 3, pp , Mar [8] B. Leiner, M. Schlager, R. Obermaisser, and B. Huber, A Comparison of Partitioning Operating Systems for Integrated Systems, in Computer Safety, Reliability and Security, ser. Lecture Notes in Computer Science. Springer, 2007, vol. 4680/2007, pp [9] A. Dubey, W. Emfinger, A. Gokhale, G. Karsai, W. Otte, J. Parsons, C. Szabo, A. Coglio, E. Smith, and P. Bose, A Software Platform for Fractionated Spacecraft, in Proceedings of the IEEE Aerospace Conference, Big Sky, MT, USA: IEEE, Mar. 2012, pp [10] K. Lakshmanan and R. Rajkumar, Distributed Resource Kernels: OS Suppport for End-To-End Resource Isolation, in Proceedings of the 2008 IEEE Real-Time and Embedded Technology and Applications Symposium, St. Louis, MO, Apr. 2008, pp [11] S. Eisele, I. Madari, A. Dubey, and G. Karsai, Riaps:resilient information architecture platform for decentralized smart systems, in 20th IEEE International Symposium On Real-Time Computing, IEEE. Toronto, Canada: IEEE, 05/ [12] L. M. Vaquero and L. Rodero-Merino, Finding your way in the fog: Towards a comprehensive definition of fog computing, ACM SIGCOMM Computer Communication Review, vol. 44, no. 5, pp , [13] W. R. Otte, A. Dubey, S. Pradhan, P. Patil, A. Gokhale, G. Karsai, and J. Willemsen, F6COM: A Component Model for Resource-Constrained and Dynamic Space-Based Computing Environment, in Proceedings of the 16th IEEE International Symposium on Object-oriented Real-time Distributed Computing (ISORC 13), Paderborn, Germany, Jun [14] A. Dubey, G. Karsai, and N. Mahadevan, A Component Model for Hard Real-time Systems: CCM with ARINC-653, Software: Practice and Experience, vol. 41, no. 12, pp , [15] A. Garg, Real-time linux kernel scheduler, Linux Journal, vol. 2009, no. 184, p. 2, [16] L. Almeida and P. Pedreiras, Scheduling within Temporal Partitions: Response-time Analysis and Server Design, in Proc. of the 4th ACM Int Conf on Embedded Software, Pisa, Italy, Sep. 2004, pp [17] G. Lipari and E. Bini, A Methodology for Designing Hierarchical Scheduling Systems, Journal of Embedded Computing, vol. 1, no. 2, pp , Apr [18] W. Mauerer, Professional Linux Kernel Architecture, ser. Wrox professional guides. Wiley, [Online]. Available: google.com/books?id=4ecr9dr0uayc [19] OpenGroup. [Online]. Available:

DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems

DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems William Emfinger, Pranav Kumar, Abhishek Dubey, William

More information

DREMS: OS Support for Managed Distributed Real-time Embedded Systems

DREMS: OS Support for Managed Distributed Real-time Embedded Systems DREMS: OS Support for Managed Distributed Real-time Embedded Systems William Emfinger, Pranav Kumar, William Otte, Csanad Szabo, Sandor Nyako, Abhishek Dubey, Aniruddha Gokhale and Gabor Karsai ISIS, Dept

More information

Enabling Strong Isolation for Distributed Real-time Applications in Edge Computing Scenarios

Enabling Strong Isolation for Distributed Real-time Applications in Edge Computing Scenarios 1 Enabling Strong Isolation for Distributed Real-time Applications in Edge Computing Scenarios Abhishek Dubey, William Emfinger, Aniruddha Gokhale, Pranav Kumar, Dan McDermet, Ted Bapty, Gabor Karsai Institute

More information

F6 Model-driven Development Kit (F6MDK)

F6 Model-driven Development Kit (F6MDK) F6 Model-driven Development Kit (F6MDK) Gabor Karsai, Abhishek Dubey, Andy Gokhale, William R. Otte, Csanad Szabo; Vanderbilt University/ISIS Alessandro Coglio, Eric Smith; Kestrel Institute Prasanta Bose;

More information

A Rapid Testing Framework for a Mobile Cloud Infrastructure

A Rapid Testing Framework for a Mobile Cloud Infrastructure A Rapid Testing Framework for a Mobile Cloud Infrastructure Daniel Balasubramanian, Abhishek Dubey, William R. Otte, William Emfinger, Pranav S. Kumar, Gábor Karsai ISIS / Vanderbilt University, Nashville,

More information

Distributed and Managed: Research Challenges and Opportunities of the Next Generation Cyber-Physical Systems

Distributed and Managed: Research Challenges and Opportunities of the Next Generation Cyber-Physical Systems Distributed and Managed: Research Challenges and Opportunities of the Next Generation Cyber-Physical Systems Gabor Karsai, Daniel Balasubramanian, Abhishek Dubey, and William R. Otte Institute for Software-Integrated

More information

F6COM: A Case Study in Extending Container Services through Connectors

F6COM: A Case Study in Extending Container Services through Connectors F6COM: A Case Study in Extending Container Services through Connectors Abhishek Dubey, Andy Gokhale, Gabor Karsai, William R. Otte; Vanderbilt University/ISIS Johnny Willemsen; Remedy IT Paul Calabrese,

More information

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction A Data-Centric Approach for Modular Assurance Gabriela F. Ciocarlie, Heidi Schubert and Rose Wahlin Real-Time Innovations, Inc. {gabriela, heidi, rose}@rti.com Abstract. A mixed-criticality system is one

More information

Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures

Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures Roberto MEDINA Etienne BORDE Laurent PAUTET December 13, 2018 1/28 Outline Research Context Problem Statement Scheduling MC-DAGs

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

More information

AUTOBEST: A microkernel-based system (not only) for automotive applications. Marc Bommert, Alexander Züpke, Robert Kaiser.

AUTOBEST: A microkernel-based system (not only) for automotive applications. Marc Bommert, Alexander Züpke, Robert Kaiser. AUTOBEST: A microkernel-based system (not only) for automotive applications Marc Bommert, Alexander Züpke, Robert Kaiser vorname.name@hs-rm.de Outline Motivation AUTOSAR ARINC 653 AUTOBEST Architecture

More information

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

Compositional Schedulability Analysis of Hierarchical Real-Time Systems Compositional Schedulability Analysis of Hierarchical Real-Time Systems Arvind Easwaran, Insup Lee, Insik Shin, and Oleg Sokolsky Department of Computer and Information Science University of Pennsylvania,

More information

A Component Model and Software Architecture for CPS

A Component Model and Software Architecture for CPS A Component Model and Software Architecture for CPS Abhishek Dubey, Gabor Karsai, Nagabhushan Mahadevan ISIS/Vanderbilt University NASA Cooperative Agreement NNX08AY49A Outline Software components for

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

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Thomas Nolte, Hans Hansson, and Christer Norström Mälardalen Real-Time Research Centre Department of Computer Engineering

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

DRAFT. A Component Model for Hard Real Time Systems: CCM with ARINC-653

DRAFT. A Component Model for Hard Real Time Systems: CCM with ARINC-653 A Component Model for Hard Real Time Systems: CCM with ARINC-653 Abhishek Dubey Gabor Karsai Nagabhushan Mahadevan Institute for Software Integrated Systems, Vanderbilt University, Nashville, TN 37212,

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 05 Lecture 18 CPU Scheduling Hello. In this lecture, we

More information

A Multi-Modal Composability Framework for Cyber-Physical Systems

A Multi-Modal Composability Framework for Cyber-Physical Systems S5 Symposium June 12, 2012 A Multi-Modal Composability Framework for Cyber-Physical Systems Linh Thi Xuan Phan Insup Lee PRECISE Center University of Pennsylvania Avionics, Automotive Medical Devices Cyber-physical

More information

CaDAnCE: A Criticality-aware Deployment And Configuration Engine

CaDAnCE: A Criticality-aware Deployment And Configuration Engine CaDAnCE: A Criticality-aware Deployment And Configuration Engine Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale Dept. of EECS, Vanderbilt University, Nashville, TN {dengg,schmidt,gokhale}@dre.vanderbilt.edu

More information

An Introduction to TTEthernet

An Introduction to TTEthernet An Introduction to thernet TU Vienna, Apr/26, 2013 Guest Lecture in Deterministic Networking (DetNet) Wilfried Steiner, Corporate Scientist wilfried.steiner@tttech.com Copyright TTTech Computertechnik

More information

Ensuring Schedulability of Spacecraft Flight Software

Ensuring Schedulability of Spacecraft Flight Software Ensuring Schedulability of Spacecraft Flight Software Flight Software Workshop 7-9 November 2012 Marek Prochazka & Jorge Lopez Trescastro European Space Agency OUTLINE Introduction Current approach to

More information

Green Hills Software, Inc.

Green Hills Software, Inc. Green Hills Software, Inc. A Safe Tasking Approach to Ada95 Jim Gleason Engineering Manager Ada Products 5.0-1 Overview Multiple approaches to safe tasking with Ada95 No Tasking - SPARK Ada95 Restricted

More information

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Project n 100021 Astrit Ademaj, TTTech Computertechnik AG Outline GENESYS requirements

More information

Multicore for safety-critical embedded systems: challenges andmarch opportunities 15, / 28

Multicore for safety-critical embedded systems: challenges andmarch opportunities 15, / 28 Multicore for safety-critical embedded systems: challenges and opportunities Giuseppe Lipari CRItAL - Émeraude March 15, 2016 Multicore for safety-critical embedded systems: challenges andmarch opportunities

More information

Mixed Criticality Scheduling in Time-Triggered Legacy Systems

Mixed Criticality Scheduling in Time-Triggered Legacy Systems Mixed Criticality Scheduling in Time-Triggered Legacy Systems Jens Theis and Gerhard Fohler Technische Universität Kaiserslautern, Germany Email: {jtheis,fohler}@eit.uni-kl.de Abstract Research on mixed

More information

Microkernel/OS and Real-Time Scheduling

Microkernel/OS and Real-Time Scheduling Chapter 12 Microkernel/OS and Real-Time Scheduling Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline

More information

A Real-Time Component Framework: Experience with CCM and ARINC-653

A Real-Time Component Framework: Experience with CCM and ARINC-653 A Real-Time Component Framework: Experience with CCM and ARINC-653 Abhishek Dubey Gabor Karsai Robert Kereskenyi Nagabhushan Mahadevan Institute for Software Integrated Systems, Vanderbilt University,

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

Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems

Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems Lalatendu Behera and Purandar Bhaduri Indian Institute of Technology Guwahati 781039, India {lalatendu,pbhaduri}@iitg.ernet.in Abstract.

More information

Time-Triggered Ethernet

Time-Triggered Ethernet Time-Triggered Ethernet Chapters 42 in the Textbook Professor: HONGWEI ZHANG CSC8260 Winter 2016 Presented By: Priyank Baxi (fr0630) fr0630@wayne.edu Outline History Overview TTEthernet Traffic Classes

More information

Taming Multi-Paradigm Integration in a Software Architecture Description Language

Taming Multi-Paradigm Integration in a Software Architecture Description Language Taming Multi-Paradigm Integration in a Software Architecture Description Language Daniel Balasubramanian, Tihamer Levendovszky, Abhishek Dubey, and Gábor Karsai Institute for Software Integrated Systems

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

An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System

An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System Jim Ras and Albert Mo Kim Cheng Outline Handling shared resources

More information

Taking the Right Turn with Safe and Modular Solutions for the Automotive Industry

Taking the Right Turn with Safe and Modular Solutions for the Automotive Industry Taking the Right Turn with Safe and Modular Solutions for the Automotive Industry A Time-Triggered Middleware for Safety- Critical Automotive Applications Ayhan Mehmet, Maximilian Rosenblattl, Wilfried

More information

An application-based EDF scheduler for OSEK/VDX

An application-based EDF scheduler for OSEK/VDX An application-based EDF scheduler for OSEK/VDX Claas Diederichs INCHRON GmbH 14482 Potsdam, Germany claas.diederichs@inchron.de Ulrich Margull 1 mal 1 Software GmbH 90762 Fürth, Germany margull@1mal1.com

More information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

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 Application Software

More information

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee Architectural and Optimization Techniques for Scalable, Real-time and Robust Deployment and Configuration of DRE Systems Gan Deng Douglas C. Schmidt Aniruddha Gokhale Institute for Software Integrated

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

Tasks. Task Implementation and management

Tasks. Task Implementation and management Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration

More information

FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS

FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS Peter Puschner and Raimund Kirner Vienna University of Technology, A-1040 Vienna, Austria {peter, raimund}@vmars.tuwien.ac.at Abstract Keywords:

More information

Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview

Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview 02/02/12 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor

More information

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril Real-Time Architectures 2003/2004 Resource reservation Reinder J. Bril 03-05-2004 1 Resource Reservation Description Example Application domains Some issues Concluding remark 2 Description Resource reservation

More information

An Operating System for a Time-Predictable Computing Node

An Operating System for a Time-Predictable Computing Node An Operating System for a Time-Predictable Computing Node Guenter Khyo, Peter Puschner, and Martin Delvai Vienna University of Technology Institute of Computer Enginering A1040 Vienna, Austria peter@vmars.tuwien.ac.at

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

Course Syllabus. Operating Systems

Course Syllabus. Operating Systems Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling

More information

Automated Freedom from Interference Analysis for Automotive Software

Automated Freedom from Interference Analysis for Automotive Software Automated Freedom from Interference Analysis for Automotive Software Florian Leitner-Fischer ZF TRW 78315 Radolfzell, Germany Email: florian.leitner-fischer@zf.com Stefan Leue Chair for Software and Systems

More information

Constructing and Verifying Cyber Physical Systems

Constructing and Verifying Cyber Physical Systems Constructing and Verifying Cyber Physical Systems Mixed Criticality Scheduling and Real-Time Operating Systems Marcus Völp Overview Introduction Mathematical Foundations (Differential Equations and Laplace

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Lecture 2: September 9

Lecture 2: September 9 CMPSCI 377 Operating Systems Fall 2010 Lecture 2: September 9 Lecturer: Prashant Shenoy TA: Antony Partensky & Tim Wood 2.1 OS & Computer Architecture The operating system is the interface between a user

More information

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Gabor Madl Committee Chancellor s Professor Nikil Dutt (Chair) Professor Tony Givargis Professor Ian Harris University of California,

More information

Document downloaded from: http://hdl.handle.net/10251/38978 This paper must be cited as: Sáez Barona, S.; Crespo, A. (2013). Deferred setting of scheduling attributes in Ada 2012. Ada Letters. 33(1):93-100.

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

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Andrew Foster Product Manager PrismTech Corporation The Case for Java in Enterprise Real-Time Systems

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

Problems Kernel Scheduler User Level Scheduler Universität Karlsruhe (TU), System Architecture Group

Problems Kernel Scheduler User Level Scheduler Universität Karlsruhe (TU), System Architecture Group 3 Scheduling Problems Kernel Scheduler User Level Scheduler 2009 Universität Karlsruhe (TU), System Architecture Group 1 Intended Schedule Motivation Abstract Scheduling Problem Scheduling Goals Scheduling

More information

Real-Time Systems and Intel take industrial embedded systems to the next level

Real-Time Systems and Intel take industrial embedded systems to the next level Solution brief Industrial IoT (IIoT) Embedded Software and Systems Real-Time Systems and Intel take industrial embedded systems to the next level Innovative hypervisor and partitioning software increases

More information

University of Waterloo Midterm Examination Model Solution CS350 Operating Systems

University of Waterloo Midterm Examination Model Solution CS350 Operating Systems University of Waterloo Midterm Examination Model Solution CS350 Operating Systems Fall, 2003 1. (10 total marks) Suppose that two processes, a and b, are running in a uniprocessor system. a has three threads.

More information

REAL-TIME OVERVIEW SO FAR MICHAEL ROITZSCH. talked about in-kernel building blocks:

REAL-TIME OVERVIEW SO FAR MICHAEL ROITZSCH. talked about in-kernel building blocks: 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

Multi-Epoch Scheduling Within the Real-Time Execution Performance Agent Framework

Multi-Epoch Scheduling Within the Real-Time Execution Performance Agent Framework Multi-Epoch Scheduling Within the Real-Time Execution Performance Agent Framework Sam Siewert siewerts@thinker.colorado.edu Department of Computer Science University of Colorado, Boulder, CO 80309-0520

More information

Frequently Asked Questions about Real-Time

Frequently Asked Questions about Real-Time FAQ: RTX64 2013 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,

More information

Efficient Event-Triggered Tasks in an RTOS

Efficient Event-Triggered Tasks in an RTOS Efficient Event-Triggered Tasks in an RTOS Kaj Hänninen 1,2, John Lundbäck 2, Kurt-Lennart Lundbäck 2, Jukka Mäki-Turja 1, Mikael Nolin 1 1 Mälardalen Real-Time Research Centre, Västerås Sweden 2 Arcticus-Systems,

More information

Adapting Enterprise Distributed Real-time and Embedded (DRE) Pub/Sub Middleware for Cloud Computing Environments

Adapting Enterprise Distributed Real-time and Embedded (DRE) Pub/Sub Middleware for Cloud Computing Environments Adapting Enterprise Distributed Real-time and Embedded (DRE) Pub/Sub Middleware for Cloud Computing Environments Joe Hoffert, Douglas Schmidt, and Aniruddha Gokhale Vanderbilt University Nashville, TN,

More information

Real-Time Systems. Real-Time Operating Systems

Real-Time Systems. Real-Time Operating Systems Real-Time Systems Real-Time Operating Systems Hermann Härtig WS 2018/19 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources Non-Real-Time

More information

CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM

CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM Maysoon A. Mohammed 1, 2, Mazlina Abdul Majid 1, Balsam A. Mustafa 1 and Rana Fareed Ghani 3 1 Faculty of Computer System &

More information

Pattern-Based Analysis of an Embedded Real-Time System Architecture

Pattern-Based Analysis of an Embedded Real-Time System Architecture Pattern-Based Analysis of an Embedded Real-Time System Architecture Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790 Outline Introduction to SAE AADL Standard The case study Towards

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

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

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

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections ) CPU Scheduling CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections 6.7.2 6.8) 1 Contents Why Scheduling? Basic Concepts of Scheduling Scheduling Criteria A Basic Scheduling

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

Scheduling Algorithm and Analysis

Scheduling Algorithm and Analysis Scheduling Algorithm and Analysis Model and Cyclic Scheduling (Module 27) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Task Scheduling Schedule: to determine which task

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

A Transaction Processing Technique in Real-Time Object- Oriented Databases

A Transaction Processing Technique in Real-Time Object- Oriented Databases 122 IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.1, January 2008 A Transaction Processing Technique in Real-Time Object- Oriented Databases Woochun Jun Dept. of Computer

More information

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001 K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the

More information

Temporal and Spatial Partitioning of a Time-Triggered Operating System based on Real-Time Linux

Temporal and Spatial Partitioning of a Time-Triggered Operating System based on Real-Time Linux Temporal and Spatial Partitioning of a Time-Triggered Operating System based on Real-Time R. Obermaisser Vienna University of Technology romano@vmars.tuwien.ac.at B. Leiner TTTech Computertechnik AG bernhard.leiner@tttech.com

More information

Chapter 39: Concepts of Time-Triggered Communication. Wenbo Qiao

Chapter 39: Concepts of Time-Triggered Communication. Wenbo Qiao Chapter 39: Concepts of Time-Triggered Communication Wenbo Qiao Outline Time and Event Triggered Communication Fundamental Services of a Time-Triggered Communication Protocol Clock Synchronization Periodic

More information

Concurrent Programming Synchronisation. CISTER Summer Internship 2017

Concurrent Programming Synchronisation. CISTER Summer Internship 2017 1 Concurrent Programming Synchronisation CISTER Summer Internship 2017 Luís Nogueira lmn@isep.ipp.pt 2 Introduction Multitasking Concept of overlapping the computation of a program with another one Central

More information

An Encapsulated Communication System for Integrated Architectures

An Encapsulated Communication System for Integrated Architectures An Encapsulated Communication System for Integrated Architectures Architectural Support for Temporal Composability Roman Obermaisser Overview Introduction Federated and Integrated Architectures DECOS Architecture

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

The Deadline Floor Protocol and Ada

The Deadline Floor Protocol and Ada The Deadline Floor Protocol and Ada Alan Burns and Andy Wellings University of York, UK. emails: alan.burns,andy.wellings@york.ac.uk Abstract This short paper summarises the current status of the proposal

More information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling

More information

Task- and Network-level Schedule Co-Synthesis of Ethernet-based Time-triggered Systems

Task- and Network-level Schedule Co-Synthesis of Ethernet-based Time-triggered Systems Task- and Network-level Schedule Co-Synthesis of Ethernet-based Time-triggered Systems 2 Licong Zhang, Dip Goswami, Reinhard Schneider, Samarjit Chakraborty 1 1 1 1 Institute for Real-Time Computer Systems,

More information

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli 17-3 17-3 Rate Monotonic Priority Assignment (RMPA) Method for assigning priorities with goal of meeting deadlines. Rate monotonic priority assignment does not guarantee deadlines will be met. A pure periodic

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

Deterministic Ethernet & Unified Networking

Deterministic Ethernet & Unified Networking Deterministic Ethernet & Unified Networking Never bet against Ethernet Mirko Jakovljevic mirko.jakovljevic@tttech.com www.tttech.com Copyright TTTech Computertechnik AG. All rights reserved. About TTTech

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

REDUCING CERTIFICATION GRANULARITY TO INCREASE ADAPTABILITY OF AVIONICS SOFTWARE

REDUCING CERTIFICATION GRANULARITY TO INCREASE ADAPTABILITY OF AVIONICS SOFTWARE REDUCING CERTIFICATION GRANULARITY TO INCREASE ADAPTABILITY OF AVIONICS SOFTWARE Martin Rayrole, David Faura, Marc Gatti, Thales Avionics, Meudon la Forêt, France Abstract A strong certification process

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L14.1 Frequently asked questions from the previous class survey Turnstiles: Queue for threads blocked

More information

238P: Operating Systems. Lecture 14: Process scheduling

238P: Operating Systems. Lecture 14: Process scheduling 238P: Operating Systems Lecture 14: Process scheduling This lecture is heavily based on the material developed by Don Porter Anton Burtsev November, 2017 Cooperative vs preemptive What is cooperative multitasking?

More information

Optimal Workload Allocation in Fog-Cloud Computing Toward Balanced Delay and Power Consumption

Optimal Workload Allocation in Fog-Cloud Computing Toward Balanced Delay and Power Consumption Optimal Workload Allocation in Fog-Cloud Computing Toward Balanced Delay and Power Consumption Ruilong Deng 1,4, Rongxing Lu 1, Chengzhe Lai 2, Tom H. Luan 3, and Hao Liang 4 1: Nanyang Technological University,

More information

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems Simin Nadjm-Tehrani Real-time Systems Laboratory Department of Computer and Information Science Linköping Univerity 28 pages

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

EXTENDING THE PRIORITY CEILING PROTOCOL USING READ/WRITE AFFECTED SETS MICHAEL A. SQUADRITO A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE

EXTENDING THE PRIORITY CEILING PROTOCOL USING READ/WRITE AFFECTED SETS MICHAEL A. SQUADRITO A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE EXTENDING THE PRIORITY CEILING PROTOCOL USING READ/WRITE AFFECTED SETS BY MICHAEL A. SQUADRITO A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER

More information

2. Introduction to Software for Embedded Systems

2. Introduction to Software for Embedded Systems 2. Introduction to Software for Embedded Systems Lothar Thiele ETH Zurich, Switzerland 2-1 Contents of Lectures (Lothar Thiele) 1. Introduction to Embedded System Design 2. Software for Embedded Systems

More information

Computer Systems Assignment 4: Scheduling and I/O

Computer Systems Assignment 4: Scheduling and I/O Autumn Term 018 Distributed Computing Computer Systems Assignment : Scheduling and I/O Assigned on: October 19, 018 1 Scheduling The following table describes tasks to be scheduled. The table contains

More information

Multiprocessor Synchronization and Hierarchical Scheduling

Multiprocessor Synchronization and Hierarchical Scheduling Multiprocessor Synchronization and Hierarchical Scheduling Farhang Nemati, Moris Behnam, Thomas Nolte Mälardalen Real-Time Research Centre P.O. Box 883, SE-721 23 Västerås, Sweden farhang.nemati@mdh.se

More information

SAS Scalable Performance Data Server 4.3

SAS Scalable Performance Data Server 4.3 Scalability Solution for SAS Dynamic Cluster Tables A SAS White Paper Table of Contents Introduction...1 Cluster Tables... 1 Dynamic Cluster Table Loading Benefits... 2 Commands for Creating and Undoing

More information

Reliable Distributed Real-time and Embedded Systems Through Safe Middleware Adaptation

Reliable Distributed Real-time and Embedded Systems Through Safe Middleware Adaptation Reliable Distributed Real-time and Embedded Systems Through Safe Middleware Adaptation Akshay Dabholkar, Abhishek Dubey, Aniruddha Gokhale, Gabor Karsai, and Nagabhushan Mahadevan Institute of Software

More information