100 likes | 285 Views
Tarry vs Awerbuchs. Shawn Biesan. Background. Tarry’s Transversal Algorithm Initiator forwards token to one of neighbors, each neighbor forwards token to all other nodes and when done returns token Complexity: 2 * [number of edges] Constructs spanning tree Awerbuchs
E N D
Tarry vsAwerbuchs Shawn Biesan
Background • Tarry’s Transversal Algorithm • Initiator forwards token to one of neighbors, each neighbor forwards token to all other nodes and when done returns token • Complexity: 2 * [number of edges] • Constructs spanning tree • Awerbuchs • Node notifies neighbors that it is visited by sending <vis> so tokens are never sent over frond edges • Time complexity: 4 * [number of nodes] – 2 • Constructs spanning tree • Time Complexity - Number of causally related messages
Experiment • 2 experiments comparing time complexities • Varying number of processes • 5-50, varied by 5 node increments • Varying density of partially connected graph • Probability that there is an edge between two nodes varies from 30%-100%(fully connected) by increments of 10%, denoted as p • Graph must be connected, if it isn’t the graph is regenerated until the created graph is connected • Number of nodes is fixed at 10 • Each data point is the result of averaging 5 trials
Expected Results • Tarrys time complexity will be better for sparse graphs • Its time complexity depends on number of edges(2E) whereas Awebuchs depends on the number of nodes (4N -2) • As p increases Awerbuchswill improve until it has a better time complexity than Tarrys • Greatest difference between them for fully connected graphs
Interpretation • Awerbuchsis indeed better than Tarrys as nodes scale in a completely connected graph • The number of edges grows much faster than nodes ( #edges= (N(N-1))/2 ) • Tarrys algorithm is indeed better for sparse graphs up until about p=0.4 • Expected value of number edges when p=0.4 is 18 so it matches up with theoretical
Code • Most difficult/interesting part of the code was related to how the simulation engine was made • Each new algorithm must implement a specific interface in order to be used • Made adding new algorithms less painful
Conclusions And Future Work • In general Tarry’s algorithm should be used for sparse graphs with small number of nodes, otherwise use Awerbuchs • Easier to implement • Sends less messages – No overhead of <VIS> and <ack> messages • Future Work • Explore different topologies • Explore Message Complexity deeper
Questions? • Thank you