plazajan / Distributed-Lists

Exercises on distributed lists, using a chain of processing elements (PEs), each PE simulated by a thread.

Repository from Github https://github.complazajan/Distributed-ListsRepository from Github https://github.complazajan/Distributed-Lists

Exercises on Distributed Lists

Our Python 3 program simulates a chain (a case of a line network) of asynchronous Processing Elements (PEs), each communicating only with its neighbors. The chain can store a list of integers, one integer per PE. This provides an environment for 40 exercises on design and implementation of distributed algorithms for list operations, from deque operations to sorting, and on evaluating their complexity. To aid students in the complexity analysis we introduce visualizations called Dominos and Activity Diagrams. The algorithms require a different design and may have complexity different from their counterparts on arrays or linked lists. They can be run on an any computer with the standard installation of Python 3.

Additional details are available in documents in this repository:

  • distrListPoster.pdf
  • distrLIstSlides.pdf
  • distrListPaper.pdf

About

Exercises on distributed lists, using a chain of processing elements (PEs), each PE simulated by a thread.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%