Dionisio de Niz

dblp:45/3063 · DBLP profile ↗
← Back
36ranked-venue papers
13as first author
3since 2021 · last 2025
0000-0002-5560-590XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 12 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 11 · 5 first-author · 3 since 2021Software engineering, systems software and programming languages · 7 · 3 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
8 papers
Embedded and real-time systems · 99% Distributed systems · 1%
Network and information security
1 paper
Hardware security and side channels · 100%

Topics — the 13 heaviest of 14, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Embedded and real-time systems
real-time scheduling
1.882021
Resilient Mixed-Trust Scheduling · RTSS 2021
Addressing Multi-core Timing Interference using Co-Runner Locking · RTSS 2021
Work-In-Progress: Toward Precomputation in Real-Time Mixed-Trust Scheduling · RTSS 2020
Embedded and real-time systems › real-time scheduling
schedulability analysis
1.362021
Resilient Mixed-Trust Scheduling · RTSS 2021
Work-In-Progress: Toward Precomputation in Real-Time Mixed-Trust Scheduling · RTSS 2020
Addressing Multi-core Timing Interference using Co-Runner Locking · RTSS 2021
Embedded and real-time systems
cyber-physical system platforms
0.322021
Resilient Mixed-Trust Scheduling · RTSS 2021
Work-In-Progress: Toward Precomputation in Real-Time Mixed-Trust Scheduling · RTSS 2020
Embedded and real-time systems › real-time scheduling › schedulability analysis
self-suspending tasks
0.212013
Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks · RTSS 2013
Hardware security and side channels
trusted execution environments
0.112020
Work-In-Progress: Toward Precomputation in Real-Time Mixed-Trust Scheduling · RTSS 2020
Embedded and real-time systems › real-time scheduling
mixed-criticality scheduling
0.112009
On the Scheduling of Mixed-Criticality Real-Time Task Sets · RTSS 2009
Embedded and real-time systems › real-time scheduling
multiprocessor scheduling
0.112009
Coordinated Task Scheduling, Allocation and Synchronization on Multiprocessors · RTSS 2009
Embedded and real-time systems › real-time scheduling
resource reservation
0.122001
Resource Sharing in Reservation-Based Systems · RTSS 2001
Constructing Real-time Group Communication Middleware Using the Resource Kernel · RTSS 2000
Embedded and real-time systems
real-time operating systems
0.012001
Resource Sharing in Reservation-Based Systems · RTSS 2001
Distributed systems
resource sharing
0.012001
Resource Sharing in Reservation-Based Systems · RTSS 2001
Embedded and real-time systems
real-time communication
0.012000
Constructing Real-time Group Communication Middleware Using the Resource Kernel · RTSS 2000
Distributed systems
fault tolerance
0.012000
Constructing Real-time Group Communication Middleware Using the Resource Kernel · RTSS 2000
Distributed systems
group communication
0.012000
Constructing Real-time Group Communication Middleware Using the Resource Kernel · RTSS 2000

Methods — techniques the papers use, named apart from their topics

