[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b8c08e6f-bb34-7266-0dbc-1e673b6a965c@linux.alibaba.com>
Date: Wed, 6 Apr 2022 10:47:53 +0800
From: Tianchen Ding <dtcccc@...ux.alibaba.com>
To: Zefan Li <lizefan.x@...edance.com>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Tejun Heo <tj@...nel.org>,
Johannes Weiner <hannes@...xchg.org>,
Michael Wang <yun.wang@...ux.alibaba.com>,
Cruz Zhao <cruzzhao@...ux.alibaba.com>,
Masahiro Yamada <masahiroy@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Kees Cook <keescook@...omium.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Vlastimil Babka <vbabka@...e.cz>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Arnd Bergmann <arnd@...db.de>, Miguel Ojeda <ojeda@...nel.org>,
Chris Down <chris@...isdown.name>,
Vipin Sharma <vipinsh@...gle.com>,
Daniel Borkmann <daniel@...earbox.net>
Cc: linux-kernel@...r.kernel.org, cgroups@...r.kernel.org
Subject: Re: [RFC PATCH v2 0/4] Introduce group balancer
Ping~
Any idea for this patchset? :-)
On 2022/3/8 17:26, Tianchen Ding wrote:
> Modern platform are growing fast on CPU numbers. To achieve better
> utility of CPU resource, multiple apps are starting to sharing the CPUs.
>
> What we need is a way to ease confliction in share mode,
> make groups as exclusive as possible, to gain both performance
> and resource efficiency.
>
> The main idea of group balancer is to fulfill this requirement
> by balancing groups of tasks among groups of CPUs, consider this
> as a dynamic demi-exclusive mode. Task trigger work to settle it's
> group into a proper partition (minimum predicted load), then try
> migrate itself into it. To gradually settle groups into the most
> exclusively partition.
>
> GB can be seen as an optimize policy based on load balance,
> it obeys the main idea of load balance and makes adjustment
> based on that.
>
> Our test on ARM64 platform with 128 CPUs shows that,
> throughput of sysbench memory is improved about 25%,
> and redis-benchmark is improved up to about 10%.
>
> See each patch for detail:
> The 1st patch introduces infrastructure.
> The 2nd patch introduces detail about partition info.
> The 3rd patch is the main part of group balancer.
> The 4th patch is about stats.
>
> v2:
> Put partition info and period settings to cpuset subsys of cgroup_v2.
>
> v1: https://lore.kernel.org/all/98f41efd-74b2-198a-839c-51b785b748a6@linux.alibaba.com/
>
> Michael Wang (1):
> sched: Introduce group balancer
>
> Tianchen Ding (3):
> sched, cpuset: Introduce infrastructure of group balancer
> cpuset: Handle input of partition info for group balancer
> cpuset, gb: Add stat for group balancer
>
> include/linux/cpuset.h | 5 +
> include/linux/sched.h | 5 +
> include/linux/sched/gb.h | 70 ++++++
> init/Kconfig | 12 +
> kernel/cgroup/cpuset.c | 405 +++++++++++++++++++++++++++++++-
> kernel/sched/Makefile | 1 +
> kernel/sched/core.c | 5 +
> kernel/sched/debug.c | 10 +-
> kernel/sched/fair.c | 26 ++-
> kernel/sched/gb.c | 487 +++++++++++++++++++++++++++++++++++++++
> kernel/sched/sched.h | 14 ++
> 11 files changed, 1037 insertions(+), 3 deletions(-)
> create mode 100644 include/linux/sched/gb.h
> create mode 100644 kernel/sched/gb.c
>
Powered by blists - more mailing lists