Advertisement

Accomplishing Approximate FCFS Fairness Without Queues

  • K. Subramani
  • K. Madduri
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4873)

Abstract

First Come First Served (FCFS) is a policy that is accepted for implementing fairness in a number of application domains such as scheduling in Operating Systems, scheduling web requests, and so on. We also have orthogonal applications of FCFS policies in proving correctness of search algorithms such as Breadth-First Search, the Bellman-Ford FIFO implementation for finding single-source shortest paths, program verification and static analysis. The data structure used to implementing FCFS policies, the queue, suffers from two principal drawbacks, viz., non-trivial verifiability and lack of scalability. In case of large distributed networks, maintaining an explicit queue to enforce FCFS is prohibitively expensive. The question of interest then, is whether queues are required to implement FCFS policies; this paper provides empirical evidence answering this question in the negative. The principal contribution of this paper is the design and analysis of a randomized protocol to implement approximate FCFS policies without queues. From the Software Engineering perspective, the techniques that are developed find direct applications in program verification, model checking, in the implementation of distributed queues and in the design of incremental algorithms for Shortest path problems.

Keywords

Random Graph Incremental Algorithm Graph Instance First Come First Serve Membership Query 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Pinedo, M.: Scheduling: theory, algorithms, and systems. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  2. 2.
    Levi, S.T., Tripathi, S.K., Carson, S.D., Agrawala, A.K.: The Maruti Hard Real-Time Operating System. ACM Special Interest Group on Operating Systems 23(3), 90–106 (1989)CrossRefGoogle Scholar
  3. 3.
    Goodrich, M.T., Tamassia, R.: Algorithm Design: Foundations, Analysis and Internet Examples. John Wiley & Sons, Chichester (2002)MATHGoogle Scholar
  4. 4.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001)MATHGoogle Scholar
  5. 5.
    Barnett, M., Leino, K.R.M.: Weakest-precondition of unstructured programs. In: PASTE, pp. 82–87 (2005)Google Scholar
  6. 6.
    Louden, K.C.: Programming Languages: Principles and Practice. Brooks/Cole (2002)Google Scholar
  7. 7.
    Clarke, E.M.: Automatic verification of sequential circuit designs. In: Agnew, D., Claesen, L., Camposano, R. (eds.) Proceedings of the 11th International Conference on Computer Hardware Description Languages and their Applications (CHDL 1993), Amsterdam, The Netherlands, North-Holland. IFIP Transactions A: Computer Science and Technology, vol. 32, pp. 163–166 (1993)Google Scholar
  8. 8.
    Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science (Fundamental Study) 126(2), 183–235 (1994)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Aceto, L., Bouyer, P., Burgueño, A., Larsen, K.G.: The power of reachability testing for timed automata. Theor. Comput. Sci. 300(1-3), 411–475 (2003)MATHCrossRefGoogle Scholar
  10. 10.
    Demtrescu, C.: A new approach to dynamic all pairs shortest paths. Journal of the ACM 51(6), 968–992 (2004)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Hesse, W.: The dynamic complexity of transitive closure is in dyntc\(^{\mbox{0}}\). Theor. Comput. Sci. 3(296), 473–485 (2003)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Ramalingam, G., Reps, T.W.: On the computational complexity of dynamic graph problems. Theor. Comput. Sci. 158(1&2), 233–277 (1996)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Revesz, P.: Safe query languages for constraint databases. ACM Transactions on Database Systems 23(1), 58–99 (1998)CrossRefGoogle Scholar
  14. 14.
    Revesz, P.: Introduction to Constraint Databases. Springer, Heidelberg (2002)MATHGoogle Scholar
  15. 15.
    Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms and Applications. Prentice-Hall, Englewood Cliffs (1993)Google Scholar
  16. 16.
    Subramani, K., Madduri, K.: A randomized, queueless algorithm for breadth-first search. International Journal of Computers and their Applications (accepted, 2007)Google Scholar
  17. 17.
    Demetrescu, C., Goldberg, A., Johnson, D.: 9th DIMACS implementation challenge – Shortest Paths (2005), http://www.dis.uniroma1.it/~challenge9/
  18. 18.
    Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: A recursive model for graph mining. In: Proc. 4th SIAM Intl. Conf. on Data Mining, Florida, USA (2004)Google Scholar
  19. 19.
    Pettie, S., Ramachandran, V., Sridhar, S.: Experimental evaluation of a new shortest path algorithm. In: Mount, D.M., Stein, C. (eds.) ALENEX 2002. LNCS, vol. 2409, pp. 126–142. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. 20.
    Bader, D.A., Cong, G.: A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs). J. Parallel & Distributed Comput. 65(9), 994–1006 (2005)MATHCrossRefGoogle Scholar
  21. 21.
    Conway, C.L., Namjoshi, K.S., Dams, D., Edwards, S.A.: Incremental algorithms for inter-procedural analysis of safety properties. In: Computer-Aided Verification, pp. 449–461 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • K. Subramani
    • 1
  • K. Madduri
    • 2
  1. 1.LDCSEE, West Virginia University, Morgantown, WV 
  2. 2.College of Computing, Georgia Institute of Technology, Atlanta, GA 

Personalised recommendations