1
End-to-End Scheduling in Distributed Real-Time Systems
Chenyang Lu 2
What if a system is unschedulable?
- Reduce execution times of tasks.
- Reduce blocking factors.
- Change periods in requirements.
- Get a faster CPU.
- Replace with software components with
hardware (ASIC, FPGA) components
- Multi-processor and distributed systems.
Chenyang Lu 3
Multi-processor System
- Tight coupling among processors
- E.g., Dual-processor Sun workstations
- Communicate through shared memory and on-
board buses
- Scheduled by a common scheduler/OS
- Global scheduling
- Partitioned scheduling
- States of all processors available to each other
Chenyang Lu 4
Distributed System
- Loose coupling among processors
- Each processor has its own scheduler
- Costly to acquire states of other processors
- Broad range of systems
- Processor boards mounted on a VME bus
- Automobile: hundreds of processors connected
through a Control Area Network (CAN)
- Air traffic control system on a wide area network
Chenyang Lu 5
End-to-End Task Model
- An (end-to-end) task is composed of multiple
subtasks running on multiple processors
- Message
- Event
- Remote method invocation
- Subtasks are subject to precedence constraints
- Task = a chain/tree/graph of subtasks
Chenyang Lu 6
Notation
- Ti = {Ti,1, Ti,2, … , Ti,n(i)}
- n(i): the number of subtasks of Ti
- Precedence constraint: Job Ji,j cannot be