The role of OCP

The Open Compute Project was started in 2011 by Facebook with the goal to produce the most efficient datacenter hardware and to open source the designs.

Incorporated as a nonprofit, the projects mission states: "We believe that openly sharing ideas, specifications and other intellectual property is the key to maximizing innovation and reducing operational complexity in the scalable computing space."

Today, all Facebook datacenters run on 100% OCP hardware designs.

The OCP has several sub-projects for the areas of:

    • Server compute nodes
    • Open Vault storage blocks
    • Mechanical systems like Racks
    • Data center designs for energy efficiency
    • Networking devices (2013)
      • There is also the Telecom Infrastructure Project (TIP), that looks at integrating routing and DWDM functionallity (Project Voyager)

For our project, the last project is the most relevant one, as it is dealing with open hard and software designs for networking devices in datacenters, and through TIP for backhaul connections.


THE OCP NETWORKING PROJECT IN MORE DETAIL:

The goal as stated by the group is the following: “The Open Compute Networking Project is creating a set of technologies that are disaggregated and fully open, allowing for rapid innovation in the network space. We aim to facilitate the development of network hardware and software – together with trusted project validation and testing – in a truly open and collaborative community environment.”

To foster this development, the group designes guidelines for OCP networking hard and software, and recognize submissions that follow these guidelines. These submissions are published in a list hosted at the OCP networking main page. Companies supporting the project with submitted hardware designs include for example: Accton/Edgecore , Alpha Networks, Mellanox, Facebook Wedge, Inventec, Broadcom/Interface Masters

Software projects include:

    1. Open Network Install Environment (ONIE)
    2. Open Network Linux (ONL)
    3. Switch Abstraction Interface (SAI)
    4. Open Optical Monitoring
    5. Flexswitch
    6. ACPI Platform Description
    7. OpenNSL
    8. SONiC

The overall approach envisioned by the OCP-N project is illustrated in this diagram taken from one of their presentations:


As we can see, the plan is to break up the monolithic switch design existing into smaller and smaller independent, open parts, starting with disaggregating in a first step the Software and Hardware components.

To do so, the OCP adopted the Open Network Install Environment (ONIE) developd by Cumulus, a vendor agnostic way to install a NetworkOperating System on networking hardware, similar in functionality to the BIOS on a Server / PC.

The second step was providing a Open Network Operating System, which was achieved with OpenNetworkLinux, contributed by BigSwitch networks.

The group is now working on the higher levels on the Software Stack, with forwarding applications like FBOSS, Microsoft SONiC and Flexswitch.

To make it possible to write applications that work transparent with different vendors and chipsets, an important intermediate step was to create the Switch Abstraction Interface (SAI), a collection of APIs that was openly published, and is now supported by many different hardware platforms.

You can find more information regarding the OCP on their Webpage, linked here.

The networking group page is found here.