fixed-priority scheduling · 0.9precomputation · 0.9response time analysis · 0.7priority bands · 0.5mode semantics · 0.5load-oriented analysis · 0.5job-oriented analysis · 0.5digraph scheduling model · 0.5utilization bound · 0.2slack analysis · 0.1rate monotonic scheduling · 0.1partitioned scheduling · 0.1earliest-deadline-first · 0.1dynamic-priority scheduling · 0.0
YearPublicationVenuePosition
2025 Mixed-trust Computing: Safe and Secure Real-time Systems
abstract
Verifying complex Cyber-physical Systems (CPSs) is increasingly important given the push to deploy safety-critical autonomous features. Unfortunately, traditional verification methods do not scale to the complexity of these systems and do not provide systematic methods to protect verified properties when not all the components can be verified. To address these challenges, this article proposes a real-time mixed-trust computing framework that combines verification and protection. The framework introduces a new task model, where an application task can have both an untrusted and a trusted part. The untrusted part allows complex computations supported by a full OS with a real-time scheduler running in a VM hosted by a trusted hypervisor. The trusted part is executed by another scheduler within the hypervisor and is thus protected from the untrusted part. If the untrusted part fails to finish by a specific time, the trusted part is activated to preserve safety (e.g., prevent a crash) including its timing guarantees. This framework is the first allowing the use of untrusted components for CPS critical functions while preserving logical and timing guarantees, even in the presence of malicious attackers. We present the framework, its schedulability analysis, and the coordination protocol between the trusted and untrusted parts. Our implementation on a Raspberry Pi 3 is also discussed along with experiments showing the behavior of the system under failures of untrusted components and a drone application to demonstrate its practicality.
Dionisio de Niz, Björn Andersson, Mark Klein 0003, John P. Lehoczky, Hyoseung Kim 0001, Gabriel A. Moreno
ACM Trans. Cyber Phys. Syst.1
2021 Addressing Multi-core Timing Interference using Co-Runner Locking
abstract
This paper presents a task synchronization mechanism, called co-runner locking, to address the timing interference problem in multi-core real-time systems. It prevents certain subsets of tasks from executing simultaneously on different cores in order to avoid large performance penalties from inter-core interference. We provide the general properties of the co-runner locking mechanism and discuss the runtime control policies that determine the execution order of tasks in a co-runner-locking relationship. For schedulability analysis, we derive a response-time test that upper-bounds the delay from co-runner locking and the slowdown imposed by permitted co-runners by combining two new analytic approaches: job-oriented and load-oriented. In evaluation, we demonstrate that the co-runner locking mechanism is an effective alternative to address the "one-out-of-m" problem and brings about a significant improvement in real-time taskset schedulability.
Hyoseung Kim 0001, Dionisio de Niz, Björn Andersson, Mark Klein 0003, John P. Lehoczky
RTSS2
2021 Resilient Mixed-Trust Scheduling
abstract
In this paper we present a new scheduling model for resilient real-time mixed trust systems. This model extends the previous Real-Time Mixed-Trust Computing framework RT-MTC to support degradation modes. Management of these modes has been identified in industrial documents as a key requirement for deploying trusted autonomous vehicles for safe autonomy. RT-MTC uses verified components (known as enforcers) to guarantee that the output of a system is safe by replacing it with a verified safe one if this output is deemed unsafe or is not produced on time. In this paper we extend RT-MTC and develop a scheduling model that uses the digraph scheduling model as a baseline but extends it in four critical ways: (1) it creates extensions for the mixed-preemptive scheduling required by RT-MTC, (2) it enables priority bands in order to separate trusted and untrusted components, (3) it uses these bands in order to calculate intermediate deadlines used by the RT-MTC framework for the scheduling of the trusted components, and (4) it defines system mode semantics to obtain two desirable properties of the new schedulability analysis: low pessimism and low time-complexity. This paper evaluates the new schedulability algorithm and shows that it is efficient in that it only needs to analyze one transition at a time. The new model supports the construction of a resilient autonomous system with provable guarantees protected by verified enforcers within the RT-MTC framework and, more importantly, preserves these guarantees even across failure-triggered mode changes.
Dionisio de Niz, Björn Andersson, Hyoseung Kim 0001, Mark Klein 0003, John P. Lehoczky
RTSS1
2020 Work-In-Progress: Toward Precomputation in Real-Time Mixed-Trust Scheduling
abstract
The Real-Time Mixed-Trust (RTMT) Framework [2] enables the use of untrusted components in safety-critical CPS functions (e.g., driving a car) by monitoring their actions with verified and trusted components (called enforcers ) that correct unsafe actions to guarantee critical safety properties (e.g., brake to prevent a crash). The enforcers are run within a verified hypervisor that protects them from security attacks or bugs and the untrusted components are run in an unverified virtual machine (VM) on top of the hypervisor. The untrusted and trusted components are executed as a single coordinated sporadic real-time task, called a mixed-trust task , where the untrusted part is known as the guest task (GT, because it runs in the guest VM) and the trusted part running in the hypervisor (HV) is known as the hypertask (HT). The GT is run by a preemptive fixed-priority scheduler in the VM and the HT by a non-preemptive fixed-priority scheduler in the HV. The non-preemptive scheduler prevents interleavings and simplifies the logical verification [4] , [5] . From a timing point of view, the HT monitors that the GT produces a valid output before the deadline, and if not, the HT itself produces a safe output before the deadline elapses. A new set of schedulability equations to evaluate their schedulability were presented in [2] along with a full discussion of the framework.
Dionisio de Niz, Björn Andersson, Hyoseung Kim 0001, Mark Klein 0003, John P. Lehoczky
RTSS1
2019 Mixed-Trust Computing for Real-Time Systems
abstract
Verifying complex Cyber-Physical Systems (CPS) is increasingly important given the push to deploy safety-critical autonomous features. Unfortunately, traditional verification methods do not scale to the complexity of these systems and do not provide systematic methods to protect verified properties when not all the components can be verified. To address these challenges, this paper proposes a real-time mixed-trust computing framework that combines verification and protection. The framework introduces a new task model, where an application task can have both an untrusted and a trusted part. The untrusted part allows complex computations supported by a full OS with a realtime scheduler running in a VM hosted by a trusted hypervisor. The trusted part is executed by another scheduler within the hypervisor and is thus protected from the untrusted part. If the untrusted part fails to finish by a specific time, the trusted part is activated to preserve safety (e.g., prevent a crash) including its timing guarantees. This framework is the first allowing the use of untrusted components for CPS critical functions while preserving logical and timing guarantees, even in the presence of malicious attackers. We present the framework design and implementation along with the schedulability analysis and the coordination protocol between the trusted and untrusted parts. We also present our Raspberry Pi 3 implementation along with experiments showing the behavior of the system under failures of untrusted components, and a drone application to demonstrate its practicality.
Dionisio de Niz, Björn Andersson, Mark Klein 0003, John P. Lehoczky, Amit Vasudevan, Hyoseung Kim 0001, Gabriel A. Moreno
RTCSA1
2019 Many suspensions, many problems: a review of self-suspending tasks in real-time systems
abstract
In general computing systems, a job (process/task) may suspend itself whilst it is waiting for some activity to complete, e.g., an accelerator to return data. In real-time systems, such self-suspension can cause substantial performance/schedulability degradation. This observation, first made in 1988, has led to the investigation of the impact of self-suspension on timing predictability, and many relevant results have been published since. Unfortunately, as it has recently come to light, a number of the existing results are flawed. To provide a correct platform on which future research can be built, this paper reviews the state of the art in the design and analysis of scheduling algorithms and schedulability tests for self-suspending tasks in real-time systems. We provide (1) a systematic description of how self-suspending tasks can be handled in both soft and hard real-time systems; (2) an explanation of the existing misconceptions and their potential remedies; (3) an assessment of the influence of such flawed analyses on partitioned multiprocessor fixed-priority scheduling when tasks synchronize access to shared resources; and (4) a discussion of the computational complexity of analyses for different self-suspension task models.
Jian-Jia Chen, Geoffrey Nelissen, Wen-Hung Kevin Huang, Maolin Yang 0004, Björn B. Brandenburg, Konstantinos Bletsas 0001, Cong Liu 0005, Pascal Richard, Frédéric Ridouard, Neil C. Audsley, Ragunathan Rajkumar, Dionisio de Niz, Georg von der Brüggen
Real Time Syst.12
2018 Schedulability Analysis of Tasks with Corunner-Dependent Execution Times
abstract
Consider fixed-priority preemptive partitioned scheduling of constrained-deadline sporadic tasks on a multiprocessor. A task generates a sequence of jobs and each job has a deadline that must be met. Assume tasks have Corunner-dependent execution times; i.e., the execution time of a job J depends on the set of jobs that happen to execute (on other processors) at instants when J executes. We present a model that describes Corunner-dependent execution times. For this model, we show that exact schedulability testing is co-NP-hard in the strong sense. Facing this complexity, we present a sufficient schedulability test, which has pseudo-polynomial-time complexity if the number of processors is fixed. We ran experiments with synthetic software benchmarks on a quad-core Intel multicore processor with the Linux/RK operating system and found that for each task, its maximum measured response time was bounded by the upper bound computed by our theory.
Björn Andersson, Hyoseung Kim 0001, Dionisio de Niz, Mark Klein 0003, Ragunathan Rajkumar, John P. Lehoczky
ACM Trans. Embed. Comput. Syst.3
2017 Mixed-criticality processing pipelines
abstract
While a number of schemes exist for mixed-criticality scheduling in a single processor setting, no solution exists to cover the industry need for end-to-end scheduling across multiple processors in a pipeline. In this paper, we present an end-to-end zero-slack rate-monotonic scheme (ZSRM) based on real-time pipelines, called the ZSRM pipeline scheduler, that addresses this need. Under ZSRM, each task is associated with a parameter called zero-slack instant, and whenever a higher-criticality job has not finished at its zero-slack instant relative to its arrival time, all jobs of lower criticality are suspended to meet the deadline of the higher-criticality job. We develop a new schedulability test and algorithm for computing the zero-slack instants of tasks scheduled across a pipeline.
Dionisio de Niz, Björn Andersson, Hyoseung Kim 0001, Mark Klein 0003, Linh T. X. Phan, Ragunathan Rajkumar
DATE1
2017 Combining Symbolic Runtime Enforcers for Cyber-Physical Systems
Björn Andersson, Sagar Chaki, Dionisio de Niz
RV3
2017 Formal Verification of a Timing Enforcer Implementation
abstract
A timing enforcer is a scheduler that not only allocates CPU cycles to threads, but also uses timers to enforce time budgets. An approach for verifying safety properties of timing enforcers at the source code level is presented. We assume that the enforcer is implemented as a set of “enforcer” functions that are executed atomically on critical system-level events, such as the arrival and departure of jobs, and triggering of timers. The key idea is to express the safety property as an invariant, and prove that it is inductive across all the enforcer functions. A formal semantics of timing enforcers is presented, including the semantics of functions used to read the system clock and set timers. Using this semantics, the verification approach is presented, and its soundness proved. Further, the approach also takes into consideration the periodicity of tasks. It is validated by proving the correctness of the enforcement of CPU cycle budgets for tasks by the Zero-Slack Rate Monotonic ( zsrm ) scheduler, which is implemented in C as a Linux kernel module. The inductiveness of the necessary zsrm invariants is proved by expressing them as function contracts using the acsl specification language, and verifying the contracts using the frama-c tool.
Sagar Chaki, Dionisio de Niz
ACM Trans. Embed. Comput. Syst.2
2016 Bounding and reducing memory interference in COTS-based multi-core systems
Hyoseung Kim 0001, Dionisio de Niz, Björn Andersson, Mark Klein 0003, Onur Mutlu, Ragunathan Rajkumar
Real Time Syst.2
2015 Semantic Importance Sampling for Statistical Model Checking
Jeffery P. Hansen, Lutz Wrage, Sagar Chaki, Dionisio de Niz, Mark Klein 0003
TACAS4
2014 Contract-based integration of cyber-physical analyses
abstract
Developing cyber-physical systems involves multiple engineering domains, e.g., timing, logical correctness, thermal resilience, and mechanical stress. In today's industrial practice, these domains rely on multiple analyses to obtain and verify critical system properties. Domain differences make the analyses abstract away interactions among themselves, potentially invalidating the results. Specifically, one challenge is to ensure that an analysis is never applied to a model that violates the assumptions of the analysis. Since such violation can originate from the updating of the model by another analysis, analyses must be executed in the correct order. Another challenge is to apply diverse analyses soundly and scalably over models of realistic complexity. To address these challenges, we develop an analysis integration approach that uses contracts to specify dependencies between analyses, determine their correct orders of application, and specify and verify applicability conditions in multiple domains. We implement our approach and demonstrate its effectiveness, scalability, and extensibility through a verification case study for thread and battery cell scheduling.
Ivan Ruchkin, Dionisio de Niz, Sagar Chaki, David Garlan
EMSOFT2
2014 Bounding memory interference delay in COTS-based multi-core systems
abstract
In commercial-off-the-shelf (COTS) multi-core systems, a task running on one core can be delayed by other tasks running simultaneously on other cores due to interference in the shared DRAM main memory. Such memory interference delay can be large and highly variable, thereby posing a significant challenge for the design of predictable real-time systems. In this paper, we present techniques to provide a tight upper bound on the worst-case memory interference in a COTS-based multi-core system. We explicitly model the major resources in the DRAM system, including banks, buses and the memory controller. By considering their timing characteristics, we analyze the worst-case memory interference delay imposed on a task by other tasks running in parallel. To the best of our knowledge, this is the first work bounding the request re-ordering effect of COTS memory controllers. Our work also enables the quantification of the extent by which memory interference can be reduced by partitioning DRAM banks. We evaluate our approach on a commodity multi-core platform running Linux/RK. Experimental results show that our approach provides an upper bound very close to our measured worst-case interference.
Hyoseung Kim 0001, Dionisio de Niz, Björn Andersson, Mark Klein 0003, Onur Mutlu, Ragunathan Rajkumar
RTAS2
2014 Partitioned scheduling of multi-modal mixed-criticality real-time systems on multiprocessor platforms
abstract
Real-time systems are becoming increasingly complex. A modern car, for example, requires a multitude of control tasks, such as braking, active suspension, and collision avoidance. These tasks not only exhibit different degrees of safety criticality but also change their criticalities as the driving mode changes. For instance, the suspension task is a critical part of the stability of the car at high speed, but it is only a comfort feature at low speed. Therefore, it is crucial to ensure timing guarantees for the system with respect to the tasks' criticalities, not only within each mode but also during mode changes. This paper presents a partitioned multi-processor scheduling scheme for multi-modal mixed-criticality real-time systems. Our scheme consists of a packing algorithm and a scheduling algorithm for each processor that take into account both mode changes and criticalities. The packing algorithm maximizes the schedulable utilization across modes using the sustained criticality of each task, which captures the overall criticality of the task across modes. The scheduling algorithm combines Rate-Monotonic scheduling with a mode transition enforcement mechanism that relies on the transitional zero-slack instants of tasks to control low-criticality tasks during mode changes, so as to preserve the schedulability of high-criticality tasks. We also present an implementation of our scheduler in the Linux operating system, as well as an experimental evaluation to illustrate its practicality. Our evaluation shows that our scheme can provide close to twice as much tolerance to overloads (ductility) compared to a mode-agnostic scheme.
Dionisio de Niz, Linh T. X. Phan
RTAS1
2014 Utility-Based Resource Overbooking for Cyber-Physical Systems
abstract
Traditional hard real-time scheduling algorithms require the use of the worst-case execution times to guarantee that deadlines will be met. Unfortunately, many algorithms with parameters derived from sensing the physical world suffer large variations in execution time, leading to pessimistic overall utilization, such as visual recognition tasks. In this article, we present ZS-QRAM, a scheduling approach that enables the use of flexible execution times and application-derived utility to tasks in order to maximize total system utility. In particular, we provide a detailed description of the algorithm, the formal proofs for its temporal protection, and a detailed, evaluation. Our evaluation uses the Utility Degradation Resilience (UDR) showing that ZS-QRAM is able to obtain 4× as much UDR as ZSRM, a previous overbooking approach, and almost 2× as much UDR as Rate-Monotonic with Period Transformation (RM/TP). We then evaluate a Linux kernel module implementation of our scheduler on an Unmanned Air Vehicle (UAV) platform. We show that, by using our approach, we are able to keep the tasks that render the most utility by degrading lower-utility ones even in the presence of highly dynamic execution times.
Dionisio de Niz, Lutz Wrage, Anthony Rowe 0001, Ragunathan Rajkumar
ACM Trans. Embed. Comput. Syst.1
2013 Utility-based resource overbooking for Cyber-Physical Systems
abstract
The tight coupling among computation, sensing and control found in Cyber-Physical Systems (CPS) often requires information processing to be completed within strict timing deadlines. Traditional hard real-time scheduling algorithms require the use of the worst-case execution times to guarantee that deadlines will be met. Unfortunately, many algorithms with parameters derived from sensing the physical world suffer from large variations in execution time, which leads to pessimistic overall utilization. For example, object tracking in a computer vision system is highly dependent on the number and size of the objects within the camera's field of view. In this paper, we present the formal description of ZS-QRAM [8], a scheduling approach that allows system designers to flexibly assign execution times and application-derived utility to tasks in order to maximize total system utility even in the presence of highly variable processing estimates. In particular, we provide a detailed description of the algorithm, the formal proofs for its temporal protection and a detail evaluation. Our evaluation uses the Utility Degradation Resilience (UDR) metric presented in [8]. Our results show that ZS-QRAM is able to obtain four times as much UDR as ZSRM, a previous overbooking approach, and almost twice as much UDR as Rate-Monotonic with Period Transformation (RM/TP) even when the latter does not provide temporal protection.
Dionisio de Niz, Lutz Wrage, Anthony Rowe 0001, Ragunathan Rajkumar
RTCSA1
2013 Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks
abstract
Recent trends in System-on-a-Chip show that an increasing number of special-purpose processors are being added to improve the efficiency of common operations. Unfortunately, the use of these processors may introduce suspension delays incurred by communication, synchronization and external I/O operations. When these processors are used in real-time systems, conventional schedulability analyses incorporate these delays in the worst-case execution/response time, hence significantly reducing the schedulable utilization. In this paper, we provide schedulability analyses and propose segment-fixed priority scheduling for self-suspending tasks. We model the tasks as segments of execution separated by suspensions. We start from providing response-time analyses for self-suspending tasks under Rate Monotonic Scheduling (RMS). While RMS is shown to not be optimal, it can be used effectively in some special cases that we have identified. We then derive a utilization bound for the cases as a function of the ratio of the suspension duration to the period of the tasks. For general cases, we develop a segment-fixed priority scheduling scheme. Our scheme assigns individual segments different priorities and phase offsets that are used for phase enforcement to control the unexpected self-suspending nature. With the exact schedulability analysis designed for our scheme, our experiments show that the proposed scheme provides up to 40 times more schedulable utilization than RMS.
Junsung Kim 0001, Björn Andersson, Dionisio de Niz, Ragunathan Rajkumar
RTSS3
2012 Non-preemptive Scheduling with History-Dependent Execution Time
abstract
Consider non-preemptive fixed-priority scheduling of arbitrary-deadline sporadic tasks on a single processor assuming that the execution time of a job J depends on the actual schedule (sequence) of jobs executed before J. We present exact schedulability analysis for such a system.
Björn Andersson, Sagar Chaki, Dionisio de Niz, Brian Dougherty, Russell Kegley, Jules White
ECRTS3
2012 Analyzing Global-EDF for Multiprocessor Scheduling of Parallel Tasks
Björn Andersson, Dionisio de Niz
OPODIS2
2012 An Optimal Real-Time Voltage and Frequency Scaling for Uniform Multiprocessors
abstract
Power consumption is an increasing concern in real-time systems that operate on battery power or require heat dissipation to keep the system at its operating temperature. Today, most processors allow software to change their frequency and voltage of operation to reduce their power consumption. Frequency scaling in real-time systems must be done in a way that ensures that the tasks' deadlines are met. In this paper we present the Growing Minimum Frequency (GMF) algorithm for voltage and frequency scaling in uniform multiprocessors for real-time systems. This algorithm runs in polynomial time and computes the optimal voltage and frequency assignment, achieving better power efficiency than previous algorithms. We present the optimality proof and evaluate the practical improvement over previous algorithms with simulated task sets. Our evaluation shows up to to 30% power efficiency improvement over previous algorithms.
Gabriel A. Moreno, Dionisio de Niz
RTCSA2
2012 Overload provisioning in mixed-criticality cyber-physical systems
abstract
Cyber-physical systems are an emerging class of applications that require tightly coupled interaction between the computational and physical worlds. These systems are typically realized using sensor/actuator interfaces connected with processing backbones. Safety is a primary concern in cyber-physical systems since the actuators directly influence the physical world. However, unexpected or unusual conditions in the physical world can manifest themselves as increased workload demands being offered to the computational infrastructure of a cyber-physical system. Guaranteeing system safety under overload conditions is therefore a prime concern in developing and deploying cyber-physical systems. In this work, we study this problem in the context of a radar surveillance system, where tasks have different levels of criticality or influence on system safety . In the face of overloads, we observe that the desirable property in such systems is that the more critical tasks continue to meet their timing requirements. We capture this mixed-criticality overload requirement using a formal overload-tolerance metric called ductility . Using this overload-tolerance metric, we first develop our solution in the context of uniprocessor systems, where we show that Zero-Slack scheduling (ZS) algorithms can be used to improve the overload behavior in mixed-criticality cyber-physical systems compared to existing fixed-priority scheduling algorithms like Rate-Monotonic Scheduling (RMS) and Criticality-As-Priority-Assignment (CAPA). Leveraging these results, we then develop a criticality-aware task allocation algorithm called Compress-on-Overload Packing (COP) for dealing with multiprocessor cyber-physical systems. Evaluation results show that COP achieves up to five times better ductility than traditional load balancing bin-packing algorithms like Worst-Fit Decreasing (WFD). Finally, we apply ZS and COP to the radar surveillance system to demonstrate the resulting improvement in system overload behavior. Our implementation of the Zero-Slack scheduler is available as a part of the Linux/RK project, which provides resource kernel extensions for Linux.
Karthik Lakshmanan, Dionisio de Niz, Ragunathan Rajkumar, Gabriel A. Moreno
ACM Trans. Embed. Comput. Syst.2
2012 Integrated Task and Interrupt Management for Real-Time Systems
abstract
Real-time scheduling algorithms like RMA or EDF and their corresponding schedulability test have proven to be powerful tools for developing predictable real-time systems. However, the traditional interrupt management model presents multiple inconsistencies that break the assumptions of many of the real-time scheduling tests, diminishing its utility. In this article, we analyze these inconsistencies and present a model that resolves them by integrating interrupts and tasks in a single scheduling model. We then use the RMA theory to calculate the cost of the model and analyze the circumstances under which it can provide the most value. This model was implemented in a kernel module. The portability of the design of our module is discussed in terms of its independence from both the hardware and the kernel. We also discuss the implementation issues of the model over conventional PC hardware, along with its cost and novel optimizations for reducing the overhead. Finally, we present our experimental evaluation to show evidence of its temporal determinism and overhead.
Luis E. Leyva-del-Foyo, Pedro Mejía-Alvarez, Dionisio de Niz
ACM Trans. Embed. Comput. Syst.3
2011 Resource allocation contracts for open analytic runtime models
abstract
Open Analytic Runtime (OAR) Models embed analysis algorithms into runtime architectural models, thus integrating the model and its analytic interpretations. Such an integration is critical for Cyber-Physical Systems (CPS) when model parts are independently developed by different teams as it is the case in multi-tier industries, e.g. avionics and automotive. Analysis algorithms play a central role augmenting the designer's capacity to automatically verify properties of interest in systems at the scale and complexity required by these industries. Unfortunately, the verification results are valid only if the assumptions of the different analysis algorithms (analytic assumptions) are consistent with each other. This paper presents our work on the automatic verification of one important class of analytic assumptions in OAR models: resource allocation assumptions. These assumptions are modeled as Resource Allocation (RA) contracts. RA contract constructs include not only the typical assumes and guarantees but also runtime facts and implications. Finally, we automatically determine the correct sequence of execution of the analysis algorithms based on the contract input/output dependencies described in our models. Together these characteristics enable the automatic assumption verification that preserves the scalability of analytic models. We illustrate our approach using an example model with analysis algorithms for security, schedulability, and energy efficiency.
Min-Young Nam, Dionisio de Niz, Lutz Wrage, Lui Sha
EMSOFT2
2011 Mixed-Criticality Task Synchronization in Zero-Slack Scheduling
abstract
Recent years have seen an increasing interest in the scheduling of mixed-criticality real-time systems. These systems are composed of groups of tasks with different levels of criticality deployed over the same processor(s). Such systems must be able to accommodate additional execution-time requirements that may occasionally be needed. When overload conditions develop, critical tasks must still meet their timing constraints at the expense of less critical tasks. Zero-slack scheduling algorithms are promising candidates for such systems. These algorithms guarantee that all tasks meet their deadlines when no overload occurs, and that criticality ordering is satisfied under overloads. Unfortunately, when mutually exclusive resources are shared across tasks, these guarantees are voided. Furthermore, the dual-execution modes of tasks in mixed-criticality systems violate the assumptions of traditional real-time synchronization protocols like PCP and hence the latter cannot be used directly. In this paper, we develop extensions to real-time synchronization protocols (Priority Inheritance and Priority Ceiling Protocol) that coordinate the mode changes of the zero-slack scheduler. We analyze the properties of these new protocols and the blocking terms they introduce. We maintain the deadlock avoidance property of our PCP extension, called the Priority and Criticality Ceiling Protocol (PCCP), and limit the blocking to only one critical section for each of the zero-slack scheduling execution modes. We also develop techniques to accommodate the blocking terms arising from synchronization, in calculating the zero-slack instants used by the scheduler. Finally, we conduct an experimental evaluation of PCCP. Our evaluation shows that PCCP is able to take advantage of the capacity of zero-slack schedulers to reclaim unused over-provisioning of resources that are only used in critical execution modes. This allows PCCP to accommodate larger blocking terms.
Karthik Lakshmanan, Dionisio de Niz, Ragunathan Rajkumar
IEEE Real-Time and Embedded Technology and Applications Symposium2
2010 Resource Allocation in Distributed Mixed-Criticality Cyber-Physical Systems
abstract
Large-scale distributed cyber-physical systems will have many sensors/actuators (each with local micro-controllers), and a distributed communication/computing backbone with multiple processors. Many cyber-physical applications will be safety critical and in many cases unexpected workload spikes are likely to occur due to unpredictable changes in the physical environment. In the face of such overload scenarios, the desirable property in such systems is that the most critical applications continue to meet their deadlines. In this paper, we capture this mixed-criticality property by developing a formal overload-resilience metric called ductility. The generality of ductility enables it to evaluate any scheduling algorithm from the perspective of mixed-criticality cyber-physical systems. In distributed cyber-physical systems, this ductility is the result of both the task-to-processor packing (a.k.a bin packing) and the uniprocessor scheduling algorithms used. In this paper, we present a ductility-maximization packing algorithm to complement our previous work on mixed-criticality uniprocessor scheduling. Our packing algorithm, known as Compress-on-Overload Packing (COP) is a criticality-aware greedy bin-packing algorithm that maximizes the tolerance of high-criticality tasks to overloads. We compare the ductility of COP against the Worst-Fit Decreasing (WFD) bin-packing heuristic used traditionally for load balancing in distributed systems, and show that the performance of COP dominates WFD in the average case and can reach close to five times better ductility when resources are limited. Finally, we illustrate the practical use of COP in distributed cyber-physical systems using a radar surveillance application, and provide an overview of the entire process from assigning task criticality levels to evaluating its performance
Karthik Lakshmanan, Dionisio de Niz, Ragunathan Rajkumar, Gabriel A. Moreno
ICDCS2
2010 An MDE-Based Process for the Design, Implementation and Validation of Safety-Critical Systems
abstract
Distributed Real-Time Embedded (DRE) systems have critical requirements that need to be verified. They are either related to functional (e. g. stability of a furnace controller) or non-functional (e. g. meeting deadlines) aspects. Model-Driven Engineering (MDE) tools have emerged to ease DRE systems design. These tools are also capable of generating code. However, these tools either focus on the functional aspects or on the runtime architecture. Hence, the development cycle is partitioned into pieces with heterogeneous modeling notations and poor coordination. In this paper, we propose a MDE-based process to create DRE systems without manual coding. We show how to integrate functional and architecture concerns in a unified process. We use industry-proven modeling languages to design functional elements of the system, and automatically integrate them using our AADL toolchain.
Julien Delange, Laurent Pautet, Jérôme Hugues, Dionisio de Niz
ICECCS4
2009 Verification of Replication Architectures in AADL
abstract
An established approach to achieve fault tolerance is to deploy multiple copies of the same functionality on multiple processors to ensure that if one processor fails another can provide the same functionality. This approach is known as replication. In spite of the number of studies on the topic, designing a replication pattern is still error prone. This is due to the fact that its final behavior is the result of the combination of design decisions that involves reasoning about a collection of non-deterministic events such as hardware failures and parallel computations. In this paper we present an approach to model replication patterns in the architecture analysis and design language (AADL) and analyze potentially unintended behaviors. Such an approach takes advantage of the strong semantics of AADL to model replication patterns at the architecture level. The approach involves developing two AADL models. The first one defines the intended behavior in synchronous call sequences. And the second model describes the replication architecture. These two models are then compared using a differential model in Alloy where the requirements of the first model and the concurrency and potential failure of the second are combined. The additional behaviors discovered in this model are presented to the designer as potential errors in the design. The designer then has the opportunity to modify the replication architecture to correct these behaviors or qualify them as valid behaviors. Finally, we validated our approach by recreating the verification experiment presented in but limiting ourselves to the AADL syntax.
Dionisio de Niz, Peter H. Feiler
ICECCS1
2009 Coordinated Task Scheduling, Allocation and Synchronization on Multiprocessors
abstract
Chip-multiprocessors represent a dominant new shift in the field of processor design. Better utilization of such technology in the real-time context requires coordinated approaches to task allocation, scheduling, and synchronization. In this paper, we characterize various scheduling penalties arising from multiprocessor task synchronization, including (i) blocking delays on global critical sections, (ii) back-to-back execution due to jitter from blocking, and (iii) multiple priority inversions due to remote resource sharing. We analyze the impact of these scheduling penalties under different execution control policies (ECPs) which compensate for the scheduling penalties incurred by tasks due to remote blocking. Subsequently, we develop a synchronization-aware task allocation algorithm for explicitly accommodating these global task synchronization penalties. The key idea of our algorithm is to bundle tasks that access a common shared resource and co-locate them, thereby transforming global resource sharing into local sharing. This approach reduces the above-mentioned penalties associated with remote task synchronization. Experimental results indicate that such a coordinated approach to scheduling, allocation, and synchronization yields significant benefits (as much as 50% savings in terms of required number of processing cores). An implementation of this approach is available as a part of our RT-MAP library, which uses the pthreads implementation of Linux-2.6.22.
Karthik Lakshmanan, Dionisio de Niz, Ragunathan Rajkumar
RTSS2
2009 On the Scheduling of Mixed-Criticality Real-Time Task Sets
abstract
The functional consolidation induced by the cost reduction trends in embedded systems can force tasks of different criticality (e.g. ABS Brakes with DVD) to share a processor and interfere with each other. These systems are known as mixed criticality systems. While traditional temporal isolation techniques prevent all inter-task interference, they waste utilization because they need to reserve for the absolute worst-case execution time (WCET) for all tasks. In many mixed-criticality systems the WCET is not only rare, but at times difficult to calculate, such as the time to localize all possible objects in an obstacle avoidance algorithm. In this situation it is more appropriate to allow the execution time to grow by stealing cycles from lower-criticality tasks. Even more crucial is the fact that temporal isolation techniques can stop a high-criticality task (that was overrunning its nomimal WCET) to allow a low-criticality task to run, making the former miss its deadline. We identify this as the criticality inversion problem. In this paper, we characterize the criticality inversion problem and present a new scheduling scheme called zero-slack scheduling that implements an alternative protection scheme we refer to as asymmetric protection. This protection only prevents interference from lower-criticality to higher-criticality tasks and improves the schedulable utilization. We use an offline algorithm with two parts: a zero-slack calculation algorithm, and a slack analysis algorithm. The zero-slack calculation algorithm minimizes the utilization needed by a task set by reducing the time low-criticality tasks are preempted by high-criticality ones. This algorithm can be used with priority-based preemptive schedulers (e.g. RMS, EDF). The slack analysis algorithm is specific for each priority-based preemptive scheduler and we develop and evaluated the one for RMS. We prove that this algorithm provides the same level of protection against criticality inversion as the best known priority assignment for this purpose, criticality as priority assignment (CAPA). We also prove that zero-slack RM provides the same level of schedulable utilization as RMS when all tasks have equal criticality levels. Finally, we present our implementation of the runtime enforcement mechanisms in Linux/RK to demonstrate its practicality.
Dionisio de Niz, Karthik Lakshmanan, Ragunathan Rajkumar
RTSS1
2008 On Resource Allocation in Architectural Models
abstract
Resource allocation decisions are critical for the design of embedded real-time systems. Today's trend to software integration makes these decisions tightly coupled to the software architecture. In this paper we discuss the use of architectural models to guide and maintain the integrity of the resource allocation decision at different levels of refinement of the system design. We discuss the budgeting process to split the development process into different teams, the use of bin packing techniques for low level resource allocation and the isolation strategies to separate the different criticality levels of these systems.
Dionisio de Niz, Peter H. Feiler
ISORC1
2007 From PIMs to PSMs
abstract
The development of embedded systems through models requires the creation of both a platform independent model (PIM) and a platform specific model (PSM). xUML is an extension to UML that adds precise execution semantics to models enabling a full description of platform independent models and the generation of code from them. However, to achieve different non-functional properties, a platform specific model is needed. Architecture Analysis and Design Language (AADL) enables the creation and exploration of PSMs and the analysis of its non-functional properties. In this work we present the integration of xUML and AADL in a development process. This includes the translation of the xUML concurrency model into AADL and the exploration of concurrency variations in AADL.
Peter H. Feiler, Dionisio de Niz, Chris Raistrick, Bruce A. Lewis
ICECCS2
2006 Predictable Interrupt Scheduling with Low Overhead for Real-Time Kernels
abstract
In this paper we analyze the traditional model of interrupt management and its inability to incorporate the reliability and temporal predictability demanded by real-time systems. As a result of this analysis, we propose a model that integrates interrupts and tasks handling. We introduce a novel implementation of this model that uses an adaptation of the optimistic interrupt protection technique for achieving predictability and low overhead. The detailed design of a flexible and portable kernel interrupt subsystem for this integrated optimistic model is presented. We make a schedulability analysis to evaluate the optimistic integrated model and perform experiments to verify its deterministic behavior and its overhead
Luis E. Leyva-del-Foyo, Pedro Mejía-Alvarez, Dionisio de Niz
RTCSA3
2003 Time weaver: a software-through-models framework for embedded real-time systems
abstract
Embedded real-time systems are deployed in a wide range of application domains including transportation systems, automated manufacturing, process control, defense, aerospace, and telecommunications. These systems must satisfy not only logical functional requirements but also para-functional properties such as timeliness, Quality of Service (QoS) and reliability. The cross-cutting behaviors imposed by these para-functional properties and dependencies on operational characteristics (e.g. hardware, OS and middleware platforms used) have traditionally led to hard-to-code, hard-to-understand and hard-to-change software. The net result is that productivity improvements in embedded software development have been miniscule compared to improvements in computing and network technologies. We propose a software-through-models framework for the concurrent construction of behavioral models and executable code. Our framework, which can lead to high degrees of cost-effective reuse of embedded software components, decomposes inter-component relationships with an abstraction named coupler. This decomposition enables the separation of para-functional aspects into multiple semantic dimensions (e.g. timing, event flow, concurrency, fault-tolerance, deployment) that can be modified independent of one another. The impact of changes in one dimension on the realization of other dimensions is automatically projected and managed. Platform dependencies are also captured separately, enabling a code-generation subsystem to re-use the same components across a wide range of heterogeneous platforms and applications. System components can be recursively composed or decomposed. An analyzable software structure is enforced such that the end-to-end timing behavior of the resulting system can be verified. A visual tool called Time Weaver supports the framework and has been used to model avionics systems, automotive systems and signal processing systems. The software can be downloaded from[4].
Dionisio de Niz, Ragunathan Rajkumar
LCTES1
2001 Resource Sharing in Reservation-Based Systems
abstract
The resource-sharing problem in priority-driven realtime systems has been studied at length, with the result that some effective and practical solutions are available for both fixed-priority and dynamic-priority systems. In recent years, real-time operating systems have begun to support the resource reservation paradigm, providing a "temporal isolation" abstraction. However the problem of sharing logical resources across reserved applications has not been extensively studied. In this paper we consider both the theoretical and practical implications of such resource-sharing in reservation-based systems. Moreover we provide some experimental results from the implementation of our proposed schemes in Linux/RK, a "resource kernel" that supports reservations.
Dionisio de Niz, Luca Abeni, Saowanee Saewong, Ragunathan Rajkumar
RTSS1
2000 Constructing Real-time Group Communication Middleware Using the Resource Kernel
abstract
Group communication is a widely studied paradigm which is often used in building real-time and fault-tolerant distributed systems. RTCAST is a real-time group communication protocol which has been designed to work with commercial, non-real-time, off-the-shelf hardware and operating systems, such as Solaris, Linux and Windows NT. RTCAST makes probabilistic real-time guarantees based on assumptions about the performance of the underlying system. Unfortunately, the high variability of the access to system resources that these operating systems provide may limit the predictability of the real-time guarantees provided by RTCAST. By taking advantage of a service that provides resource scheduling and reservation in these operating systems, both the hardness and timing granularity of RTCAST's real-time services can be greatly improved. This paper describes an implementation of RTCAST which makes use of the Resource Kernel to provide highly predictable, real-time communication guarantees.
Scott Iekel-Johnson, Farnam Jahanian, Akihiko Miyoshi, Dionisio de Niz, Ragunathan Rajkumar
RTSS4