Local algorithms compensate for changes in computational load using information from small number of neighboring processors. For example, if processors arranged as a logical mesh, each processor compares load with that of its neighborsm and transfers computations if the difference in load exceeds some threshold. If number of tasks is large, scheme works well. In completely decentralized schemes, there is no central manager. A separate task pool is maintained on each processor.
Idle workers request problems from other processors.
Task queue becomes distributed data structure accessed by different processors in asynchronous fashion.