Erlang and IBM Power8 in the cloud: super-high single-system parallelism
21–30 of 64 posts
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#22It 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…
> So, Haskell, for example, will do it too. 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.
Of course, you could theoretically just write an actor library that did the exact same thing as erlang.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#23It 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…
Haskell will do what? Automatic parallelization of code? 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.
The green threads in Haskell are just as cheap, in some cases, cheaper than Erlang's processes. Haskell programmers are similarly encouraged.
Concurrency and parallelism are pretty easy in Haskell.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#24While the performance seen here is nice, i'm curious to see the price/performance ratio. Running against a 8-core XEON would not make sense if the closer Intel system price-wise is a quad 12-core xeon... Obviously we are talking cloud here so it might not even apply. By my experience with Power7, the price/performance ratio is much lower on Power then Intel systems. Maybe it changed but i'm not holding my breath, eve…
the thing you're getting here is primarily throughput on a single image. Even if it's more expensive per-core per-hour, you can't discount that you'd have to work a lot harder to get the equivalent 30-box distributed solution to work properly, and even then it would have certain disadvantages owing to network latency.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#25Earlier quoted context omitted.
Haskell will do what? Automatic parallelization of code? 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.
> Programmers have also been taught that spawning processes is cheap so idiomatic Erlang code typically have tons of them. The green threads in Haskell are just as cheap, in some cases, cheaper than Erlang's processes. Haskell programmers are similarly encouraged. Concurrency and parallelism are pretty easy in Haskell. http://chimera.labs.oreilly.com/books/1230000000929 http://hackage.haskell.org/package/slave-thread
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#26Earlier quoted context omitted.
That is interesting. RAM bandwidth could significantly impact a lot of applications. I guess the only ways it to measure and compare. The problem I see with power is it has a different endiannes and even though compilers know how to handle it, a lot of libraries and code might just assume some specific ordering (little endian) and thus fail un-expectedly on POWER.
That's why Power is now little-endian.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#27How 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?
Based on experience with POWER7, emptying your wallet.
Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#28How 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?
> 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
#29Re: Erlang and IBM Power8 in the cloud: super-high single-system parallelism
#30A while ago (here's an article from 2002: http://lwn.net/Articles/6367/ ), the big new thing was going to be ibm mainframes running linux VMs. Whatever became of that? Is anyone still doing that?