12
Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for Designing and implementing a simulator for distributed algorithms, which will help to distributed algorithms, which will help to understand the behavior of distributed understand the behavior of distributed systems, and exploring the area of self- systems, and exploring the area of self- stabilizing distributed algorithms stabilizing distributed algorithms . . B.Sc Final Project

Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Distributed Algorithms Simulator

By Har-Tal Oded

Supervised by Dr Shlomi Dolev

Project’s goal:

Designing and implementing a simulator for Designing and implementing a simulator for distributed algorithms, which will help to distributed algorithms, which will help to

understand the behavior of distributed systems, understand the behavior of distributed systems, and exploring the area of self-stabilizing and exploring the area of self-stabilizing

distributed algorithmsdistributed algorithms..

B.Sc Final Project

Page 2: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

C on cep tsIm p lem en ta tion

Distributed Algorithm s

Research

C on cep ts

D is trib u ted B F SD is trib u ted Token R in gD is trib u ted L ead er E lc tion

Im p lem en ta tion

Self Stabilizing Distributed Algorithm s

E ven t D riven P rog ram m in gG rap h ic U ser In te rfaceTh read M an eg m en t

D yn am ica lly load o f java c lasses

Java V irtu a l M ach in e

Java Program m ing

Research

Page 3: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Development

Im p lem en ta tion o f an ab s trac t c lass P rocessor

Im p lem en ta tion o f a C om m u n ica tion g rap h

Im p lem en ta tion o f G rap h ic In te rface c lasses

Im p lem en ta tion o f p red e fin ed A lg orith m s c lasses

D em on s tra tin g an d tes tin g

D es ig n in g a G rap h ic U ser In te rface

D es ig n in g C om m u n ica tion con cep ts

D es ig n in g A b s trac tion m od e l o f D is trib u ted A log orith m

Page 4: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Simulator’s Structure

Sim ulatorG UIM ain w in d ow ,m en u s an d

even t h an d lin g

G UI dialogsin te rface fo r u se rs com m an d s

Propertyin te rface fo r view in g

variab les

User-Defined Algorithm

ProcessorR u n n in g a D is trib u ted a lg o rith m

ControllerC on tro lin g b eh avio ro f each p rocessor

Com m unicationG raphh o ld s sys tem 's top o log y

Sim ulator en g in e o f p rog ram

Page 5: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Using The Simulator

Running simulation

Designing a distributed algorithm

Allocating processorswhile dynamically loading

their algorithms

Implementing algorithm in Java,extending class processor

and using processor API

Defining system topology

Page 6: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Implementing a Distributed Algorithm

Page 7: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Processor inspector

Communication Graph

log

Users menu

Processor

A Simulation View

Page 8: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Controlling a Simulation

Enabling processor

Watch value

Watch name

Processor ID

Algorithm name

Running processor a single step

Page 9: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Design Time Features

• Implementing algorithms in Java , using JDK. User can write any kind of desired algorithm.

• Extended yet flexible API provided. Easy methods were implemented for user convenience.

• Sending and receiving any kind of Java Objects by reference .

User can design any kind of communication object.

• Self design of processor properties User can decide what properties to inspect , and how

should they be inspected.

Page 10: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Run Time Features• Loading Algorithms in run time.

User can load any processor in system with any desired algorithm .

• Changing internal values of processorsUser can change any of the visible properties of each processor ,

during each stage of the running simulation. • Changing distributed system topology

User can add and remove processors , connect and disconnect them ,and watch the consequences on the system.

• Defining simulation’s flow of control User can choose to run a single processor alone , disable some processors, run all processors one or many rounds.

• Viewing debugging informationUser can insert his code with debug messages and display them on simulator

log window.

Page 11: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Example : Implementing Distributed BFS

Sending and receiving data

Performing algorithm

Overriding method’s initialize and singleStep

Extending Class Processor

Page 12: Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,

Example : Running Distributed BFS

Graph leader

number in processor view = distance from leader

Distance from leader