skip to main content
research-article
Public Access

Cantor meets Scott: semantic foundations for probabilistic networks

Published:01 January 2017Publication History
Skip Abstract Section

Abstract

ProbNetKAT is a probabilistic extension of NetKAT with a denotational semantics based on Markov kernels. The language is expressive enough to generate continuous distributions, which raises the question of how to compute effectively in the language. This paper gives an new characterization of ProbNetKAT’s semantics using domain theory, which provides the foundation needed to build a practical implementation. We show how to use the semantics to approximate the behavior of arbitrary ProbNetKAT programs using distributions with finite support. We develop a prototype implementation and show how to use it to solve a variety of problems including characterizing the expected congestion induced by different routing schemes and reasoning probabilistically about reachability in a network.

References

  1. S. Abramsky and A. Jung. Domain theory. In S. Abramsky, D. M. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, volume 3, pages 1–168. Clarendon Press, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Al-Fares, S. Radhakrishnan, B. Raghavan, N. Huang, and A. Vahdat. Hedera: Dynamic flow scheduling for data center networks. In NSDI, pages 19–19, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. J. Anderson, N. Foster, A. Guha, J.-B. Jeannin, D. Kozen, C. Schlesinger, and D. Walker. NetKAT: Semantic foundations for networks. In POPL, pages 113–126, January 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Applegate and E. Cohen. Making intra-domain routing robust to changing and uncertain traffic demands: understanding fundamental tradeoffs. In SIGCOMM, pages 313–324, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Borgström, A. D. Gordon, M. Greenberg, J. Margetson, and J. V. Gael. Measure transformer semantics for Bayesian machine learning. In ESOP, July 2011.Google ScholarGoogle ScholarCross RefCross Ref
  6. R. Cruz. A calculus for network delay, parts I and II. IEEE Transactions on Information Theory, 37(1):114–141, Jan. 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Danna, S. Mandal, and A. Singh. A practical algorithm for balancing the max-min fairness and throughput objectives in traffic engineering. In INFOCOM, pages 846–854, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  8. E.-E. Doberkat. Stochastic Relations: Foundations for Markov Transition Systems. Studies in Informatics. Chapman Hall, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Durrett. Probability: Theory and Examples. Cambridge University Press, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Edalat. Domain theory and integration. In LICS, pages 115–124, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  11. A. Edalat. The scott topology induces the weak topology. In LICS, pages 372–381, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Edalat and R. Heckmann. A computational model for metric spaces. Theoretical Computer Science, 193(1):53–73, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Fortz, J. Rexford, and M. Thorup. Traffic engineering with traditional IP routing protocols. IEEE Communications Magazine, 40(10):118–124, Oct. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: A network programming language. In ICFP, pages 279–291, Sept. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Foster, D. Kozen, M. Milano, A. Silva, and L. Thompson. A coalgebraic decision procedure for NetKAT. In POPL, pages 343–355. ACM, Jan. 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Foster, D. Kozen, K. Mamouras, M. Reitblatt, and A. Silva. Probabilistic NetKAT. In ESOP, pages 282–309, Apr. 2016.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Gill, N. Jain, and N. Nagappan. Understanding network failures in data centers: Measurement, analysis, and implications. In SIGCOMM, pages 350–361, Aug. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Giry. A categorical approach to probability theory. In Categorical aspects of topology and analysis, pages 68–85. Springer, 1982.Google ScholarGoogle Scholar
  19. A. D. Gordon, T. A. Henzinger, A. V. Nori, and S. K. Rajamani. Probabilistic programming. In FOSE, May 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Graham. Closure properties of a probabilistic powerdomain construction. In MFPS, pages 213–233, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. F. Gretz, N. Jansen, B. L. Kaminski, J. Katoen, A. McIver, and F. Olmedo. Conditioning in probabilistic programming. CoRR, abs/1504.00198, 2015.Google ScholarGoogle Scholar
  22. P. R. Halmos. Measure Theory. Van Nostrand, 1950.Google ScholarGoogle ScholarCross RefCross Ref
  23. J. He and J. Rexford. Toward internet-wide multipath routing. IEEE Network Magazine, 22(2):16–21, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Heckmann. Probabilistic power domains, information systems, and locales. In MFPS, volume 802, pages 410–437, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. C.-Y. Hong, S. Kandula, R. Mahajan, M. Zhang, V. Gill, M. Nanduri, and R. Wattenhofer. Achieving high utilization with software-driven WAN. In SIGCOMM, pages 15–26, Aug. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu, et al. B4: Experience with a globallydeployed software defined WAN. In SIGCOMM, pages 3–14, Aug. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. V. Jeyakumar, M. Alizadeh, D. Mazières, B. Prabhakar, A. Greenberg, and C. Kim. Eyeq: Practical network performance isolation at the edge. In NSDI, pages 297–311, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. Jones. Probabilistic Non-determinism. PhD thesis, University of Edinburgh, August 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Jones and G. Plotkin. A probabilistic powerdomain of evaluations. In LICS, pages 186–195, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Jung and R. Tix. The troublesome probabilistic powerdomain. ENTCS, 13:70–91, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  31. S. Kandula, D. Katabi, B. Davie, and A. Charny. Walking the tightrope: Responsive yet stable traffic engineering. In SIGCOMM, pages 253–264, Aug. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. P. Kazemian, G. Varghese, and N. McKeown. Header space analysis: Static checking for networks. In NSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Khurshid, X. Zou, W. Zhou, M. Caesar, and P. B. Godfrey. Veriflow: Verifying network-wide invariants in real time. In NSDI, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Kodialam, T. Lakshman, J. B. Orlin, and S. Sengupta. Oblivious routing of highly variable traffic in service overlays and ip backbones. IEEE/ACM Transactions on Networking (TON), 17(2):459–472, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Kozen. Semantics of probabilistic programs. J. Comput. Syst. Sci., 22: 328–350, 1981.Google ScholarGoogle ScholarCross RefCross Ref
  36. D. Kozen. A probabilistic PDL. J. Comput. Syst. Sci., 30(2):162–178, April 1985.Google ScholarGoogle ScholarCross RefCross Ref
  37. D. Kozen. Kleene algebra with tests. ACM TOPLAS, 19(3):427–443, May 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. D. Kozen, R. Mardare, and P. Panangaden. Strong completeness for Markovian logics. In MFCS, pages 655–666, August 2013.Google ScholarGoogle ScholarCross RefCross Ref
  39. M. Z. Kwiatkowska, G. Norman, and D. Parker. PRISM 4.0: Verification of probabilistic real-time systems. In CAV, pages 585–591, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. K. G. Larsen, R. Mardare, and P. Panangaden. Taking it to the limit: Approximate reasoning for Markov processes. In MFCS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. R. Mardare, P. Panangaden, and G. Plotkin. Quantitative algebraic reasoning. In LICS, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. J. McClurg, H. Hojjat, N. Foster, and P. Cerny. Event-driven network programming. In PLDI, June 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. A. McIver and C. Morgan. Abstraction, Refinement And Proof For Probabilistic Systems. Springer, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. A. K. McIver, E. Cohen, C. Morgan, and C. Gonzalia. Using probabilistic Kleene algebra pKA for protocol verification. J. Logic and Algebraic Programming, 76(1):90–111, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  45. C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing software defined networks. In NSDI, Apr. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. C. Morgan, A. McIver, and K. Seidel. Probabilistic predicate transformers. ACM TOPLAS, 18(3):325–353, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. T. Nelson, A. D. Ferguson, M. J. G. Scheer, and S. Krishnamurthi. Tierless programming and reasoning for software-defined networks. In NSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. M. Nielsen, G. D. Plotkin, and G. Winskel. Petri nets, event structures and domains. In Semantics of Concurrent Computation, pages 266–284, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. P. Panangaden. Probabilistic relations. In PROBMIV, pages 59–74, 1998.Google ScholarGoogle Scholar
  50. P. Panangaden. Labelled Markov Processes. Imperial College Press, 2009. Google ScholarGoogle ScholarCross RefCross Ref
  51. S. Park, F. Pfenning, and S. Thrun. A probabilistic language based on sampling functions. ACM TOPLAS, 31(1):1–46, Dec. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. A. Paz. Introduction to Probabilistic Automata. Academic Press, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. J. Perry, A. Ousterhout, H. Balakrishnan, D. Shah, and H. Fugal. Fastpass: A Centralized Zero-Queue Datacenter Network. In SIGCOMM, August 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. G. D. Plotkin. Probabilistic powerdomains. In CAAP, pages 271–287, 1982.Google ScholarGoogle Scholar
  55. H. Räcke. Optimal hierarchical decompositions for congestion minimization in networks. In STOC, pages 255–264, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. N. Ramsey and A. Pfeffer. Stochastic lambda calculus and monads of probability distributions. In POPL, pages 154–165, Jan. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. L. H. Ramshaw. Formalizing the Analysis of Algorithms. PhD thesis, Stanford University, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D. Walker. Abstractions for network update. In SIGCOMM, pages 323–334, Aug. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. D. M. Roy. Computability, inference and modeling in probabilistic programming. PhD thesis, Massachusetts Institute of Technology, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. N. Saheb-Djahromi. Probabilistic LCF. In MFCS, pages 442–451, May 1978.Google ScholarGoogle ScholarCross RefCross Ref
  61. N. Saheb-Djahromi. CPOs of measures for nondeterminism. Theoretical Computer Science, 12:19–37, 1980.Google ScholarGoogle ScholarCross RefCross Ref
  62. S. Sankaranarayanan, A. Chakarov, and S. Gulwani. Static analysis for probabilistic programs: inferring whole program properties from finitely many paths. In PLDI, pages 447–458, June 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. D. S. Scott. Continuous lattices. In Toposes, Algebraic Geometry and Logic, pages 97–136. 1972.Google ScholarGoogle Scholar
  64. R. Segala. Probability and nondeterminism in operational models of concurrency. In CONCUR, pages 64–78, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. R. Segala and N. A. Lynch. Probabilistic simulations for probabilistic processes. In NJC, pages 250–273, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. A. Shieh, S. Kandula, A. G. Greenberg, and C. Kim. Seawall: Performance isolation for cloud datacenter networks. In HotCloud, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. S. Smolka, S. Eliopoulos, N. Foster, and A. Guha. A fast compiler for NetKAT. In ICFP, Sept. 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. S. Smolka, P. Kumar, N. Foster, D. Kozen, and A. Silva. Cantor meets scott: Semantic foundations for probabilistic networks. CoRR, abs/1607.05830, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. M. Suchara, D. Xu, R. Doverspike, D. Johnson, and J. Rexford. Network architecture for joint failure recovery and traffic engineering. ACM SIGMETRICS, pages 97–108, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. R. Tix, K. Keimel, and G. Plotkin. Semantic domains for combining probability and nondeterminism. ENTCS, 222:3–99, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. D. Varacca and G. Winskel. Distributing probability over non-determinism. Mathematical Structures in Computer Science, 16(1):87–113, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. D. Varacca, H. Völzer, and G. Winskel. Probabilistic event structures and domains. TCS, 358(2-3):173–199, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. A. Voellmy, J. Wang, Y. R. Yang, B. Ford, and P. Hudak. Maple: Simplifying SDN programming using algorithmic policies. In SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. R. Zhang-Shen and N. McKeown. Designing a predictable Internet backbone with Valiant load-balancing. In International Workshop on Quality of Service (IWQoS), pages 178–192, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. Introduction Overview Preliminaries ProbNetKAT Cantor Meets Scott A DCPO on Markov Kernels Continuity and Semantics of Iteration Approximation Implementation and Case Studies Related Work ConclusionGoogle ScholarGoogle Scholar

Index Terms

  1. Cantor meets Scott: semantic foundations for probabilistic networks

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!