Cantor meets Scott: semantic foundations for probabilistic networks

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.

[1]  Claire Jones,et al.  Probabilistic non-determinism , 1990 .

[2]  Jennifer Rexford,et al.  Toward internet-wide multipath routing , 2008, IEEE Network.

[3]  Pei-Hsin Ho,et al.  Abstraction Refinement , 2004, ATVA.

[4]  Edith Cohen,et al.  Making intra-domain routing robust to changing and uncertain traffic demands: understanding fundamental tradeoffs , 2003, SIGCOMM '03.

[5]  R. Durrett Probability: Theory and Examples , 1993 .

[6]  Srikanth Kandula,et al.  Walking the tightrope: responsive yet stable traffic engineering , 2005, SIGCOMM '05.

[7]  Albert G. Greenberg,et al.  EyeQ: Practical Network Performance Isolation at the Edge , 2013, NSDI.

[8]  Glynn Winskel,et al.  Distributing probability over non-determinism , 2006, Mathematical Structures in Computer Science.

[9]  Azaria Paz,et al.  Introduction to probabilistic automata (Computer science and applied mathematics) , 1971 .

[10]  Paul Hudak,et al.  Maple: simplifying SDN programming using algorithmic policies , 2013, SIGCOMM.

[11]  Kim G. Larsen,et al.  Taking It to the Limit: Approximate Reasoning for Markov Processes , 2012, MFCS.

[12]  Sumit Gulwani,et al.  Static analysis for probabilistic programs: inferring whole program properties from finitely many paths , 2013, PLDI.

[13]  Min Zhu,et al.  B4: experience with a globally-deployed software defined wan , 2013, SIGCOMM.

[14]  References , 1971 .

[15]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[16]  Thomas A. Henzinger,et al.  Probabilistic programming , 2014, FOSE.

[17]  Achim Jung,et al.  The troublesome probabilistic powerdomain , 1997, COMPROX.

[18]  J. Rexford,et al.  Network architecture for joint failure recovery and traffic engineering , 2011, PERV.

[19]  Steven K. Graham,et al.  Closure Properties of a Probabilistic Domain Construction , 1987, MFPS.

[20]  Daniel M. Roy Computability, inference and modeling in probabilistic programming , 2011 .

[21]  David Walker,et al.  Frenetic: a network programming language , 2011, ICFP.

[22]  M. Kodialam,et al.  Oblivious Routing of Highly Variable Traffic in Service Overlays and IP Backbones , 2009, IEEE/ACM Transactions on Networking.

[23]  Prakash Panangaden,et al.  Quantitative Algebraic Reasoning , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[24]  Prakash Panangaden,et al.  Strong Completeness for Markovian Logics , 2013, MFCS.

[25]  Abbas Edalat The Scott topology induces the weak topology , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[26]  Klaus Keimel,et al.  Semantic Domains for Combining Probability and Non-Determinism , 2005, Electronic Notes in Theoretical Computer Science.

[27]  Harald Räcke,et al.  Optimal hierarchical decompositions for congestion minimization in networks , 2008, STOC.

[28]  E. Doberkat Stochastic Relations : Foundations for Markov Transition Systems , 2007 .

[29]  N. Saheb-Djahromi,et al.  Probabilistic LCF , 1978, International Symposium on Mathematical Foundations of Computer Science.

[30]  Prakash Panangaden,et al.  Labelled Markov Processes , 2009 .

[31]  Nancy A. Lynch,et al.  Probabilistic Simulations for Probabilistic Processes , 1994, Nord. J. Comput..

[32]  Klaus Keimel,et al.  Semantic Domains for Combining Probability and Non-Determinism , 2005, Electron. Notes Theor. Comput. Sci..

[33]  Shriram Krishnamurthi,et al.  Tierless Programming and Reasoning for Software-Defined Networks , 2014, NSDI.

[34]  Rene L. Cruz,et al.  A calculus for network delay, Part I: Network elements in isolation , 1991, IEEE Trans. Inf. Theory.

[35]  Roberto Segala Probability and Nondeterminism in Operational Models of Concurrency , 2006, CONCUR.

[36]  N. Saheb-Djahromi,et al.  CPO'S of Measures for Nondeterminism , 1980, Theor. Comput. Sci..

