Algorithm Design for Networked Information Technology Systems

The use of centralized algorithms to control systems has been well documented in the literature. In this paradigm, data from one or more sources are collected at a central site and a single processor uses it to compute the systemwide decisions through sequential execution. The range of centralized decision-making algorithms extends from the battlefield [20], scheduling trains in a railway network [21], inventory management [22], and highway management [23] to distributed federated databases [24]. However, with increasing system complexity, the computational burden on the central processor continues to increase, eventually leading to lower throughput and poor efficiency. In contrast, distributed algorithms promise higher throughput and efficiency through sharing the overall computational task among multiple concurrent processors. Markas, Royals, and Kanopoulos [25] report a distributed implementation of fault simulation of digital systems and note throughput improvements over the traditional centralized approach. The classification of distributed algorithms into synchronous and asynchronous categories was discussed in Chapter 1; the key principles are briefly recapitulated here. The synchronous distributed approach is characterized by the presence of a single control processor that schedules executions of all of the remaining processors. The presence of the sequential control node theoretically limits the performance advantage of the synchronous approach. As the number of processors is increased, the synchronization requirement imposed by the control node will effectively counteract the potential advantages of the multiple concurrent processors. ADDM algorithms permit, in theory, the exploitation of...