7 ms·
Probably sometime between when Erlang was developed and the first MapReduce paper was written. There isn't "One True Way", but there are plenty of solutions.
by viscanti 15y ago
Probably sometime between when Erlang was developed and the first MapReduce paper was written. There isn't "One True Way", but there are plenty of solutions.
We don't need to re-invent MapReduce or message passing. There are ready made solutions/frameworks like Hadoop and Storm that are fairly easy to implement. There are also a number of databases that are designed for distributed computing. You don't need to be Google to have a fault-tolerant distributed computing setup. It's really a matter of choosing the appropriate technologies, rather than re-inventing the wheel. Because of that, I'd consider it a "solved" problem, even if a particular implementation might need some thought to match up with appropriate technologies. It's not necessarily trivial, but it's probably as "solved" as it needs to be.
- malkarouri 15y agoInteresting that you effectively use an engineer's definition of "solved" rather than that of a theoretician. Message passing is effectively the assembly language of distributed computing: very low level. Mapreduce and the various NoSQL databases are effectively the next level up, but we still have some time to be able to have a proper theory for designing and implementing effective scalable distributed systems. In short, we have many bits and pieces that can be brought together with a bit of luck to be able to attain the scale that we are currently seem to be happy with. So I can accept that the engineering definition of solved is there. But from a computer science point of view, we certainly are far from having a satisfactory theory. So we definitely do not have the answers.