[37]  Michèle Giry,et al.  A categorical approach to probability theory , 1982 .

[38]  Annabelle McIver,et al.  Conditioning in Probabilistic Programming , 2015, MFPS.

[39]  R. A. Silverman,et al.  Introductory Real Analysis , 1972 .

[40]  Abbas Edalat,et al.  A Computational Model for Metric Spaces , 1998, Theor. Comput. Sci..

[41]  Dexter Kozen,et al.  Semantics of probabilistic programs , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[42]  Brighten Godfrey,et al.  VeriFlow: verifying network-wide invariants in real time , 2012, HotSDN '12.

[43]  Dexter Kozen,et al.  Kleene algebra with tests , 1997, TOPL.

[44]  Alexandra Silva,et al.  A Coalgebraic Decision Procedure for NetKAT , 2015, POPL.

[45]  Srikanth Kandula,et al.  Achieving high utilization with software-driven WAN , 2013, SIGCOMM.

[46]  Lyle Harold Ramshaw,et al.  Formalizing the analysis of algorithms , 1979 .

[47]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains , 1979, Semantics of Concurrent Computation.

[48]  Arjun Singh,et al.  A practical algorithm for balancing the max-min fairness and throughput objectives in traffic engineering , 2012, 2012 Proceedings IEEE INFOCOM.

[49]  Samson Abramsky,et al.  Domain theory , 1995, LICS 1995.

[50]  Roman Fric,et al.  A Categorical Approach to Probability Theory , 2010, Stud Logica.

[51]  C. Jones,et al.  A probabilistic powerdomain of evaluations , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[52]  Reinhold Heckmann,et al.  Probabilistic Power Domains, Information Systems, and Locales , 1993, MFPS.

[53]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[54]  Albert G. Greenberg,et al.  Seawall: Performance Isolation for Cloud Datacenter Networks , 2010, HotCloud.

[55]  George Varghese,et al.  Header Space Analysis: Static Checking for Networks , 2012, NSDI.

[56]  J. K. Hunter,et al.  Measure Theory , 2007 .

[57]  Arjun Guha,et al.  A fast compiler for NetKAT , 2015, ICFP.

[58]  Amin Vahdat,et al.  Hedera: Dynamic Flow Scheduling for Data Center Networks , 2010, NSDI.

[59]  M. Rao Measure Theory and Integration , 2018 .

[60]  Annabelle McIver,et al.  Using probabilistic Kleene algebra pKA for protocol verification , 2008, J. Log. Algebraic Methods Program..

[61]  P. Panangaden Probabilistic Relations , 1998 .

[62]  Abbas Edalat Domain Theory and Integration , 1995, Theor. Comput. Sci..

[63]  Nate Foster,et al.  NetKAT: semantic foundations for networks , 2014, POPL.

[64]  Devavrat Shah,et al.  Fastpass , 2014, SIGCOMM.

[65]  Mikkel Thorup,et al.  Traffic engineering with traditional IP routing protocols , 2002, IEEE Commun. Mag..

[66]  Andrew D. Gordon,et al.  Measure Transformer Semantics for Bayesian Machine Learning , 2011, ESOP.

[67]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[68]  David Walker,et al.  Abstractions for network update , 2012, SIGCOMM '12.

[69]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.

[70]  Nick McKeown,et al.  Designing a Predictable Internet Backbone with Valiant Load-Balancing , 2005, IWQoS.

[71]  Alexandra Silva,et al.  Probabilistic NetKAT , 2016, ESOP.

[72]  Norman Ramsey,et al.  Stochastic lambda calculus and monads of probability distributions , 2002, POPL '02.

[73]  Pavol Cerný,et al.  Event-driven network programming , 2015, PLDI.

[74]  Dexter Kozen,et al.  A probabilistic PDL , 1983, J. Comput. Syst. Sci..

[75]  Mariëlle Stoelinga,et al.  An Introduction to Probabilistic Automata , 2002, Bull. EATCS.

[76]  Glynn Winskel,et al.  Probabilistic event structures and domains , 2004, Theor. Comput. Sci..

[77]  Navendu Jain,et al.  Understanding network failures in data centers: measurement, analysis, and implications , 2011, SIGCOMM.