What are the right abstractions for capturing programming and intent Discussion section Thursday Feb 12, 11:25-12:15
Capturing Intent • Aaron Gember: Infer intent. Can you simply look at configurations or dataplane to extract intent. What intents do you need to support in a language. • Karthick: • undocumented legacy – reverse engineer intent. Nontechnical challenge: cost of changing intent. To handle security has to cover both what has to be allowed and has to be denied. Can be hard/infeasible to enumerate. Two initial buckets: known to be allowed, known to be denied, third bucket underspecified. Resolve by talking to operators. • Architected systems – intent is accessible
Performance Intent • Jennifer, Ratul: • For resource management and ACLs, configure and optimize network for objectives • See network as one big switch • Brighten: • Wide area network utility being developed • Canini: • Are there service level objectives for capturing performance intent. • [Ratul] availability SLA but not much systematic • Ratul: • Hardest part of reasoning about availability is reasoning on time windows • For resource allocation: have temporal resource buckets, need to think about what network will look like tomorrow while making decisions today.
Performance Intent • Aaron: • Intrigued by dynamo. If we have may to capture intent there, then can we capture them. • Brighten: • Intent discussion is ambitious, infeasible to fully handle. Merlin was a really good approach to scope intent capturing in a feasible way. Would it be feasible to capture relatively complete intents for network fabrics (or some other domain). • Canini • How can we reason about forwarding over time is a challenge not handled with current techniques. NetQKat an approach for reasoning about quantitative properties of network.
Performance Intent • Canini: • Much work relies on policies. Typical policy: there is a minimal bandwidth that each participants gets, for additional b/w required there is a policy to distribute resources across the network. • Ratul: • Missing link: marrying applications intent with network operators intent. • Arjun: • One can choose different VMs with varying performance.
Performance Intent • Karthick: • Security space: old paper lists 11 goals for security design (separation of duty, least privilege, …) Most languages try to facilitate these notions in the notions they provide. • Is there a similar catalogue of intent for SDNs? • Canini: • Resource allocation, security, reliability: Are there different abstractions and programming language features to apply? • Panda: • Panogotios:
Languages • Canini: • P4 - Low level language • View of programmability of SDN, and Click where you have potentially arbitrary software. Not sure if there is a way to unify this. Vision: as programmer of application/distributed system I want to write one piece of software that encodes all the operations that application layer information needs to be looked at and processed. Want it decomposed and tiered. Where the partition is a function of the environment as opposed to development time. • Arjun: • DSL for discussing network, such as NetKAT • Then there is FlowLog for programming both data and control plane. • Then there is general computation on packets and do it well. • Dataplane verification becomes harder problem of general purpose program verification.
Languages • Tim: • Don’t need Turing complete languages in general. In FlowLog created abstraction of adequate but verifiable power. • Andrey: • SDN languages are there to create programs. • How many programs are there? • [Canini] why would you want to program a network? • [Jennifer] examples in my talk are real, e.g., wide area network control management is used by both Google and Microsoft. Open networking foundation for creating an anchor stack, beginning of a path towards adoption. • [Ratul] are these systems implemented in SDN languages or just implemented? • [Nate] It is early days.
Recommend
More recommend