Message ID | 20190223010703.678070-1-brakmo@fb.com |
---|---|
Headers | show |
Series | bpf: Network Resource Manager (NRM) | expand |
On 2/22/19 8:06 PM, brakmo wrote: > Network Resource Manager is a framework for limiting the bandwidth used > by v2 cgroups. It consists of 4 BPF helpers and a sample BPF program to > limit egress bandwdith as well as a sample user program and script to > simplify NRM testing. 'resource manager' is a really generic name. Since you are referring to bandwidth, how about renaming to Network Bandwidth Manager?
On 02/22/2019 07:03 PM, David Ahern wrote: > On 2/22/19 8:06 PM, brakmo wrote: >> Network Resource Manager is a framework for limiting the bandwidth used >> by v2 cgroups. It consists of 4 BPF helpers and a sample BPF program to >> limit egress bandwdith as well as a sample user program and script to >> simplify NRM testing. > > 'resource manager' is a really generic name. Since you are referring to > bandwidth, how about renaming to Network Bandwidth Manager? > Or just use the normal word for a policer ... Really this is beyond me that TCP experts can still push policers out there, they are really a huge pain.
On Sat, Feb 23, 2019 at 10:39:53AM -0800, Eric Dumazet wrote: > > > On 02/22/2019 07:03 PM, David Ahern wrote: > > On 2/22/19 8:06 PM, brakmo wrote: > >> Network Resource Manager is a framework for limiting the bandwidth used > >> by v2 cgroups. It consists of 4 BPF helpers and a sample BPF program to > >> limit egress bandwdith as well as a sample user program and script to > >> simplify NRM testing. > > > > 'resource manager' is a really generic name. Since you are referring to > > bandwidth, how about renaming to Network Bandwidth Manager? > > > > Or just use the normal word for a policer ... > > Really this is beyond me that TCP experts can still push policers out there, > they are really a huge pain. hmm. please see our NRM presentation at LPC. It is a networking _resource_ management for cgroups. Bandwidth enforcement is a particular example. It's not a policer either.
On 02/23/2019 12:40 PM, Alexei Starovoitov wrote: > On Sat, Feb 23, 2019 at 10:39:53AM -0800, Eric Dumazet wrote: >> >> >> On 02/22/2019 07:03 PM, David Ahern wrote: >>> On 2/22/19 8:06 PM, brakmo wrote: >>>> Network Resource Manager is a framework for limiting the bandwidth used >>>> by v2 cgroups. It consists of 4 BPF helpers and a sample BPF program to >>>> limit egress bandwdith as well as a sample user program and script to >>>> simplify NRM testing. >>> >>> 'resource manager' is a really generic name. Since you are referring to >>> bandwidth, how about renaming to Network Bandwidth Manager? >>> >> >> Or just use the normal word for a policer ... >> >> Really this is beyond me that TCP experts can still push policers out there, >> they are really a huge pain. > > hmm. please see our NRM presentation at LPC. > It is a networking _resource_ management for cgroups. > Bandwidth enforcement is a particular example. > It's not a policer either. > Well, this definitely looks a policer to me, sorry if we disagree, this is fine.
On Sat, Feb 23, 2019 at 12:43:51PM -0800, Eric Dumazet wrote: > > > On 02/23/2019 12:40 PM, Alexei Starovoitov wrote: > > On Sat, Feb 23, 2019 at 10:39:53AM -0800, Eric Dumazet wrote: > >> > >> > >> On 02/22/2019 07:03 PM, David Ahern wrote: > >>> On 2/22/19 8:06 PM, brakmo wrote: > >>>> Network Resource Manager is a framework for limiting the bandwidth used > >>>> by v2 cgroups. It consists of 4 BPF helpers and a sample BPF program to > >>>> limit egress bandwdith as well as a sample user program and script to > >>>> simplify NRM testing. > >>> > >>> 'resource manager' is a really generic name. Since you are referring to > >>> bandwidth, how about renaming to Network Bandwidth Manager? > >>> > >> > >> Or just use the normal word for a policer ... > >> > >> Really this is beyond me that TCP experts can still push policers out there, > >> they are really a huge pain. > > > > hmm. please see our NRM presentation at LPC. > > It is a networking _resource_ management for cgroups. > > Bandwidth enforcement is a particular example. > > It's not a policer either. > > > > Well, this definitely looks a policer to me, sorry if we disagree, this is fine. this particular example certainly does look like it. we both agree. It's overall direction of this work that is aiming to do network resource management. For example bpf prog may choose to react on SLA violations in one cgroup by throttling flows in the other cgroup. Aggregated per-cgroup bandwidth doesn't need to cross a threshold for bpf prog to take action. It could do 'work conserving' 'policer'. I think this set of patches represent a revolutionary approach and existing networking nomenclature doesn't have precise words to describe it :) 'NRM' describes our goals the best. Other folks may choose to use it differently, of course. Note that NRM abbreviation doesn't leak anywhere in uapi. It's only used in examples. So not sure what we're arguing about.
On 2/23/19 6:25 PM, Alexei Starovoitov wrote: >>> hmm. please see our NRM presentation at LPC. Reference? We also gave a talk about a resource manager in November 2017: https://netdevconf.org/2.2/papers/roulin-hardwareresourcesmgmt-talk.pdf in this case the context is hardware resources for networking which aligns with devlink and switchdev. >>> It is a networking _resource_ management for cgroups. >>> Bandwidth enforcement is a particular example. >>> It's not a policer either. >>> >> >> Well, this definitely looks a policer to me, sorry if we disagree, this is fine. > > this particular example certainly does look like it. we both agree. > It's overall direction of this work that is aiming to do > network resource management. For example bpf prog may choose > to react on SLA violations in one cgroup by throttling flows > in the other cgroup. Aggregated per-cgroup bandwidth doesn't > need to cross a threshold for bpf prog to take action. > It could do 'work conserving' 'policer'. > I think this set of patches represent a revolutionary approach and existing > networking nomenclature doesn't have precise words to describe it :) > 'NRM' describes our goals the best. Are you doing something beyond bandwidth usage? e.g., are you limiting neighbor entries, fdb entries or FIB entries by cgroup? what about router interfaces or vlans? I cannot imagine why or how you would manage that but my point is the meaning of 'network resources'. > Other folks may choose to use it differently, of course. > Note that NRM abbreviation doesn't leak anywhere in uapi. > It's only used in examples. So not sure what we're arguing about. > It was a simple request for a more specific name that better represents the scope of the project. Everything presented so far has been about bandwidth.
On Sat, Feb 23, 2019 at 09:58:57PM -0500, David Ahern wrote: > On 2/23/19 6:25 PM, Alexei Starovoitov wrote: > >>> hmm. please see our NRM presentation at LPC. > > Reference? > > We also gave a talk about a resource manager in November 2017: > > https://netdevconf.org/2.2/papers/roulin-hardwareresourcesmgmt-talk.pdf > > in this case the context is hardware resources for networking which > aligns with devlink and switchdev. > > >>> It is a networking _resource_ management for cgroups. > >>> Bandwidth enforcement is a particular example. > >>> It's not a policer either. > >>> > >> > >> Well, this definitely looks a policer to me, sorry if we disagree, this is fine. > > > > this particular example certainly does look like it. we both agree. > > It's overall direction of this work that is aiming to do > > network resource management. For example bpf prog may choose > > to react on SLA violations in one cgroup by throttling flows > > in the other cgroup. Aggregated per-cgroup bandwidth doesn't > > need to cross a threshold for bpf prog to take action. > > It could do 'work conserving' 'policer'. > > I think this set of patches represent a revolutionary approach and existing > > networking nomenclature doesn't have precise words to describe it :) > > 'NRM' describes our goals the best. > > Are you doing something beyond bandwidth usage? e.g., are you limiting > neighbor entries, fdb entries or FIB entries by cgroup? what about > router interfaces or vlans? I cannot imagine why or how you would manage > that but my point is the meaning of 'network resources'. 'network resources' also include back bone and TOR capacity and this mechanism is going to help address that as well.
On 2/23/19 11:48 PM, Alexei Starovoitov wrote: > 'network resources' also include back bone and TOR capacity and > this mechanism is going to help address that as well. This appears to be the talk you are referring to: http://vger.kernel.org/lpc_net2018_talks/LPC%20NRM.pdf and from my reading it only references throttling at L4 - ie., bandwidth. hence my request for a better name than 'network resources' in the commit logs and code references.