Publications Copyright Notice

    Selected 15 papers in Distributed Systems

    These are my favorite papers that have come out of PDSLAB in the area of distributed systems.
  1. Rahul Garg, Vijay K. Garg, Yogish SabharwalScalable Algorithms for Global Snapshots in Distributed Systems ACM International Conference on Supercomputing 2006 pdf
  2. Existing algorithms for global snapshots in distributed systems are not scalable when the underlying topology is complete. In a network with $N$ processors, these algorithms require $O(N)$ space and $O(N)$ messages per processor. In this paper, we propose three algorithms for global snapshot: a grid-based, a tree-based and a centralized algorithm. The grid-based algorithm uses $O(N)$ space but only $O(\sqrt N)$ messages per processor. The tree-based algorithm requires only $O(1)$ space and $O(\log N \log w)$ messages per processor where $w$ is the average number of messages in transit per processor. The centralized algorithm requires only $O(1)$ space and $O(\log w)$ messages per processor. We also have a matching lower bound for this problem.

  3. Anurag Agarwal, Vijay K. Garg, Efficient Dependency Tracking for Relevant Events in Concurrent Systems, Distributed Computing (DC) accepted pdf ... springer
  4. In a concurrent system with $N$ processes, vector clocks of size $N$ are used for tracking dependencies between the events. Using vectors of size $N$ leads to scalability problems. We present a class of logical clock algorithms, called chain clock, for tracking dependencies between relevant events based on generalizing a process to any chain in the computation poset. Chain clocks are generally able to track dependencies using fewer than $N$ components and also adapt automatically to systems with dynamic number of processes. We also study the class of chain clocks which perform optimally for posets of small width.
  5. Vijay K. Garg, Algorithmic Combinatorics based on Slicing Posets , accepted Theoretical Computer Science , ...Postscript .
  6. A combinatorial problem usually requires enumerating, counting or ascertaining existence of structures that satisfy a given property $B$ in a set of structures $L$. This paper describes a technique based on a generalization of Birkhoff's Theorem of representation of finite distributive lattices that can be used for solving such problems mechanically and efficiently. Specifically, we give an efficient (polynomial time) algorithm to enumerate, count or detect structures that satisfy $B$ when the total set of structures is large but the set of structures satisfying $B$ is small. We illustrate our techniques by analyzing problems in integer partitions, set families, and set of permutations.

  7. Vijay K. Garg, Anurag Agarwal, Distributed Maintenance of a Spanning Tree Using Labeled Tree Encoding, Euro'Par 2005, pp. 606 - 616. pdf .... slides ...Technical Report .
  8. We propose a self-stabilizing algorithm for maintaining a spanning tree in a distributed fashion for a completely connected topology. Our algorithm requires a node to process $O(1)$ messages of size $O(\log n)$ on average in one cycle as compared to previous algorithms which need to process messages from every neighbor, resulting in $O(n)$ work in a completely connected topology. Our algorithm also stabilizes faster than the previous approaches.

  9. Neeraj Mittal, Alper Sen, Vijay K. Garg, and Ranganath Atreya, Finding Satisfying Global States: All for One and One for All , In Proceedings of International Parallel and Distributed Processing Symposium (IPDPS), April 2004. ........... Postscript ........... pdf

  10. Given a distributed computation and a global predicate, predicate detection involves determining whether there exists at least one consistent cut (or global state) of the computation that satisfies the predicate. On the other hand, computation slicing is concerned with computing the smallest sub-computation---with the least number of consistent cuts---that contains all consistent cuts of the computation satisfying the predicate. In this paper, we investigate the relationship between predicate detection and computation slicing and show that the two problems are equivalent. Specifically, given an algorithm to detect a predicate $b$ in a computation $C$, we derive an algorithm to compute the slice of $C$ with respect to $b$.

  11. Neeraj Mittal and Vijay K. Garg, Techniques and Applications of Computation Slicing Distributed Computing link to Springer

    pdf
  12. This paper gives the definition of computation slicing and an efficient algorithm to compute a slice for regular predicates.

  13. Alper Sen and Vijay K. Garg, Detecting Temporal Logic Predicates in Distributed Programs Using Computation Slicing , 7th International Conference on Principles of Distributed Systems La Martinique, France,December 10-13 2003, ........... Postscript ........... pdf

  14. This paper gives algorithms to compute slices with respect to EF, EG and AG operators of temporal logic.

  15. A. Tarafdar, V. K. Garg, Software fault-tolerance of concurrent programs using controlled reexecution ,DISC'99 Bratislava, Slovakia, September 27-29, 1999, pp. 210 - 224.Abstract ...........Postscript

  16. This paper introduces the idea of controlled reexecution. It gives algorithms to control a computation for disjunctive and mutual exclusion predicates.

  17. C. M. Chase, V. K. Garg,Efficient Detection of Global Predicates in a Distributed System, Distributed Computing, Vol. 11, No. 4, 1998, pp. 169 -- 189.Postscript

  18. Shows that predicate detection is a hard problem in general. Defines the classes linear and semi-linear predicates that allow efficient detection.

  19. V. K. Garg and J. R. Mitchell,Distributed Predicate Detection in a Faulty Environment,Proc. IEEE International Conference on Distributed Computing Systems, Amsterdam, Netherlands, May 1998, pp. 416 - 423. Abstract ........... Postscript

  20. Gives a class of predicates that can be detected efficiently in an asynchronous system in spite of faults.

  21. A. I. Tomlinson, V. K. Garg,Monitoring Functions on Global States of Distributed Programs Journal of Parallel and Distributed Computing Vol. 41, No. 2, March 1997, pp. 173 -- 189.Abstract ...........Postscript

  22. Gives an algorithm to detect predicates of the form $x1+x2+..+xn \leq k$. The algorithm is also useful in computing width of a poset.

  23. V. K. Garg, B. Waldecker,Detection of Strong Unstable Predicates in Distributed Programs, IEEE Transactions on Parallel and Distributed Systems, Vol. 7, No. 12, December 1996, pp. 1323 - 1333. Abstract ...........Postscript

  24. Gives an algorithm to detect predicates of the form $definitely:b1 \wedge b2 \wedge ... bn$ where $bi$ is a local predicate.

  25. O. Damani, V. K. Garg,How to Recover Efficiently and Asynchronously when Optimism Fails,Proc. IEEE International Conference on Distributed Computing Systems,Hong Kong, May 1996, pp. 108 - 115. Abstract ........... Tech Report pdf

  26. Gives an efficient algorithm for optimistic message logging. The crucial observation is that a process that rolls back due to failure of a process can recover to the point that it does not make any additional processes inconsistent. Therefore, there is no need for rollback announcement.

  27. V. K. Garg, B. Waldecker,Detection of Weak Unstable Predicates in Distributed Programs, IEEE Transactions on Parallel and Distributed Systems, Vol. 5, No. 3, March 1994, pp. 299-307. Abstract ........... Postscript

  28. This paper shows that $possibly:b1 \wedge b2 \wedge nn$ where each bi is a local predicate can be detected efficiently. This allows efficient detection of any global predicate in disjunctive normal form.

  29. V. K. Garg, M.T. RaghunathConcurrent Regular Expressions and their Relationship to Petri Net Languages, Theoretical Computer Science } 96 (1992) pp 285-304.Abstract ...........Postscript

  30. This paper gives an extension of regular expressions for concurrent systems. It shows bijection between Petri net languages and concurrent regular expressions.


Vijay K. Garg
Wed Jan 23 13:33:15 CST 2002