Table of Contents

Minutes for Thursday g-API session

Edited by Lingli Deng based on notes taken by Bob Monkman and feedback from Bill Fischofer and Keith Wiles

Attendance

Bob Monkman Bill Fischofer Keith Wiles Fu Qiao (CM) Srini Addepalli (FreeScale) Subha Venkataraman (Freescale) Bharat Mota (Freescale) Yu Chang (Huawei) Abdel rabi (Altera) Hu Yun Chao (Huawei) Zhou Nan (Huawei) Kin-Yip Liu (Cavium) Brian Skerry (intel) Prakash Kanthi (DataTap Solutions)

Overview

Session was delayed until 3:40 and so we had only slightly less than 2 hours. Skipped High level requirements to go over 2 presentations:

  1. ODP overview and how it relates to g-API from ODP team perspective.
  2. Keith’s updated DPDK perspective g-API presentation

We had presentation, some comments and questions in discussion afterwards.

ODP overview

It is suggested that ODP was created from the start to have precisely the same goal as g-API. Application portability with leverage of differentiated accelerators for different vendors

It is emphasized as the ODP team considers it fundamentally important that representative competitors work together to arrive at the g-API recommendations in the end. And the case for ODP is pretty promising. 30 months in the making and key aspect of ODP is that competitors and partners alike, from OEMs (Cisco, Nokia, ZTE, Huawei), SoC vendors (Applied Micro, AMD, Broadcom, Cavium, EZChip, Freescale, Kalray) and ISVs such as MontaVista, Enea worked in concert to define and agree the APIs, create implementations and a set of 10+ demos over time. Even Intel has been represented, first from OEMs who have a stake in DPDK and Intel Architecture solutions, and now through Wind River just ramping up participation thru acquisition.

Question came up as to whether ODP-DPDK could be leveraged for its virtio support to enable the proposed virtio option for binary compatibility across a given Instruction Set Architecture.

There was a discussion raised by Keith on the fact that ODP layer is open source, but few SoC implementations are published on the opendataplane.org site.

It was presented that ODP team had in very simple cases reduced ODP-DPDK overhead to “negligible levels”, as is already the case for several SoC implementations. Also, there is a stated goal to ensure this is less than 2% for most cases and PoCs were in development to examine ODP performance with real world use cases.

DPDK updated proposal

The first slide was a rework of the earlier agreed VNF Application in Guest from OPNFV mini summit at NFV WC。

Keith showed a new slide emphasizing their desire to preserve DPDK investment by those who had created integrations with DPDK.

There was new concrete proposal for folding certain ODP support into DPDK. "Extending DPDK with ODP features gives us the best of both worlds!"

  1. Configuration: Combine the two configuration models
    1. DPDK supports only PCI configuration model
    2. ODP supports only SoC configuration model
  2. Memory manager: Combine the two memory manager models
    1. ODP supports a external memory manager for SoC controlled memory
    2. DPDK support a high performance memory manager for devices without memory managers
  3. Run-to-Completion and Event based model: Combine the two run models
    1. DPDK uses Run-to-Completion for high performance
    2. ODP uses Event-based model for programming model

"The phase one design would be to have ODP as a set of PMDs to allow Intel, MIPS, PowerPC and ARM systems to use any configuration they so desire to meet their system goals."

DPDK and ODP teams can assess the viability of supporting both memory manager models in their respective projects.

It was agreed that data plane applications are generally RTC fundamentally.

Keith wrapped up proposed concrete next steps of adding support in DPDK for the above features and requested help with a standard DPDK implementation for ARM.

Summary and next step discussion

It was agreed that the only way forward was to produce prototypes examining these sorts of options. It was also suggested that the DPDK and ODP teams really need to directly discuss and explore convergence in general.

Bob confirmed the ODP is adding better DPDK support in ODP and will likewise produce some prototype/POCs for assessment of the project. This can be considered part of the Implementation phase where proposals are presented for meeting the requirements of DPACC and the group can evaluate and go from there.

Keith suggested rather than working with DPDK as the SDK to ODP, the team should focus on adding the missing parts to DPDK to enable the ODP/SoC vendors.