Remember when I blogged about linear read scalability out to 32 cores? Well, the awesome Nate Boley provided me with access to his brand new 64-core server. I ran my usual suite of read-only pgbench tests just to baseline its performance, and found that the performance scaled linearly all the way out to 64 clients. OK, it wasn't quite linear: the 64-client performance was only 63.68 times the single-client performance. Still, I'll take it. Graph is below.
Greg Smith mentioned to me yesterday that he's seen that kink between 16 and 32 cores on other tests that have nothing to do with PostgreSQL, such as STREAM, and that he believes it has to do with Linux's scheduler behavior.
For the curious, this machine is running Linux 3.2. Previous benchmarking efforts on a different 64-core server running an earlier version of PostgreSQL 9.2devel and an older Linux kernel were not a success, but the lseek scalability changes in 3.2 seem to have made a big difference, and the newer PostgreSQL code has some changes that mitigate ProcArrayLock contention.