Object-based programming techniques help to reduce the cost of software development and maintenance due to the benefits of reuse, information hiding, and encapsulation. This is especially helpful in large, real-time systems that are highly parallel and distributed. The paper reviews asemi-preemptionexecution model of object-based real-time systems that simplifies reasoning about the quality of process-to-processor assignment. The model is used to define system properties such as interprocess parallelism, processor utilization, and interprocessor communication. Additionally, an innovative assignment algorithm is presented which incorporates feasibility constraints. The algorithm is guided by an objective that balances minimum communication against maximum parallelism. Experimental results show that the process assignment algorithm performs extremely well with respect to finding process assignments in isolation. The algorithm easily finds process assignments for which a feasible schedule exists as long as the number of items to be scheduled does not exceed approximately 500.
A distributed fault-tolerant Convergence Function (CF) is proposed to resynchronize clocks with high precision. The CF can be used in conjunction with drift corrections which significantly increases the period between resynchronizations. This is important when clock drifts are large, because clock synchronization overhead then becomes intolerable. Clock differences are disseminated by a reliable message protocol after the clock valves are exchanged. All correct clocks then have identical copies of a matrix of clock differences. Matrix elements of correct clocks satisfy several relations. A subset of clocks that satisfy these relations defines an average clock. The influence of incorrect clocks on the average clock is shown to be bounded. The resynchronization is precise if clock reading errors are small, including uncertainties in transmission delays. Incorrect clocks may run too slow or too fast, exhibit omission failures or report inconsistent values
Until now, little research has been done on methods to combine the seemingly incompatible paradigms of hard and soft real-time systems. To this end, we have developed Dedos, a dependable distributed operating system. The driving forces behind the project are twofold: to meet the demand for dependable distributed control systems, especially in the area of embedded systems and industrial control; and to increase the productivity and quality of application programming for distributed control. Our current focus is on hard real-time issues; soft real-time needs are handled by conventional techniques. However, our work has raised interesting questions about the communication between the soft and hard real-time tasks of the system, which is necessary to pass externally specified control parameters and control status information. The problem is that the data set must always be consistent (concurrency atomicity), but hard real-time activities can never be delayed by soft real-time ones. Other intriguing questions are related to the integration of the reliability and security concepts that are used in the two parts of the systems. in this paper, however, we limit our discussion to the Dedos development model, the Dedos programming model, hard real-time scheduling, and the distributed algorithms needed to implement the Dedos execution environment.<>
The basic mechanisms of the on-line scheduler for the Dependable Distributed Operating System (DEDOS) are presented. DEDOS supports the reliable execution of time-critical applications such as the control of a production system. An application consists of a time-critical hard real-time (HRT) part and a less time critical soft real-time (SRT) part. The HRT part is the backbone of the application and consists mainly of periodic tasks. This part of the application is scheduled off-line to guarantee that all deadlines are met. The off-line scheduler takes all resources into account including the network. On each processor in the distributed system, an on-line scheduler (OLS) enforces this schedule. The off-line scheduler divides the HRT tasks into non-preemptable scheduling blocks and calculates a start time and a worst-case execution time for each block. The OLS starts the execution of these blocks at the prescribed time. Programs can contain alternative statements. Therefore, a scheduling block can have several alternative successors (data-dependent block). Only one of the alternative successor blocks is executed at run time. Therefore, the OLS determines at run time which alternative was taken and the corresponding part of the schedule is enforced. The OLS computes the next block to execute in a time proportional to N+l. where N is the number of data-dependent tasks on a processor. The OLS supports exception handling. Tasks are removed from the schedule after an exception and reinserted into the schedule after a reconfiguration. It is also possible to execute exceptional schedules or to change to a new schedule. The OLS delects violations of user-defined deadlines. Timing violations of network accesses arc also detected because the network and receiver schedules may not be compromised.
A static scheduling algorithm is presented for off-line scheduling of tasks in distributed hard real-time systems. The tasks considered are instances of periodic jobs and have deadlines, resource requirements and precedence constraints. Tasks are divided into nonpreemptable blocks and all task characteristics are known a priori. The algorithm orders the tasks and iteratively schedules the tasks according to the order. Each task is scheduled globally by selecting a node to which it is assigned. Then, the task is scheduled locally by adding the task to the schedule of the selected node. Heuristics are used for both task ordering and node selection in order to guide the algorithm to a feasible schedule. Whenever local scheduling leads to an infeasible schedule, backtracking is used.
Dieter K. Hammer合作论文数Distributed Real-Time Systems Group;Eindhoven University of Technology;Department of Computing Science2
Wieger Wesselink合作论文数Department of Mathematics and Computer Science, Technische Universiteit Eindhoven, Eindhoven, The Netherlands1