FreeBSD on the POWER8: it's alive
adrianchadd.blogspot.com
adrianchadd.blogspot.com
http://www-304.ibm.com/partnerworld/wps/pub/systems/vlp
Current spec is a 8286-42A @ http://www-03.ibm.com/systems/power/hardware/s824/specs.html
Thats a rather bold claim. Do you know of any benchmarks for this?
The IO (10+ PCIex slots) and CPU to memory bandwidth for a Power8 machine are pretty impressive.
It's essentially a mainframe in a really small box.
And quite honestly, I'd be willing to sell my home and live in my car for the next decade or so in order to afford such a beauty should someone try and make one. Especially if it had some high-end GPUs wired directly into it via CAPI. Its battery life would be 4 seconds long, it would weigh more than a Ford truck, and it would run hot enough to cook my breakfast in the morning, but god damn would it be worth it.
It won't be long before someone runs a top-of-the-line X86 to Power8 benchmark using FreeBSD.
Here is such a comparison using linux:
http://www-03.ibm.com/systems/power/hardware/s812l-s822l/bro...
Comparable to shonky-ass x64 HP kit.
Perhaps I'm crazy but I'd love to see Windows Server on this as well. A non-x86 based platform alternative would be a refreshing change in that area.
This doesn't sound like much for consumer devices (PowerPC was the gold standard for gaming consoles last generation, but now Nintendo's the only one still using POWER in any significant application), but with Erlang/Elixir and Scala (among other languages renowned for facilitating "easy" parallelism) being the latest hot shit right now, these advantages are going to be much more significant.
>Here is such a comparison using linux:
>http://www.itjungle.com/tfh/tfh092914-story02.html
Which benchmarks are linux-to-linux? In the article, it says the SAP SD test is AIX vs Windows, and the SPECjEnterprise test is AIX vs Oracle Linux; and in the linked Oracle benchmarks, it seems to always be IBM/AIX vs Sparc/Linux.
-adrian
Given that Erlang can scale near linearly with more cores and it's not uncommon to have 100+ cores for a single Power8 node - it makes me wonder how much investigation has gone into Power8 as an architecture for companies who have highly network centric products like WhatsApp.
Edit: WhatsApp is a highly network centric product and they also run on FreeBSD / Erlang.
Edit 2: If you want to try out Power8, OVH has cloud compute available of Power8 at https://www.runabove.com/instances/ibm-power8.xml
- then found the existing powerpc pmap (physical memory management) code wasn't very SMP friendly
- also found the PS3 hypervisor layer isn't thread-safe
These are some of the reasons that I care about NetBSD (which runs on some 56 architectures with its single codebase) so much -- the real-world work supporting real-world architectures can pay off everywhere -- it's not just academic work or nostalgia/eccentricity.
if (x86)
// do ...
else (Power) // do ...
else (PPC) // do ...> Every effort is made to keep everything cleanly split into 'Machine Dependent' (MD) and 'Machine Independent' (MI) areas. For example, an Ethernet chipset would have a single MI core hardware driver, which would be matched with appropriate MD bus attachment code for a given platform. Not all drivers are as clean as we would like for historical reasons, but any new driver will be, and old drivers are in the process of being converted across.
Machine dependent parts are built to a hardware abstraction layer (HAL)[1] interface, so that spec gives a single abstraction that the hardware-dependant code is built against, and can operate w/ the rest of the OS. As I understand it, this is facilitated by the _build system_ (not a mess of if/then in code) like this[2]:
.if ${ARCHSUBDIR} == "mips64"
ARCHSUBDIR= mips
.endif
.if ${ARCHSUBDIR} == "powerpc64"
ARCHSUBDIR= powerpc
.endif
These are also the sorts of problems that are addressed by considering "lots and lots" of targets -- it'd be unmaintainable otherwise.[1]: http://en.wikipedia.org/wiki/NetBSD#Portability
[2]: /usr/src/sys/arch/Makefile
EDIT: ws
s/it's be/it'd be/
s/that spec give/that spec gives/
(adrian@freebsd.org)