I'll try to keep it as short as possible.
The Golem Project is aiming to become the world's first Decentralized computer, i.e. people would be able to able to proved their Hardware/Compute power in return for Golem Network Tokens (GNT).
The Golem Project aims to provide an average person the processing power using the BlockChain as a Infrastructure Service where people would be able to provide there hardware and people in need would be able to use them for any application they want.
What are the users that will benefit from Golem Project?
Artificial Intelligence and Machine Learning
Real Time Rendering
Complex Physical Modeling calculations
SONM is a fog computing platform that takes advantage of distributed processing and blockchain technology.
BTSync for data transfer
Cocain open-source Platform as a Service (PaaS) for decentralized computing
Ethereum blockchain Smart Contracts as a consensus manager
Whisper for p2p node communication
Docker for ensuring computational parallelism
The SONM platform meets the needs of several use cases from computationally-intense scientific projects (climate modeling, drug development, etc.), site hosting that uses Cocaine PaaS and IPFS, game servers, neural networks, render farms, and more.
You may be thinking "this sounds an awful like Golem", and you'd be on the right track. From the SONM whitepaper:
There are other projects which are developing a decentralized world computer (Golem, iEx.Ec and others). It is important to note that all of them are being implemented using the same principles as Ethereum. They also have the same problem: excessive parallelization leading to high costs of operations. This is caused by the absence of any control centers managing task processing in real time that can stop it after receiving the desired result. This in turn leads to running parallel/asynchronous processes.
In fact, these projects can’t provide the functionality which any usual personal computer has nowadays.
The SONM team has much experience developing a World Computer functional concept able to process any task, up to the standard of a fully functional computer.
iEx.ec is a blockchain-based distributed cloud computing infrastructure. Users can rent computing power since servers and data centers will be able to make their unused resources available through a unique marketplace on the blockchain. It’s a new paradigm for Cloud computing that will change the way we develop and execute distributed applications and services.
The end of the "mining contracts" and the birth of distributed cloud mining
Nothing much more to it, really.
What is the difference between the three of them?
I'd say this picture describes it quite well,
There are similarities and differences between iEx.ec and Golem. In term of vision, iEx.ec aims at building a blockchain-based distributed Cloud, while Golem aims at building a worldwide supercomputer.In term of technology, we benefit from our background in distributed computing. We developed several software on top of which iEx.ec is being built and those software have already being used to build distributed computing infrastructures.
In term of products, we're not addressing the same markets at the same time. iEx.ec is targeting at the first place blockchain-based applications that require extra data, extra applications and extra compute capacities. As we understand Golem, they first target HPC (or let's say HTC, High Throughput Computing) using GND as a mean of payment. The distributed Cloud provided by iEx.ec will enable a larger range of applications, as the iEx.ec network will enable the applications for which the centralized Cloud is a limiting factor. This includes: blockchain-based applications, IoT +Big Data, distributed machine learning, ambient AI, VR, Edge/Fog computing, smart cities/buildings, etc...
We think that Golem and iEx.ec are somehow both competing against centralized Cloud providers. So I hope that in the future, there will be enough synergy between the two projects to pool our strengths.
Now the differences between golem/SONM and Iexec are pretty huge, whereas Golem/SONM show much more similarities.
This is was makes SONM different from Golem, according to their "Team"
According to the SONM team, their project will offer some features the other two don’t. This will include support for non-deterministic tasks, site hosting, game server support, and a round-robin-based load balancer. Not all of the features will be available right away, but it’s good to see different teams take slightly different approaches. It will be interesting to see which of these three concepts will eventually come out on top.
As i see it, SONM definitely tries to outplay Golem, with more functions and more usecases, while Iexec has its own unique usecase. The 3 of them are all mostly filling different parts of the market right now, but this could very well change soon, especially between Golem/SONM.