From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id CA3237E7B for ; Wed, 22 Oct 2014 15:41:50 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 22 Oct 2014 06:48:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,769,1406617200"; d="scan'208";a="609310700" Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by fmsmga001.fm.intel.com with ESMTP; 22 Oct 2014 06:48:39 -0700 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.200]) by IRSMSX101.ger.corp.intel.com ([169.254.1.201]) with mapi id 14.03.0195.001; Wed, 22 Oct 2014 14:48:36 +0100 From: "O'driscoll, Tim" To: "announce@dpdk.org" Thread-Topic: DPDK Features for Q1 2015 Thread-Index: Ac/tRv4Y4Vfrsm7FTDyvOFKZotGjVA== Date: Wed, 22 Oct 2014 13:48:36 +0000 Message-ID: <26FA93C7ED1EAA44AB77D62FBE1D27BA54C361DF@IRSMSX102.ger.corp.intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 22 Oct 2014 15:52:02 +0200 Subject: [dpdk-announce] DPDK Features for Q1 2015 X-BeenThere: announce@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK release announcements List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Oct 2014 13:41:58 -0000 We're starting to plan our DPDK features for next year. We're planning to h= ave a DPDK 2.0 release at the end of March, and we'd like to inform the com= munity of the features that we hope to submit to that release. The current = list of features, along with brief descriptions, is included below. There will naturally be some changes to this list as work on these features= progresses. Some will inevitably turn out to be bigger than anticipated an= d will need to be deferred to a later date, while other priorities will ari= se and need to be accommodated. So, this list will be subject to change, an= d should be taken as guidance on what we hope to submit, not a commitment. Our aim in providing this information now is to solicit input from the comm= unity. We'd like to make sure we avoid duplication or conflicts with work t= hat others are planning, so we'd be interested in hearing any plans that ot= hers in the community have for contributions to DPDK in this timeframe. Thi= s will allow us to build a complete picture and ensure we avoid duplication= of effort.=20 I'm sure people will have questions, and will be looking for more informati= on on these features. Further details will be provided by the individual de= velopers over the next few months. We aim to make better use of the RFC pro= cess in this release, and provide early outlines of the features so that we= can obtain community feedback as soon as possible. We also said at the recent DPDK Summit that we would investigate holding re= gular community conference calls. We'll be scheduling the first of these ca= lls soon, and will use this to discuss the 2.0 (Q1 2015) features in a bit = more detail. 2.0 (Q1 2015) DPDK Features: Bifurcated Driver: With the Bifurcated Driver, the kernel will retain direc= t control of the NIC, and will assign specific queue pairs to DPDK. Configu= ration of the NIC is controlled by the kernel via ethtool. Support the new Intel SoC platform, along with the embedded 10GbE NIC. Packet Reordering: Assign a sequence number to packets on Rx, and then prov= ide the ability to reorder on Tx to preserve the original order. Packet Distributor (phase 2): Implement the following enhancements to the P= acket Distributor that was originally delivered in the DPDK 1.7 release: pe= rformance improvements; the ability for packets from a flow to be processed= by multiple worker cores in parallel and then reordered on Tx using the Pa= cket Reordering feature; the ability to have multiple Distributors which sh= are Worker cores. Support Multiple Threads per Core: Use Linux cgroups to allow multiple thre= ads to run on a single core. This would be useful in situations where a DPD= K thread does not require the full resources of a core. Support the Fedora 21 OS. Support the host interface for Intel's next generation Ethernet switch. Thi= s only covers basic support for the host interface. Support for additional = features will be added later. Cuckoo Hash: A new hash algorithm was implemented as part of the Cuckoo Swi= tch project (see http://www.cs.cmu.edu/~dongz/papers/cuckooswitch.pdf), and= shows some promising performance results. This needs to be modified to mak= e it more generic, and then incorporated into DPDK. Provide DPDK support for uio_pci_generic. Integrated Qemu Userspace vHost: Modify Userspace vHost to use Qemu version= 2.1, and remove the need for the kernel module (cuse.ko). PCI Hot Plug: When you migrate a VM, you need hot plug support as the new V= F on the new hardware you are running on post-migration needs to be initial= ized. With an emulated NIC migration is seamless as all configuration for t= he NIC is within the RAM of the VM and the hypervisor. With a VF you have a= ctual hardware in the picture which needs to be set up properly. Additional XL710/X710 40-Gigabit Ethernet Controller Features: Support for = additional XL710/X710 40-Gigabit Ethernet Controller features, including ba= ndwidth and QoS management, NVGRE and other network overlay support, TSO, I= EEE1588, DCB support. SR-IOV switching and port mirroring. Single Virtio Driver: Merge existing Virtio drivers into a single implement= ation, incorporating the best features from each of the existing drivers. X32 ABI: This is an application binary interface project for the Linux kern= el that allows programs to take advantage of the benefits of x86-64 (larger= number of CPU registers, better floating-point performance, faster positio= n-independent code shared libraries, function parameters passed via registe= rs, faster syscall instruction) while using 32-bit pointers and thus avoidi= ng the overhead of 64-bit pointers. AVX2 ACL: Modify ACL library to use AVX2 instructions to improve performanc= e. Interrupt mode for PMD: Allow DPDK process to transition to interrupt mode = when load is low so that other processes can run, or else power can be save= d. This will increase latency/jitter. DPDK Headroom: Provide a mechanism to indicate how much headroom (spare cap= acity) exists in a DPDK process. Thanks, Tim