Predictable Scheduling for Multicore Processors for Real-Time Systems
While multiprocessor real-time systems is an old problem, multicore
processors had brought a renew interest along with new dimensions
to the problem. For instance, there is a need to tradeoff different
levels of migration cost, different degrees of inter-core hardware
sharing (e.g. memory bandwidth), etc. Our research is aimed at providing
new knobs to perform these tradeoffs with additional application
Beyond real-time systems general-purpose systems are now faced with the fact that they need to parallelize their work in order to get the expected performance increment from additional cores in the new processors. However, partition the work into parallel pieces is a necessary but not sufficient condition. Equally important is the allocation of CPU cycles to these parallel pieces (tasks). In the extreme if we run all the tasks of the parallel pieces in the same core, such parallelism is completely wiped out. Hence, the task-to-core allocation and the scheduling of hardware resources between core (e.g. cache, memory bandwidth) can change completely the performance of these systems. We are working on new ways to take advantage of application knowledge to use them as parameter in the scheduling algorithms at all levels of the computer system.
Mixed-Criticality Scheduling for Real-Time Systems
Functionally consolidation can create a resource-sharing problem between tasks of different criticality. Furthermore, when tasks with different criticalities have execution times with large variations that depend on environmental conditions, we end up in a situation where overloads are common and the scheduler needs to have a well-defined overload guarantees. For instance, the execution time of an obstacle avoidance (OA) task in an autonomous vehicle depends on the number of obstacles that the vehicle detects. As a result, when an excessive number of obstacles is detected, the scheduler should be able to provide more CPU cycles to the OA task stealing them from other less important tasks.
Analytic Integration of Cyber-Physical Systems
A 2003 NIST study found that between 50% and 80% of the cost of a software
project is spent in testing. Furthermore, in multi-tier
industries where the final product is comprised of components
provided by multiple suppliers, the bulk of the problems are found
at integration time. This is the case of the
avionics and automotive industries where conflicting design decisions
and assumptions made by the different suppliers, can create costly integration
To solve the integration problem we are working on new approaches to replace the integration of physical parts with an integration of analytical models. Once models are integrated, analysis algorithms are used to replace integration testing in the discovery of potential errors. This replacement is not a one-to-one replacement, instead, it is aimed at raising the confidence of the validation to very high levels while keeping the cost of the correction of errors as low as possible. Because, this integration process does not involve a physical integration it is called virtual integration.
The avionics industry has formed the Aerospace Vehicle Systems Institute (AVSI) to explore the use of model-based engineering approaches for virtual integration in this industry.
Two DARPA research initiatives have explored related topics. First, the META-II have explored the foundry manufacturing style where a comprehensive model is the only interfase between design and manufacturing. Such a model must contain a complete description of the desired behavior. The design stage is then responsible of both producing and testing the model for correctness. Once the model is out of this design stage then the model is the only and complete description of the system that can be use in a foundry to create the final and correct product. This character of the model implies the use of analysis algorithms that verifies the behavior of the model in the same approach we are pursuing.
Secondly, the Systems 2020 initiative is aimed at increasing the speed of development of cyber-physical systems and their foreseen changes while keeping them adaptable to unforeseen changes. Both, model-based engineering and platform-based engineering are recognized as two key technologies to achieve these goals. We believe that analytic models can play a key role in this effort at least in two areas. First, analytic models can increase the speed of the development of cyber-physical systems but also the confidence in their correctness. And secondly, these models can exploit analytic invariants of stable PBE layers (e.g. limited interaction between components) that can simplify the analysis of models increasing its scalability and even enabling new types of analysis and properties.
Finally, we recognize that there is still an important number of research challenges ahead of us. As a result, we organized the Analytic Virtual Integration of Cyber-Physical Systems Workshop (AVICPS) to lead an effort in the research community in this front. AVICPS is currently in its third edition collocated with the IEEE Real-Time Systems Symposium.