allocation in hierarchy

A homogenous multiprocesssor is consedered. In conventional computers hierarchies have been used for communication links and memories, but not for processors.

These hierarchies have been easily understood - they are, however, more complicated in multiprocessors.

Communication links
If several communication links are added a new network is formed, that has other transport characteristics. There may raise need of memory for buffering in the interface between the networks, but this must be considered as a part of the design of the link. The transports may be directed differently, but there are however no extreme changes in the load.

Memories are used of mainly two reasons

  • one long term memory storing a problems state
  • ne short term memory containing intermediat values from calculations. Often they are written and read only ones, why they could be considered as queues to processors. Scheduling mechanisms causes large variations in waiting time.

With a hierarchy is ment a number of processors communicating with one memory module being cheaper, larger and generally slower than the memories of the processors.

The access of the memory increases the communication. A nead to read the memory results in a latency time during which data must be stored. Thus there is nead for more local memory.

What data should be stored in a secondary memory? In a conventional processor data is stored in the stack, there is a natural order, that a cache memory handles pretty well. In a multiprocessor the requests are almost random and not at all suited for a cache.

One way to solve this is to add "queue calculations" - ie no execution at all but only intermediate storing. They are executed in special processors being nothing but secondary memories. If this is possible the normal resource theory could be used for a slightly modified allacation algorithm.

Allocation algorithms for such systems are studied.


next >