IMPLEMENTING THE DISTRIBUTED BREADTH FIRST SEARCH ALGORITHM IN OMNET++ FOR TEACHING AND LEARNING PURPOSES

Esranur Galip, Hasan Bulut · DergiPark (Istanbul University) · 2016

A distributed system is considered as a set ofcomputers communicating through the network and running collaboratively tocoordinate their activities and to share the resources of the system to achievea common goal. The coordination is achieved by exchanging messages, which carryinformation. Distributed algorithms play a crucial role in this coordination.However, teaching and learning distributed algorithms is difficult due to theinherent complexities of the distributed system. Since it is costly to constructa network of computers to run distributed algorithms to conduct research, teachand learn, many commercial and freely available open source simulation toolshave been developed for simulating network systems and hence, distributedsystems. These tools facilitate the development of distributed algorithms fordifferent environments. One of these tools is OMNET++, which is acomponent-based C++ simulation library and framework for building networksimulators and offers a graphical runtime environment.To facilitate theunderstanding of the working mechanism, a distributed system can be modeled asa graph. Each computer in the distributed system is represented by a vertex,called node and a link between two computers is represented by an edge. Hereby,many graph algorithms can be utilized within a distributed system. Forinstance, traversal of computers (nodes) in a distributed system is importantand used for solving many problems. Many algorithms provide traversal of nodes.In this study, we would like to demonstrate the use of a simulation tool forteaching and learning one of the fundamental distributed graph algorithmscalled Breadth First Search (BFS) algorithm. We use OMNET++ to visualize thesteps of constructing a BFS tree, where colors of edges are dynamically changedto indicate the inner workings of the algorithm. In addition, a learner canvisually trace the flow of the messages between nodes in the simulation.

Read the paper · More papers on PaperTik