Why are algorithms which can satisfactorily schedule real time tasks on multiprocessors not satisfactory to schedule real time tasks on distributed systems?
Algorithms Satisfactorily Schedule Real Time Tasks on Multiprocessors not Satisfactory
A basic difference between multiprocessor and distributed systems is sharing of physical memory. Multiprocessor systems (aka. tightly coupled systems) are characterized by the existence of a shared physical memory.
In contrast, a distributed system (aka. loosely coupled system) is devoid of any shared physical memory.
In a tightly coupled system, the interprocess communication is inexpensive and is achieved through read and writes to the shared memory.
However, the same is not true for distributed systems where inter task communication times are comparable to the task execution times. Due to this, a multiprocessor system may use a centralized scheduler/dispatcher whereas a distributed system cannot.