Re: status of NetBSD SMP support
Erik Fair <[email protected]> Tue, 9 Aug 2016 20:16:49 -0700
| Newsgroups | gmane.os.netbsd.devel.smp |
|---|---|
| Message-ID | <[email protected]> |
To be clear: I know the kernel isn=E2=80=99t fully parallel ((S)MP) - = otherwise the recent work on the networking stack (e.g. making ARP = caches per interface) wouldn=E2=80=99t be necessary. What I was looking for was a general status report of the NetBSD kernel = (and userland) on SMP systems (more commonly known as =E2=80=9Cmulticore=E2= =80=9D in au courant parlance): how multithreaded is it? How much lock = contention? Is Big Lock gone - devolved into lots of small locks? What=E2=80=99s the deal? It=E2=80=99s one thing to boot and throw processes at cores (processors) = - it=E2=80=99s another to have the kernel properly parallel so that when = those processes make system calls, they don=E2=80=99t contend with each = other (much). All this in full cognizance of Amdahl=E2=80=99s Law and the non-parallel = bits we can do nothing about (e.g. single I/O paths to sole devices). I = just want to have some idea how much more parallelism we can pull out of = the currently non-parallel code to reduce that serial time term in = Amdahl=E2=80=99s Law to minimum, because the hardware guys are going to = continue throw ever more cores at us for lack of any better idea of what = to do with the chip area that Moore=E2=80=99s Law has given them (and = us), and just as Amdahl predicted, that serial term will dominate as the = core counts go up. I bet the SIMD engines are going to get fancier, too. Just look at GPUs. Erik <[email protected]> > On Aug 9, 2016, at 11:17, David Holland <[email protected]> = wrote: >=20 > On Mon, Aug 08, 2016 at 07:36:05PM -0400, Thor Lancelot Simon wrote: >>> Last I remember anyone reporting hard results, the scaling worked to >>> ~16 but not to ~32 and the uvm page queue lock was the chief = culprit. >>> Dunno what if anything's been done about that... >>=20 >> There's a fragmentary discussion of it from around 2010 in the = mailing list >> archives, but something must have been done as that particular = limitation >> seems to have gone away. Our build cluster nodes run happily with 12 >> cores, 24 threads, and I do not see the scaling issues we observed = between >> 16 and 20 cores in my tests years ago. >=20 > In that case we definitely need someone to collect some hard numbers = :-) >=20 > --=20 > David A. Holland > [email protected]