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.
Text:
Distributed Computing,
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
E-mail: