Abstract
Task assignment and scheduling are two important problems for the design of distributed systems. However, due to system complexity and large task numbers, finding optimal solutions is usually very difficult. In this paper, we develop a heuristic algorithm to perform task assignment and scheduling in fault-tolerant distributed real-time systems. In static, the algorithm computes task assignment quickly to find sub-optimal solutions satisfying all requirements. During system operation, the periods of tasks under different fault conditions are dynamically adjusted to adapt to the loss of system resources. Our goal aims at improving system performance by fully utilizing computing resources, including all spare units. Analytical and simulation results are provided to evaluate the efficiency of this algorithm.