title: Ditributed Algorithms
Distributed algorithms is the study of algorithms that run on more than one processor. The purpose of such algorithms is to utilize parallelization to achieve speedup. Some applications of distributed algorithms would be in multicore processors and clusters of computers.
While studying distributed algorithms in theory, the distributed system is modeled in order to reach an abstract level independent from different implementations and systems. Two common models are message passing model and shared memory model. In message passing, each process (process and processors are usually used interchangeably) communicated via messages that it sends and receives to and from other processes. In the shared memory model, processes communicate by accessing a shared memory.