Erlang and IBM Power8 in the cloud: super-high single-system parallelism
1–10 of 64 posts
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#2Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#3Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#4As long as order of evaluation does not matter (for a pure-functional code) some [major] parts of a program could be evaluated in parallel by runtime without any changes in the code (especially when a high-order function composition - map/filter/reduce/etc is the primary pattern). So, Haskell, for example, will do it too.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#5* 4x hardware threads per core (8-way SMT vs. 2)
* 1/4th FP throughput per core (8 SP flops/cycle vs. 32)
* 3x bandwidth to RAM (230 GB/s vs. 68) [edit: updated for Haswell-EP]
https://en.wikipedia.org/wiki/POWER8#Specifications
http://www.redbooks.ibm.com/abstracts/tips1153.html
What is it good for?
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#6It is not just about Erlang, but any language+runtime which has been designed upon a well-known set of sound principles (immutability, share-nothing, message-passing). As long as order of evaluation does not matter (for a pure-functional code) some [major] parts of a program could be evaluated in parallel by runtime without any changes in the code (especially when a high-order function composition - map/filter/reduce…
The big difference between Erlang and Haskell is that Erlang fundamentally encourages the programmer to think in terms of individual processes that communicate by message-passing. Programmers have also been taught that spawning processes is cheap so idiomatic Erlang code typically have tons of them.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#7Otherwise the x86 comes out looking a lot better -- lower 95th percentile, lower max, lower average.
(Modulo usual complaints about benchmark porn: single run, lack of standard deviation, unknown configuration differences etc etc).
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#8How does POWER8 compare to x86, e.g. Haswell? Just skimming some of the architecture details... * 4x hardware threads per core (8-way SMT vs. 2) * 1/4th FP throughput per core (8 SP flops/cycle vs. 32) * 3x bandwidth to RAM (230 GB/s vs. 68) [edit: updated for Haswell-EP] https://en.wikipedia.org/wiki/POWER8#Specifications http://www.redbooks.ibm.com/abstracts/tips1153.html What is it good for?
Running very demanding single-system software. It's the sort of box you'd install DB2 or Oracle on, especially if you've already tied your business to IBM solutions in the past.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#9It is not just about Erlang, but any language+runtime which has been designed upon a well-known set of sound principles (immutability, share-nothing, message-passing). As long as order of evaluation does not matter (for a pure-functional code) some [major] parts of a program could be evaluated in parallel by runtime without any changes in the code (especially when a high-order function composition - map/filter/reduce…
By "will do it" you mean "would, in theory, support a compiler that parallelized significant amounts of idiomatic code with no source changes"? Maybe. I don't think any existing Haskell compiler does that, though.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#10How does POWER8 compare to x86, e.g. Haswell? Just skimming some of the architecture details... * 4x hardware threads per core (8-way SMT vs. 2) * 1/4th FP throughput per core (8 SP flops/cycle vs. 32) * 3x bandwidth to RAM (230 GB/s vs. 68) [edit: updated for Haswell-EP] https://en.wikipedia.org/wiki/POWER8#Specifications http://www.redbooks.ibm.com/abstracts/tips1153.html What is it good for?