Re: [RFC PATCH v2 00/17] Core scheduling v2

From: Aubrey Li
Date: Sat Apr 27 2019 - 11:55:07 EST


On Sat, Apr 27, 2019 at 10:21 PM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Aubrey Li <aubrey.intel@xxxxxxxxx> wrote:
>
> > On Sat, Apr 27, 2019 at 5:17 PM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > >
> > >
> > > * Aubrey Li <aubrey.intel@xxxxxxxxx> wrote:
> > >
> > > > I have the same environment setup above, for nosmt cases, I used
> > > > /sys interface Thomas mentioned, below is the result:
> > > >
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 1/1 1.987( 1.97%) 2.043( 1.76%) -2.84% 1.985( 1.70%) 0.12%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 2/2 2.074( 1.16%) 2.057( 2.09%) 0.81% 2.072( 0.77%) 0.10%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 4/4 2.140( 0.00%) 2.138( 0.49%) 0.09% 2.137( 0.89%) 0.12%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 8/8 2.140( 0.00%) 2.144( 0.53%) -0.17% 2.140( 0.00%) 0.00%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 16/16 2.361( 2.99%) 2.369( 2.65%) -0.30% 2.406( 2.53%) -1.87%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 32/32 5.032( 8.68%) 3.485( 0.49%) 30.76% 6.002(27.21%) -19.27%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 64/64 7.577(34.35%) 3.972(23.18%) 47.57% 18.235(14.14%) -140.68%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 128/128 24.639(14.28%) 27.440( 8.24%) -11.37% 34.746( 6.92%) -41.02%
> > > > NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
> > > > 256/256 38.797( 8.59%) 44.067(16.20%) -13.58% 42.536( 7.57%) -9.64%
> > >
> > > What do these numbers mean? Are these latencies, i.e. lower is better?
> >
> > Yeah, like above setup, I run sysbench(Non-AVX task, NA) and gemmbench
> > (AVX512 task, AVX) in different level utilizatoin. The machine has 104 CPUs, so
> > nosmt has 52 CPUs. These numbers are 95th percentile latency of sysbench,
> > lower is better.
>
> But what we are really interested in are throughput numbers under these
> three kernel variants, right?
>

These are sysbench events per second number, higher is better.

NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
1/1 508.5( 0.2%) 504.7( 1.1%) -0.8% 509.0( 0.2%) 0.1%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
2/2 1000.2( 1.4%) 1004.1( 1.6%) 0.4% 997.6( 1.2%) -0.3%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
4/4 1912.1( 1.0%) 1904.2( 1.1%) -0.4% 1914.9( 1.3%) 0.1%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
8/8 3753.5( 0.3%) 3748.2( 0.3%) -0.1% 3751.3( 0.4%) -0.1%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
16/16 7139.3( 2.4%) 7137.9( 1.8%) -0.0% 7049.2( 2.4%) -1.3%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
32/32 10899.0( 4.2%) 10780.3( 4.4%) -1.1% 10339.2( 9.6%) -5.1%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
64/64 15086.1(11.5%) 14262.0( 8.2%) -5.5% 11168.7(22.2%) -26.0%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
128/128 15371.9(22.0%) 14675.8(14.4%) -4.5% 10963.9(18.5%) -28.7%
NA/AVX baseline(std%) coresched(std%) +/- nosmt(std%) +/-
256/256 15990.8(22.0%) 12227.9(10.3%) -23.5% 10469.9(19.6%) -34.5%