Now a day completed real-time systems are distributed. One of the working area of real-time scheduling is distributed scheduling. Task scheduling in distributed systems is dealt with two levels: on the level of each processor (local scheduling), and on the level of the allocation of tasks to processors (global scheduling).
In this thesis, a distributed real-time system with fault tolerance has been designed and called Fault Tolerance Distributed Real Time System FTDRTS. The system consists of heterogeneous processors act as servers and clients connected together via LAN communication network. This system has two types of scheduling schemes:
(1) global model scheduling,
(2) independent model scheduling for scheduling tasks in real time distributed manner.
The time utility function TUF has been developed and called the DTUF (Developed TUF) function. This function gives another dimension and used to priorities’ tasks, based on whether they are Urgent or Important, or both, or neither.
A fault tolerance protocol called DRT-FTIP (Distributed Real Time – Fault Tolerance Integrity Protocol) has been developed. This protocol increases the integrity of the scheduling in distributed real time systems.
The proposed Distributed Real-Time system with its scheduling algorithms and integrity protocol have been designed using the Java Remote Method Invocation (RMI) and use the Flight Reservation System as a case study. The simulation results of this proposed distributed realtime system using global scheduling algorithm gives Deadline Satisfaction Ratio (DSR) equal 95%. While Accrued Utility Ratio (AUR) equal 0.7286.
Table of Contents
1. Overview
1.2 Related Works
1.3 Thesis Statement
1.4 Contributions
1.5 Outline of the Thesis
2.1 Introduction
2.2 Distributed Systems Definition
2.3 Characterization of Distributed Systems
2.4 Software Concepts
2.4.1 Distributed Operating System
2.4.1.1 Uniprocessor Operating Systems
2.4.1.2 Multiprocessor Operating Systems
2.4.1.3 Multicomputer Operating Systems
2.4.2 Network Operating Systems
2.5 Middleware
2.5.1 Positioning Middleware
2.5.2 Categories of Middleware
2.5.2.1 Distributed Tuples
2.5.2.2 Remote Procedure Call
2.5.2.3 Message-Oriented Middleware
2.5.2.4 Distributed Object Middleware
2.6 Networking and Internetworking
2.6.1 Types of network
2.6.1.1 Personal area networks (PANs)
2.6.1.2 Local area networks (LANs)
2.6.1.3 Wide area networks (WANs)
2.6.1.4 Metropolitan area networks (MANs)
2.6.2 Communication Structure
2.6.3 Communication Protocols
2.6.4 Naming
2.6.4.1 Names, Identifiers, and Addresses
2.6.4.2 Name Resolution
2.7 Migration
2.7.1 Data Migration
2.7.2 Computation Migration
2.7.3 Process Migration
2.8 Fault Tolerance
2.8.1 Failure, Error, and Faults
2.8.2 Techniques for Fault Tolerance
3.1 Introduction
3.2 Basic Real-Time Concepts
3.3 Real-Time Systems
3.3.1 Real-Time System Design Issues
3.3.2 Real-time applications issues
3.4 Basic concepts for real-time task scheduling
3.4.1 Real-time task model
3.4.2 Scheduling Criteria
3.5 Scheduling definitions, algorithms and properties
3.5.1 Scheduling algorithms taxonomy
3.5.2 Scheduling properties
3.5.3 Multiprocessor Scheduling
3.6 Distributed Real-Time Systems
3.7 Scheduling Distributed Systems
3.8 The time/utility function
4.1 Introduction
4.2 The proposed System Objective
4.3 Models
4.3.1 The System Model
4.3.2 Task Model
4.3.3 Timeliness Model
4.4 Scheduling Objectives of EOE-DRTSA
4.5 Scheduling Algorithm
4.5.1 EOE-CDRTSA collaborative scheduling algorithm
4.5.1.1 Global scheduling with Static priorities
4.5.1.2 Global scheduling with Dynamic priorities
4.5.2 EOE-PDRTSA independent scheduling algorithm
4.5.2.1 Independent scheduling with Static priority algorithm
4.5.2.2 Independent scheduling Dynamic priority algorithm
4.6 EOE-DRTSA Distributed RMI System design
4.6.1 EOE-DRTSA Distributed system RMI Java Design
5.1 Introduction
5.2 Objectives of EOE-DRTSA
5.3 Protocol Algorithm Description
6.1 Introduction
6.2 Case Study (Flight reservation System)
6.3 The Objective of Flight reservation System
6.4 Features of Flight reservation System
6.5 System Architecture
6.6 The Hardware Description of the System
6.7 Software Requirements
6.8 Technologies Used
6.9 Flight reservation System Modules
6.10 User Interface
6.11 Scenarios
6.11.1 First Scenarios
6.11.2 Second Scenarios
6.11.3 Third Scenarios
6.12 Performance Parameters
6.14 Simulation
7.1 Introduction
7.2 Conclusions
7.3 Future Works
Objectives and Research Themes
This thesis focuses on the design and implementation of a fault-tolerant distributed real-time system, specifically utilizing Java Remote Method Invocation (RMI) middleware. The core objective is to manage task scheduling across heterogeneous processors to maintain system integrity and satisfy timing constraints during network overloads.
- Design of a distributed real-time system with built-in fault tolerance (FTDRTS).
- Development of the Developed Time/Utility Function (DTUF) to prioritize tasks based on urgency and importance.
- Creation of collaborative and independent scheduling algorithms (EOE-CDRTSA, EOE-PDRTSA) with both static and dynamic priority support.
- Implementation of the Distributed Real-Time Fault Tolerance Integrity Protocol (DRT-FTIP) for system recovery.
- Case study validation using a Flight Reservation System simulation.
Excerpt from the Book
1.1 Overview:
In a general-purpose computing system, the primary performance requirement is the correct functionality. For instance, if a user wishes to obtain a list of the first thousand prime numbers, a system meets a functionality requirement if it correctly outputs such a list to the user [1].
In a real-time system, which can be thought of as a special case of general-purpose computing systems, timeliness, along with correct functionality, is also a requisite. Consider, for example, a train that is attempting to make an emergency stop within 5 seconds. The fact that the train does stop demonstrates that it performs its task correctly. However, the completion of this task is not useful, to say the least, if the train does not stop on time (i.e., within 5 seconds). A train that does is said to meet the timeliness requirement [1].
While A real-time application is typically composed of a number of cooperating activities, each contributing towards the overall goals of the application. The physical system being controlled dictates that these activities must perform computations within specific time intervals. For instance, safety considerations may dictate that an activity must respond to an alarm condition within several milliseconds of the receipt of the alarm signal [2]. In the physical world, the purpose of a real-time system is to have a physical effect within a chosen time-frame. Typically, a real-time system consists of a controlling system (computer) and a controlled system (environment). The controlling system interacts with its environment based on information available about the environment. On a real-time computer, which controls a device or process, sensors will provide readings at periodic intervals and the computer must respond by sending signals to actuators. There may be unexpected or irregular events and these must also receive a response. In all cases, there will be a time bound within which the response should be delivered. The ability of the computer to meet these demands depends on its capacity to perform the necessary computations in the given time.
Summary of Chapters
1. Overview: Introduces the necessity of real-time systems, defines timeliness requirements, and provides a comprehensive literature review of distributed scheduling algorithms.
2. Distributed Systems: Reviews core concepts of distributed systems including operating system types, middleware abstractions, networking models, and fundamental fault tolerance theory.
3. Real-Time systems: Describes real-time system characteristics, task modeling, scheduling criteria, and the mathematical representation of time/utility functions.
4. System And Algorithms Design: Introduces the proposed architecture, detailing the EOE-CDRTSA and EOE-PDRTSA algorithms and the implementation of Java RMI for distributed communication.
5. End-To-End Integrity protocol Design: Details the development of the DRT-FTIP protocol, covering its operation phases and methods for handling anomalies and thread execution errors.
6. System Implementation: Presents the Flight Reservation System case study, including system architecture, hardware requirements, and simulation results demonstrating system performance.
7. Conclusions and Future Works: Summarizes the thesis findings regarding scheduling flexibility and performance, while proposing future research directions like mobile agent integration.
Keywords
Distributed Real-Time Systems, Fault Tolerance, Java RMI, Task Scheduling, Time Utility Function, DTUF, Collaborative Scheduling, Independent Scheduling, DRT-FTIP, Flight Reservation System, Deadline Satisfaction Ratio, Accrued Utility Ratio, Middleware, Multiprocessor Scheduling, System Integrity.
Frequently Asked Questions
What is the primary focus of this research?
The research focuses on the design and implementation of a fault-tolerant distributed real-time system capable of handling scheduling tasks effectively under varying network loads.
What are the main thematic Schwerpunkte of the work?
Key themes include distributed scheduling models, the use of Time/Utility Functions (TUF) for prioritization, fault-tolerance integrity protocols, and the practical application of RMI middleware in a flight reservation environment.
What is the core research goal?
The goal is to develop a system that achieves best-effort performance during overloads by separating task urgency from relative importance, thereby ensuring high deadline satisfaction ratios.
Which scientific methodology is employed?
The work combines architectural design, the development of specialized scheduling algorithms (collaborative vs. independent), and experimental simulation using a flight reservation system as a case study.
What does the main part of the thesis cover?
The main part encompasses the theoretical foundations of distributed systems and real-time scheduling, the detailed design of the EOE-DRTSA algorithms, the RMI system implementation, and the fault-tolerance protocol design.
Which keywords define this thesis?
Key terms include distributed real-time systems, fault tolerance, Java RMI, task scheduling, Time Utility Function, and scheduling algorithms like EOE-CDRTSA.
How is task priority calculated in the proposed system?
Priority is calculated using the Developed Time/Utility Function (DTUF), which incorporates both the importance of a thread and its calculated urgency to determine execution order.
How does the system handle fault recovery?
Faults are handled by the DRT-FTIP protocol, which monitors thread execution and uses exception handling to detect issues, potentially re-sending failed threads or re-assigning them to different nodes.
What was the outcome of the simulation?
The simulation results demonstrated that the proposed distributed system achieved a Deadline Satisfaction Ratio (DSR) of 95% and an Accrued Utility Ratio (AUR) of 0.7286.
- Quote paper
- Amira Sallow (Author), 2013, A Fault Tolerance Distributed Real-Time System. Design and Implementation, Munich, GRIN Verlag, https://www.grin.com/document/270139