On Tue, Dec 1, 2020 at 9:01 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > I did what I could in this department. It's late and I'm not going to > have time to run read/write benchmarks before bed, but here are some > results for the "pgbench -S" cases. I tried to match your testing > choices, but could not entirely: > > * Configure options are --enable-debug, --disable-cassert, no other > special configure options or CFLAG choices. > > * I have not been able to find a way to make Apple's compiler not > use the LSE spinlock instructions, so all of these correspond to > your LSE cases. > > * I used shared_buffers = 1GB, because this machine only has 16GB > RAM so 32GB is clearly out of reach. Also I used pgbench scale > factor 100 not 1000. Since we're trying to measure contention > effects not I/O speed, I don't think a huge test case is appropriate. > > * I still haven't gotten pgbench to work with -j settings above 128, > so these runs use -j equal to half -c. Shouldn't really affect > conclusions about scaling. (BTW, I see a similar limitation on > macOS Catalina x86_64, so whatever that is, it's not new.) > > * Otherwise, the first plot shows median of three results from > "pgbench -S -M prepared -T 120 -c $n -j $j", as you had it. > The right-hand plot shows all three of the values in yerrorbars > format, just to give a sense of the noise level. > > Clearly, there is something weird going on at -c 4. There's a cluster > of results around 180K TPS, and another cluster around 210-220K TPS, > and nothing in between. I suspect that the scheduler is doing > something bogus with sometimes putting pgbench onto the slow cores. > Anyway, I believe that the apparent gap between HEAD and the other > curves at -c 4 is probably an artifact: HEAD had two 180K-ish results > and one 220K-ish result, while the other curves had the reverse, so > the medians are different but there's probably not any non-chance > effect there. > > Bottom line is that these patches don't appear to do much of > anything on M1, as you surmised.
Great, thank you for your research! ------ Regards, Alexander Korotkov