Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computationally Efficient Fault Tolerant ANTS

Similar presentations


Presentation on theme: "Computationally Efficient Fault Tolerant ANTS"— Presentation transcript:

1 Computationally Efficient Fault Tolerant ANTS
Submission Number: 38 Authors: Ankit Tripathi Anant Maheshwari K. Chandrasekaran

2 Introduction: ANTS is a well known problem in distributed computing. There have been many approaches to find efficient solutions to ANTS and we have been able to take a step forward and present a computationally efficient version of the same. We devise a method which finds the treasure with the time complexity of O(D + D2/n + Df) where D is the Manhattan distance of the treasure from the source and f is the maximum number of failures such that f ∈ o(n). The algorithm is specially designed to reduce computation complexity of the distributed system as a whole by efficiently handling failures and also, introducing the elements of parallelism with respect to handling failures.

3 Literature Review: Searching for treasure in a plane was introduced by Feinerman et al. In the original ANTS problem, randomized turing machines are used for controlling the agents and assuming the knowledge of constant approximation of n, the agents are able to locate the treasure in time O(D + D*n). Fault Tolerant ANTS was introduced by Tobias Langner et al. This model provides a distributed protocol that enables the agents to detect failures and recover from them, providing robustness to the protocol.

4 Literature Review (Contd.):
There are fault tolerant group of ants each consisting of f ants called Giants, where f is the maximum number of faults that can occur. The searching in a band is executed by explorer ants and governed by Giants. There are fault tolerant group of ants each consisting of f ants called Giants, where f is the maximum number of faults that can occur. The area around the origin is swept till the treasure is found at the distance D by creating bands around the origin. is swept again. It enables the agents to locate the treasure in time O(D+D2*n+Df) where D is the Manhattan distance to the treasure.

5 Types of ant agents: Vertworker: It searches for the treasure in the vertical direction. Horwork: It searches for the treasure in the vertical direction. Giant: It is a collection of f + 1 agents where f is the number of faults that can happen. Giants are used as a checkpoint to mark the lower limit of the current band in which treasure is searched. PDAGiantCollector: It catches the incoming worker ants coming from two adjacent quadrants towards the diagonal. Their stack is also used as the upper limit of the current band in which worker ants explore. It has f + 1 agents. It obeys a Push Down Automata (PDA). PDAGiantDist: It keeps the record of the perpendicular distance from the origin to the point where it is present using a stack. They also help in clearing faults occurring in the current band. It has f + 1 agents. It obeys a Push Down Automata (PDA).

6 The model searches for the treasure in the form of bands
The model searches for the treasure in the form of bands. In each band, the model processes in the following three phases: Initial Configuration: Setting up the worker ants to their respective position before the initiation of searching. Searching in a band: The worker ants search in the current band. Reordering of ants: Before searching in the next band, the ants are reconfigured based on the faults that have occurred.

7 Initial Configuration
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist A pair of Vertworker and Horwork along with one element of PDAGiantCollector forms a unit. The details about how the unit is formed is explained in detail in the paper.

8 Initial Configuration
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist The unit is populated along the diagonal and fills a band.

9 Initial Configuration
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist PDAGiantCollector ant has the size of stack equal to the location along the diagonal in the band in which searching has to be done. One stack element is popped after every diagonal movement in the current band while rising up the diagonal.

10 Initial Configuration
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist

11 Initial Configuration
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = n After all the worker ants leave the origin, remaining Giants and PDAGiants leave the origin.

12 Searching in a band = + = +
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + Vertworker search vertically and are collected on the incident diagonal by the PDAGiantCollector of that diagonal. Similarly, Horworker search horizontally and are collected on the incident diagonal by the PDAGiantCollector of that diagonal. PDAGiantCollector progressively ascends on the diagonal collecting worker ants at each diagonal point.

13 Searching in a band = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

14 Searching in a band = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

15 Searching in a band = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

16 Searching in a band = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

17 Searching in a band = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

18 Reordering of ants = + = +
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + Giants are left at the outermost position of the band to keep the position of the innermost position of the next band.

19 Reordering of ants = + = +
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + All the worker ants and PDAGiants are sent to the origin for reconfiguration.

20 Reordering of ants = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

21 Reordering of ants = + = + Types of ant agents: Vertworker Horwork
Giant PDAGiantCollector PDAGiantDist = + = +

22 Initial Configuration, again
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + After few rounds…

23 Initial Configuration, again
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + After few rounds…

24 Initial Configuration, again
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + After few rounds…

25 Initial Configuration, again
Types of ant agents: Vertworker Horwork Giant PDAGiantCollector PDAGiantDist = + = + After few rounds…

26 When a fault occurs Types of ant agents: Vertworker Horwork PDAGiantDist PDAGiantCollector collects the worker ants and if any fault occurs, PDAGiantCollector skips to the next diagonal position as per the protocol.

27 When a fault occurs After searching is done in a band.
Types of ant agents: Vertworker Horwork PDAGiantDist After searching is done in a band.

28 When a fault occurs Types of ant agents: Vertworker Horwork PDAGiantDist = …. F ants PDAGiantDist disintegrates into one ant that clear the row that was supposed to be checked by the ant that was killed and two ants that keep a timer so that if this ant is also killed then another ant of the collection can be sent to do the task.

29 When a fault occurs Types of ant agents: Vertworker Horwork PDAGiantDist = …. F ants Since, PDAGiantDist has f + 1 ants out of which one ant keeps the timer, hence, f-1 faults can be handled given that a fault can only trigger PDAGiantDist to perform the task. In case the adversary kills the timer ant, a new ant of the collection restarts the timer.

30 How a fault is cleared? w Stack of ant A Stack of ant B
w is a dummy element pushed into the stack to separate the native elements into the stack from the foreign elements pushed into the stack.

31 How a fault is cleared? w Stack of ant A Stack of ant B

32 How a fault is cleared? w Stack of ant A Stack of ant B

33 How a fault is cleared? w Stack of ant A Stack of ant B

34 How a fault is cleared? w Stack of ant A Stack of ant B

35 How a fault is cleared? w Stack of ant A Stack of ant B

36 How a fault is cleared? w Stack of ant A Stack of ant B

37 How a fault is cleared? w Stack of ant A Stack of ant B

38 How a fault is cleared? w Stack of ant A Stack of ant B

39 How a fault is cleared? w Stack of ant A Stack of ant B

40 How a fault is cleared? w Stack of ant A Stack of ant B

41 How a fault is cleared? w Stack of ant A Stack of ant B

42 How a fault is cleared? w Stack of ant A Stack of ant B

43 How a fault is cleared? w Stack of ant A Stack of ant B

44 How a fault is cleared? w Stack of ant A Stack of ant B

45 Computational Complexity of our algorithm:
The total computational complexity of our algorithm in a band, considering no failures is equal to O(n2 + Dn). Since there are D/n such bands, the total computational complexity is of the order (n2 + Dn) x D/n, which comes up to O(Dn + D2). For f faults, the computational complexity is O(Df). The total computational complexity of the algorithm is O(Dn + D2 + Df). Computational Complexity of “Fault Tolerant ANTS” by Langner et al. has computational complexity O(D2 + Dn + Dnf) and hence, our algorithm has lower computation complexity at the same time maintaining the same time complexity as the above mentioned paper.

46 Thank You 


Download ppt "Computationally Efficient Fault Tolerant ANTS"

Similar presentations


Ads by Google