Broadly speaking, a distributed computing system consists of, typically spatially and temporally separated, computing nodes that collectively solve a problem. This encompasses environments ranging from a system on a chip to wide area networks connecting computing elements over large distances. Such systems are finding increasing use in modern applications including cloud computing, distributed databases, the smart grid, autonomous robot swarms, and elements of the Internet and Internet-of-Things. Factors like asynchrony and local knowledge that come with a decentralized system consisting of many independent computing nodes make distributed computing challenging and interesting. The possibility of failure of some elements in the system and the presence of malicious nodes further complicates the task. This course will study these issues in distributed computing through models, algorithms and bounds, with an emphasis on fundamental problems and techniques.
by H. Attiya and J. Welch, 2nd edition, Wiley Interscience, 2004.
Additional Resource: Distributed Algorithms: An Intuitive Approach, by Wan Fokkink, MIT Press, second ed. 2018.
Papers from current literature
Phone: (225) 578-5238
Fax: (225) 578-5200