Message ID | 20210524105822.63171-1-wojciechx.liguzinski@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7D7F9A0547; Mon, 24 May 2021 12:59:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3D67B4068C; Mon, 24 May 2021 12:59:10 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 2B81B4003C for <dev@dpdk.org>; Mon, 24 May 2021 12:59:07 +0200 (CEST) IronPort-SDR: 1NHcZwIP/hW3Zfvuo+x7BDKTS+9HU5b3wADHrMpoctdY1QgijnTZS6DX8Viv1OPaLbIPLmxDY8 Rvdlkaok5s+w== X-IronPort-AV: E=McAfee;i="6200,9189,9993"; a="201948453" X-IronPort-AV: E=Sophos;i="5.82,319,1613462400"; d="scan'208";a="201948453" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2021 03:59:05 -0700 IronPort-SDR: s0WirIDzsxxV895IktTmEJyIx0nRPZvBF2diuokVtUp1hCnt5tWpMySAxMxUFYneYTX8vrcK9c PHBPBX16qARg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,319,1613462400"; d="scan'208";a="413548035" Received: from silpixa00400629.ir.intel.com ([10.237.214.62]) by orsmga002.jf.intel.com with ESMTP; 24 May 2021 03:59:04 -0700 From: "Liguzinski, WojciechX" <wojciechx.liguzinski@intel.com> To: dev@dpdk.org, jasvinder.singh@intel.com, cristian.dumitrescu@intel.com Cc: savinay.dharmappa@intel.com Date: Mon, 24 May 2021 11:58:19 +0100 Message-Id: <20210524105822.63171-1-wojciechx.liguzinski@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [RFC PATCH 0/3] Add PIE support for HQoS library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
Add PIE support for HQoS library
|
|
Message
Liguzinski, WojciechX
May 24, 2021, 10:58 a.m. UTC
DPDK sched library is equipped with mechanism that secures it from the bufferbloat problem which is a situation when excess buffers in the network cause high latency and latency variation. Currently, it supports RED for queue congestion control (which is designed to control the queue length but it does not control latency directly and is now being obsoleted ). However, more advanced queue management is required to address this problem and provide desirable quality of service to users. This solution (RFC) proposes usage of new algorithm called "PIE" (Proportional Integral controller Enhanced) that can effectively and directly control queuing latency to address the bufferbloat problem. The implementation of mentioned functionality includes modification of existing and adding a new set of data structures to the library, adding PIE related APIs. This affects structures in public API/ABI. That is why deprecation notice is going to be prepared and sent. Liguzinski, WojciechX (3): sched: add pie based congestion management example/qos_sched: add pie support example/ip_pipeline: add pie support config/rte_config.h | 1 - drivers/net/softnic/rte_eth_softnic_tm.c | 4 +- examples/ip_pipeline/tmgr.c | 4 +- examples/qos_sched/app_thread.c | 1 - examples/qos_sched/cfg_file.c | 82 +++++++-- examples/qos_sched/init.c | 5 +- examples/qos_sched/profile.cfg | 196 +++++++++++++------- lib/sched/meson.build | 10 +- lib/sched/rte_sched.c | 220 +++++++++++++++++------ lib/sched/rte_sched.h | 53 ++++-- 10 files changed, 411 insertions(+), 165 deletions(-)
Comments
On Mon, 24 May 2021 11:58:19 +0100 "Liguzinski, WojciechX" <wojciechx.liguzinski@intel.com> wrote: > DPDK sched library is equipped with mechanism that secures it from the bufferbloat problem > which is a situation when excess buffers in the network cause high latency and latency > variation. Currently, it supports RED for queue congestion control (which is designed > to control the queue length but it does not control latency directly and is now being > obsoleted ). However, more advanced queue management is required to address this problem > and provide desirable quality of service to users. > > This solution (RFC) proposes usage of new algorithm called "PIE" (Proportional Integral > controller Enhanced) that can effectively and directly control queuing latency to address > the bufferbloat problem. > > The implementation of mentioned functionality includes modification of existing and > adding a new set of data structures to the library, adding PIE related APIs. > This affects structures in public API/ABI. That is why deprecation notice is going > to be prepared and sent. > > > Liguzinski, WojciechX (3): > sched: add pie based congestion management > example/qos_sched: add pie support > example/ip_pipeline: add pie support > > config/rte_config.h | 1 - > drivers/net/softnic/rte_eth_softnic_tm.c | 4 +- > examples/ip_pipeline/tmgr.c | 4 +- > examples/qos_sched/app_thread.c | 1 - > examples/qos_sched/cfg_file.c | 82 +++++++-- > examples/qos_sched/init.c | 5 +- > examples/qos_sched/profile.cfg | 196 +++++++++++++------- > lib/sched/meson.build | 10 +- > lib/sched/rte_sched.c | 220 +++++++++++++++++------ > lib/sched/rte_sched.h | 53 ++++-- > 10 files changed, 411 insertions(+), 165 deletions(-) What about FQ codel which is more widely deployed, has less configuration?
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liguzinski, > WojciechX > Sent: Monday, 24 May 2021 12.58 > > DPDK sched library is equipped with mechanism that secures it from the > bufferbloat problem > which is a situation when excess buffers in the network cause high > latency and latency > variation. Currently, it supports RED for queue congestion control The correct term is "active queue management", not "queue congestion control". > (which is designed > to control the queue length but it does not control latency directly > and is now being > obsoleted ). Some might prefer other algorithms, such as PIE, CoDel, CAKE, etc., but RED is not obsolete! > However, more advanced queue management is required to > address this problem > and provide desirable quality of service to users. > > This solution (RFC) proposes usage of new algorithm called "PIE" > (Proportional Integral > controller Enhanced) that can effectively and directly control queuing > latency to address > the bufferbloat problem. > > The implementation of mentioned functionality includes modification of > existing and > adding a new set of data structures to the library, adding PIE related > APIs. > This affects structures in public API/ABI. That is why deprecation > notice is going > to be prepared and sent. > > > Liguzinski, WojciechX (3): > sched: add pie based congestion management > example/qos_sched: add pie support > example/ip_pipeline: add pie support It's "PIE", not "pie". :-) Nonetheless, the RFC looks good! -Morten
> -----Original Message----- > From: Morten Brørup <mb@smartsharesystems.com> > Sent: Tuesday, May 25, 2021 10:57 AM > To: Liguzinski, WojciechX <wojciechx.liguzinski@intel.com>; dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>; Dumitrescu, Cristian <cristian.dumitrescu@intel.com> > Cc: Dharmappa, Savinay <savinay.dharmappa@intel.com> > Subject: RE: [dpdk-dev] [RFC PATCH 0/3] Add PIE support for HQoS library > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liguzinski, > > WojciechX > > Sent: Monday, 24 May 2021 12.58 > > > > DPDK sched library is equipped with mechanism that secures it from the > > bufferbloat problem which is a situation when excess buffers in the > > network cause high latency and latency variation. Currently, it > > supports RED for queue congestion control > > The correct term is "active queue management", not "queue congestion control". Good point. I will correct the naming. > > > (which is designed > > to control the queue length but it does not control latency directly > > and is now being obsoleted ). > > Some might prefer other algorithms, such as PIE, CoDel, CAKE, etc., but RED is not obsolete! I didn't write that it is obsolete, I just shortened what was written in the RFC (8033) on page 4: "(...) AQM schemes, such as Random Early Detection (RED) [RED] as suggested in [RFC2309] (which is now obsoleted by [RFC7567]), have been around for well over a decade. RED is implemented in a wide variety of network devices, both in hardware and software. Unfortunately, due to the fact that RED needs careful tuning of its parameters for various network conditions, most network operators don't turn RED on. (...)" Apologies if I weren't precise when thinking about such a summary. :-) > > > However, more advanced queue management is required to address this > > problem and provide desirable quality of service to users. > > > > This solution (RFC) proposes usage of new algorithm called "PIE" > > (Proportional Integral > > controller Enhanced) that can effectively and directly control queuing > > latency to address the bufferbloat problem. > > > > The implementation of mentioned functionality includes modification of > > existing and adding a new set of data structures to the library, > > adding PIE related APIs. > > This affects structures in public API/ABI. That is why deprecation > > notice is going to be prepared and sent. > > > > > > Liguzinski, WojciechX (3): > > sched: add pie based congestion management > > example/qos_sched: add pie support > > example/ip_pipeline: add pie support > > It's "PIE", not "pie". :-) Sure, I will make a proper naming corrections ;-) > > Nonetheless, the RFC looks good! > > -Morten Thanks, Wojciech