:Just out of curiosity, are there any plans for supporting :machines with 64 cores or even more? : :For example, the Sun Fire X4800 (quite common in larger data :centers) supports eight Xeon 7500 packages which have eight :cores plus hyperthreading, which gives a 128-way SMP system. :Solaris, Linux and Windows support them, but I don't think :any of the BSDs does. : :And that's certainly not the end. 256-way x86 systems have :been announced already. Basically, it seems that the growth :of the number of cores has taken over the role of the growth :of clockrate (because the latter starts to face physical :limits). : :Best regards : Oliver
The basic limitation here for us the convenience of being able to operate atomically on cpu masks and in particular being able to run bit-search instructions on them (bsfq, etc). There are also a few places where I combine cpu masking operations with a spin lock, which is ultra convenient. I would have to rewrite those algorithms to operate on an array of cpu masks instead of just one. It isn't in the cards right now though if someone threw a 128-way box onto my carpet I'd probably start working on it :-) Taking x86-64 to 63 cpus was easy because we have 64-bit bit instructions. I'm stealing a bit in the cpumask for a pmap spinlock, or it would be 64. Beyond that it probably makes sense to consider partitioning the hardware with or without virtualization. Partitioning is already desireable for the current 48-core monster and I'd like to have some sort of DragonFly host & guest solution that runs at full performance on the bare HW without virtualization. -Matt