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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- R. Cruz. A calculus for network delay, parts I and II. IEEE Transactions on Information Theory, 37(1):114–141, Jan. 1991.Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- E.-E. Doberkat. Stochastic Relations: Foundations for Markov Transition Systems. Studies in Informatics. Chapman Hall, 2007. Google Scholar
Digital Library
- R. Durrett. Probability: Theory and Examples. Cambridge University Press, 2010. Google Scholar
Digital Library
- A. Edalat. Domain theory and integration. In LICS, pages 115–124, 1994.Google Scholar
Cross Ref
- A. Edalat. The scott topology induces the weak topology. In LICS, pages 372–381, 1996. Google Scholar
Digital Library
- A. Edalat and R. Heckmann. A computational model for metric spaces. Theoretical Computer Science, 193(1):53–73, 1998. Google Scholar
Digital Library
- B. Fortz, J. Rexford, and M. Thorup. Traffic engineering with traditional IP routing protocols. IEEE Communications Magazine, 40(10):118–124, Oct. 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- N. Foster, D. Kozen, K. Mamouras, M. Reitblatt, and A. Silva. Probabilistic NetKAT. In ESOP, pages 282–309, Apr. 2016.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- M. Giry. A categorical approach to probability theory. In Categorical aspects of topology and analysis, pages 68–85. Springer, 1982.Google Scholar
- A. D. Gordon, T. A. Henzinger, A. V. Nori, and S. K. Rajamani. Probabilistic programming. In FOSE, May 2014. Google Scholar
Digital Library
- S. Graham. Closure properties of a probabilistic powerdomain construction. In MFPS, pages 213–233, 1988. Google Scholar
Digital Library
- F. Gretz, N. Jansen, B. L. Kaminski, J. Katoen, A. McIver, and F. Olmedo. Conditioning in probabilistic programming. CoRR, abs/1504.00198, 2015.Google Scholar
- P. R. Halmos. Measure Theory. Van Nostrand, 1950.Google Scholar
Cross Ref
- J. He and J. Rexford. Toward internet-wide multipath routing. IEEE Network Magazine, 22(2):16–21, 2008. Google Scholar
Digital Library
- R. Heckmann. Probabilistic power domains, information systems, and locales. In MFPS, volume 802, pages 410–437, 1994. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- C. Jones. Probabilistic Non-determinism. PhD thesis, University of Edinburgh, August 1989. Google Scholar
Digital Library
- C. Jones and G. Plotkin. A probabilistic powerdomain of evaluations. In LICS, pages 186–195, 1989. Google Scholar
Digital Library
- A. Jung and R. Tix. The troublesome probabilistic powerdomain. ENTCS, 13:70–91, 1998.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- P. Kazemian, G. Varghese, and N. McKeown. Header space analysis: Static checking for networks. In NSDI, 2012. Google Scholar
Digital Library
- A. Khurshid, X. Zou, W. Zhou, M. Caesar, and P. B. Godfrey. Veriflow: Verifying network-wide invariants in real time. In NSDI, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- D. Kozen. Semantics of probabilistic programs. J. Comput. Syst. Sci., 22: 328–350, 1981.Google Scholar
Cross Ref
- D. Kozen. A probabilistic PDL. J. Comput. Syst. Sci., 30(2):162–178, April 1985.Google Scholar
Cross Ref
- D. Kozen. Kleene algebra with tests. ACM TOPLAS, 19(3):427–443, May 1997. Google Scholar
Digital Library
- D. Kozen, R. Mardare, and P. Panangaden. Strong completeness for Markovian logics. In MFCS, pages 655–666, August 2013.Google Scholar
Cross Ref
- M. Z. Kwiatkowska, G. Norman, and D. Parker. PRISM 4.0: Verification of probabilistic real-time systems. In CAV, pages 585–591, 2011. Google Scholar
Digital Library
- K. G. Larsen, R. Mardare, and P. Panangaden. Taking it to the limit: Approximate reasoning for Markov processes. In MFCS, 2012. Google Scholar
Digital Library
- R. Mardare, P. Panangaden, and G. Plotkin. Quantitative algebraic reasoning. In LICS, 2016. Google Scholar
Digital Library
- J. McClurg, H. Hojjat, N. Foster, and P. Cerny. Event-driven network programming. In PLDI, June 2016. Google Scholar
Digital Library
- A. McIver and C. Morgan. Abstraction, Refinement And Proof For Probabilistic Systems. Springer, 2004. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing software defined networks. In NSDI, Apr. 2013. Google Scholar
Digital Library
- C. Morgan, A. McIver, and K. Seidel. Probabilistic predicate transformers. ACM TOPLAS, 18(3):325–353, May 1996. Google Scholar
Digital Library
- T. Nelson, A. D. Ferguson, M. J. G. Scheer, and S. Krishnamurthi. Tierless programming and reasoning for software-defined networks. In NSDI, 2014. Google Scholar
Digital Library
- M. Nielsen, G. D. Plotkin, and G. Winskel. Petri nets, event structures and domains. In Semantics of Concurrent Computation, pages 266–284, 1979. Google Scholar
Digital Library
- P. Panangaden. Probabilistic relations. In PROBMIV, pages 59–74, 1998.Google Scholar
- P. Panangaden. Labelled Markov Processes. Imperial College Press, 2009. Google Scholar
Cross Ref
- S. Park, F. Pfenning, and S. Thrun. A probabilistic language based on sampling functions. ACM TOPLAS, 31(1):1–46, Dec. 2008. Google Scholar
Digital Library
- A. Paz. Introduction to Probabilistic Automata. Academic Press, 1971. Google Scholar
Digital Library
- J. Perry, A. Ousterhout, H. Balakrishnan, D. Shah, and H. Fugal. Fastpass: A Centralized Zero-Queue Datacenter Network. In SIGCOMM, August 2014. Google Scholar
Digital Library
- G. D. Plotkin. Probabilistic powerdomains. In CAAP, pages 271–287, 1982.Google Scholar
- H. Räcke. Optimal hierarchical decompositions for congestion minimization in networks. In STOC, pages 255–264, 2008. Google Scholar
Digital Library
- N. Ramsey and A. Pfeffer. Stochastic lambda calculus and monads of probability distributions. In POPL, pages 154–165, Jan. 2002. Google Scholar
Digital Library
- L. H. Ramshaw. Formalizing the Analysis of Algorithms. PhD thesis, Stanford University, 1979. Google Scholar
Digital Library
- M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D. Walker. Abstractions for network update. In SIGCOMM, pages 323–334, Aug. 2012. Google Scholar
Digital Library
- D. M. Roy. Computability, inference and modeling in probabilistic programming. PhD thesis, Massachusetts Institute of Technology, 2011. Google Scholar
Digital Library
- N. Saheb-Djahromi. Probabilistic LCF. In MFCS, pages 442–451, May 1978.Google Scholar
Cross Ref
- N. Saheb-Djahromi. CPOs of measures for nondeterminism. Theoretical Computer Science, 12:19–37, 1980.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- D. S. Scott. Continuous lattices. In Toposes, Algebraic Geometry and Logic, pages 97–136. 1972.Google Scholar
- R. Segala. Probability and nondeterminism in operational models of concurrency. In CONCUR, pages 64–78, 2006. Google Scholar
Digital Library
- R. Segala and N. A. Lynch. Probabilistic simulations for probabilistic processes. In NJC, pages 250–273, 1995. Google Scholar
Digital Library
- A. Shieh, S. Kandula, A. G. Greenberg, and C. Kim. Seawall: Performance isolation for cloud datacenter networks. In HotCloud, 2010. Google Scholar
Digital Library
- S. Smolka, S. Eliopoulos, N. Foster, and A. Guha. A fast compiler for NetKAT. In ICFP, Sept. 2015. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Tix, K. Keimel, and G. Plotkin. Semantic domains for combining probability and nondeterminism. ENTCS, 222:3–99, 2009. Google Scholar
Digital Library
- D. Varacca and G. Winskel. Distributing probability over non-determinism. Mathematical Structures in Computer Science, 16(1):87–113, 2006. Google Scholar
Digital Library
- D. Varacca, H. Völzer, and G. Winskel. Probabilistic event structures and domains. TCS, 358(2-3):173–199, 2006. Google Scholar
Digital Library
- A. Voellmy, J. Wang, Y. R. Yang, B. Ford, and P. Hudak. Maple: Simplifying SDN programming using algorithmic policies. In SIGCOMM, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Index Terms
Cantor meets Scott: semantic foundations for probabilistic networks
Recommendations
Cantor meets Scott: semantic foundations for probabilistic networks
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesProbNetKAT 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. ...
NetKAT: semantic foundations for networks
POPL '14Recent years have seen growing interest in high-level languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational ...
NetKAT: semantic foundations for networks
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesRecent years have seen growing interest in high-level languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational ...







Comments