So a x16 lanes is overkill and x8 for compute clusters is enough?Generally, computers aren't connected into clusters via PCIe because the length of PCIe cables is limited. You can convert to fiber, but direct PCIe is not used. Clusters are connected via ethernet, or infiband. Most 10GE and infiband cards are PCIe x8. 25GE and even 100GE are starting to enter into high performance computing.
Could you give examples about "problems that can have smaller data streams that require a large amount of computation.", and how "Clusters are not the optimum architecture for a high I/O problem." please?The number of PCIe lanes required will depend on the type of interface used. A 10GE or 40GE card is going to be a PCIe x8 gen 3 card. A 100GE card is going to be an a PCIe x16 gen 3 card. Clusters are not the optimum architecture for a high I/O problem. Clusters work best for a problem that can have smaller data streams that require a large amount of computation.
Google Raspberry PI clusters. You can see that a functional compute cluster can be created with any level of hardware and connectivity.
Thanks man for all your answers and for putting up with all the explanations!A classic "cluster" problem is SETI @ Home. Discrete work units of radio data are distributed to thousands of home computers. That is a great example of a problem that has a small data stream.
Can you use a cluster for gaming? No. Why? Because the software wasn't written for a cluster. That is the second critical part to a cluster, you have to have software that was written for distributed processing (cluster). Gaming software requires all the resources in a single OS instance. Each node in a cluster is a separate OS. You might be able to get a game SERVER to be cluster aware so that as more users connect to the "server" (really server cluster), that the new users are uniformly distributed across all nodes.
The link you provided, is basically the same as a Raspberry PI. The reason you can't game on a Raspberry PI cluster isn't just the latency, it is the fact that it isn't a single OS instance and the software is not written to be distributed.