Computationally Efficient Fault Tolerant ANTS

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Heuristic Functions By Peter Lane
Exploiting Symmetry in Planning Maria Fox Durham Planning Group University of Durham, UK.
Chapter 7 - Local Stabilization1 Chapter 7: roadmap 7.1 Super stabilization 7.2 Self-Stabilizing Fault-Containing Algorithms 7.3 Error-Detection Codes.
Searching on Multi-Dimensional Data
Gossip Algorithms and Implementing a Cluster/Grid Information service MsSys Course Amar Lior and Barak Amnon.
Prune-and-Search Method
Transaction.
Improving the Round Complexity of VSS in Point-to-Point Networks Jonathan Katz (University of Maryland) Chiu-Yuen Koo (Google Labs) Ranjit Kumaresan (University.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Convex Hulls Today: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness,
1 Complexity of Network Synchronization Raeda Naamnieh.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
A Progressive Fault Detection and Service Recovery Mechanism in Mobile Agent Systems Wong Tsz Yeung Aug 26, 2002.
SPIE Vision Geometry - July '99 Even faster point set pattern matching in 3-d Niagara University and SUNY - Buffalo Laurence Boxer Research.
CS 106 Introduction to Computer Science I 03 / 03 / 2008 Instructor: Michael Eckmann.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
LIAL HORNSBY SCHNEIDER
OPTIMAL PHEROMONE UTILIZATION Roman Kecher Joint work with: Yehuda Afek and Moshe Sulamy Tel-Aviv University.
CHAPTER 7: SORTING & SEARCHING Introduction to Computer Science Using Ruby (c) Ophir Frieder at al 2012.
Matrix Solution of Linear Systems The Gauss-Jordan Method Special Systems.
Pregel: A System for Large-Scale Graph Processing
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
MapReduce: Simplified Data Processing on Large Clusters 컴퓨터학과 김정수.
CSC 456 Operating Systems Seminar Presentation (11/13/2012) Leon Weingard, Liang Xin The Google File System.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Patch Based Mobile Sink Movement By Salman Saeed Khan Omar Oreifej.
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
1 Nasser Alsaedi. The ultimate goal for any computer system design are reliable execution of task and on time delivery of service. To increase system.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
More on Adaptivity in Grids Sathish S. Vadhiyar Source/Credits: Figures from the referenced papers.
Doc.: IEEE /0431r0 Submission April 2009 Alexander Maltsev, Intel CorporationSlide 1 Polarization Model for 60 GHz Date: Authors:
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Chapter 9: One- and Two-Sample Estimation Problems: 9.1 Introduction: · Suppose we have a population with some unknown parameter(s). Example: Normal( ,
1. Searching The basic characteristics of any searching algorithm is that searching should be efficient, it should have less number of computations involved.
Introduction to JPEG m Akram Ben Ahmed
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network You-Chiun Wang, Chun-Chi Hu, and Yu-Chee Tseng IEEE Transactions on Mobile Computing.
Journal of Computational and Applied Mathematics Volume 253, 1 December 2013, Pages 14–25 Reporter : Zong-Dian Lee A hybrid quantum inspired harmony search.
1 Igor Burdonov Alexander Kossatchev Building direct and back spanning trees by automata on a graph The Institute for System Programming (ISP) of the Russian.
CMPS 3130/6130 Computational Geometry Spring 2017
Authors: Jiang Xie, Ian F. Akyildiz
8.6. Recovery By Hemanth Kumar Reddy.
Lesson 1-3 Formulas Lesson 1-3: Formulas.
The minimum cost flow problem
Graphs Representation, BFS, DFS
Multi-Way Search Trees
Bin Sort, Radix Sort, Sparse Arrays, and Stack-based Depth-First Search CSE 373, Copyright S. Tanimoto, 2002 Bin Sort, Radix.
湖南大学-信息科学与工程学院-计算机与科学系
MATH 1310 Session 1.
Copyright © Cengage Learning. All rights reserved.
Graphing on the Coordinate Plane
Quantum Technology programme
MATH 1310 Section 1.1.
Assignment 5 - Solution Problem 1
Bin Sort, Radix Sort, Sparse Arrays, and Stack-based Depth-First Search CSE 373, Copyright S. Tanimoto, 2001 Bin Sort, Radix.
Lecture 8: Synchronous Network Algorithms
Minimax strategies, alpha beta pruning
Copyright © Cengage Learning. All rights reserved.
MATH 1310 Section 1.1.
Chapter 9: One- and Two-Sample Estimation Problems:
EEC 688/788 Secure and Dependable Computing
Graphing on the Coordinate Plane
MATH 1310 Section 1.1.
Instructor: Aaron Roth
Minimax strategies, alpha beta pruning
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

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

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.

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.

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.

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).

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.

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.

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

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.

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

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.

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.

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

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

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

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

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

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.

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.

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

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

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

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

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

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

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.

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.

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.

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.

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

Thank You 