Artwork

Content provided by Ben Pfaff. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Ben Pfaff or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

nlog, with Teemu Koponen from Styra and Yusheng Wang from VMware

37:41
 
Share
 

Manage episode 165767278 series 1303313
Content provided by Ben Pfaff. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Ben Pfaff or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

Interview with Teemu Koponen of Styra and Yusheng Wang of VMware, about the nlog language.

nlog, in this context, is unrelated to the logging platform for .NET. It is a database language, a simplified form of Datalog that lacks recursion and negation. Teemu designed this language for use in Nicira NVP, the forerunner of VMware NSX-MH. Yusheng is now working to implement nlog in OVN.

Teemu and Yusheng begin by describing the nlog language, its name (the “N” stands for “Nicira.”), and its purpose and contrast it with more commonly known languages such as SQL. An nlog (or Datalog) program consists of a series of queries against input table that produce new tables, which can be reused in subsequent queries to eventually produce output tables.

In a network virtualization system such as NVP or OVN, input tables contain information on the configuration or the state of the system. The queries transform this input into flow tables to push down to switches. The nlog program acts a function of the entire contents of the input tables, without reference to a concept of time or order. This simplifies implementation, because it avoids ordering problems found so pervasively in distributed systems. Thus, versus hand-code state machines, nlog offers better hope of correctness and easier quality assurance, since it allows programmers to specify the desired results rather than all of the possible state transitions that could lead there.

Topics include:

  • Related (more complicated) work in academia.
  • External functions for mapping output.
  • Query planning in NVP and in OVN.
  • Sharding, threading, and performance.
  • Where Yusheng is planning to first propose nlog for use in OVN.
  • The simple Java-based network virtualization system that Yusheng built to demonstrate the idea.
  • The patches that we should expect to see soon from Yusheng.
  • Code size for nlog implementations (small!).
  • Strategies for testing an nlog implementation.
  • Data types in nlog, and risks of asynchronous interfacing
  • Convergence, performance, and transactions.
  • Lessons learned:
    1. Only implement a DSL if you know what you're getting in for.
    2. nlog solved correctness issues, period (leaving developers to worry about scale).

You can reach Teemu at koponen@styra.com and Yusheng at yshwang@vmware.com.

OVS Orbit is produced by Ben Pfaff. The intro and bumper music is Electro Deluxe, featuring Gurdonack, copyright 2014 by My Free Mickey. The outro music is Girls like you, featuring Thespinwires, copyright 2014 by Stefan Kartenberg. All content is licensed under a Creative Commons Attribution 3.0 Unported (CC BY 3.0) license.

  continue reading

75 episodes

Artwork
iconShare
 
Manage episode 165767278 series 1303313
Content provided by Ben Pfaff. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Ben Pfaff or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

Interview with Teemu Koponen of Styra and Yusheng Wang of VMware, about the nlog language.

nlog, in this context, is unrelated to the logging platform for .NET. It is a database language, a simplified form of Datalog that lacks recursion and negation. Teemu designed this language for use in Nicira NVP, the forerunner of VMware NSX-MH. Yusheng is now working to implement nlog in OVN.

Teemu and Yusheng begin by describing the nlog language, its name (the “N” stands for “Nicira.”), and its purpose and contrast it with more commonly known languages such as SQL. An nlog (or Datalog) program consists of a series of queries against input table that produce new tables, which can be reused in subsequent queries to eventually produce output tables.

In a network virtualization system such as NVP or OVN, input tables contain information on the configuration or the state of the system. The queries transform this input into flow tables to push down to switches. The nlog program acts a function of the entire contents of the input tables, without reference to a concept of time or order. This simplifies implementation, because it avoids ordering problems found so pervasively in distributed systems. Thus, versus hand-code state machines, nlog offers better hope of correctness and easier quality assurance, since it allows programmers to specify the desired results rather than all of the possible state transitions that could lead there.

Topics include:

  • Related (more complicated) work in academia.
  • External functions for mapping output.
  • Query planning in NVP and in OVN.
  • Sharding, threading, and performance.
  • Where Yusheng is planning to first propose nlog for use in OVN.
  • The simple Java-based network virtualization system that Yusheng built to demonstrate the idea.
  • The patches that we should expect to see soon from Yusheng.
  • Code size for nlog implementations (small!).
  • Strategies for testing an nlog implementation.
  • Data types in nlog, and risks of asynchronous interfacing
  • Convergence, performance, and transactions.
  • Lessons learned:
    1. Only implement a DSL if you know what you're getting in for.
    2. nlog solved correctness issues, period (leaving developers to worry about scale).

You can reach Teemu at koponen@styra.com and Yusheng at yshwang@vmware.com.

OVS Orbit is produced by Ben Pfaff. The intro and bumper music is Electro Deluxe, featuring Gurdonack, copyright 2014 by My Free Mickey. The outro music is Girls like you, featuring Thespinwires, copyright 2014 by Stefan Kartenberg. All content is licensed under a Creative Commons Attribution 3.0 Unported (CC BY 3.0) license.

  continue reading

75 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide