Why hasn't someone created a cloud setup, multiple computers acting like one, like p2p? Where one computer listens to multiple others in a collective then if one goes down is not a problem; it just fines another one available which is connected to a sibling and continue on. This way all servers are acting like master and slaves passing stuff off as a group evenly. It seems in a cloud setup if the master goes down the slaves "nodes" are lost.

What software is used to do this? I am only running single P4 1.8Gz and 1G ram each machine. Just setup a personal cluster. HA is what I have seen.

  • 3
    I think the correct term you're looking for here is a Cluster. And it's been done for years. Since the 1950's or 1960's according to wikipedia. en.wikipedia.org/wiki/Cluster_%28computing%29 – 3dinfluence Nov 30 '10 at 20:20
  • Expand on this statement : "It seems in a cloud setup if the master goes down the slaves "nodes" are lost." It may simply be that you had a bad experience or weren't paying for enough failover. – mfinni Nov 30 '10 at 20:28
  • When I have read about setting up a cloud; it talks about a master and then nodes and sans that communicate with it. What if the master goes down. Do the nodes know to communicate? – David Nov 30 '10 at 20:49
  • Usually the master is dynamically elected from available nodes. So one node just basically picks up the role. If it goes down the others take notice and "elect" a new master. The way in which the master is selected varies widely by implementation. – Chris S Nov 30 '10 at 20:58
  • what were you reading? Can you provide a link? That could have been specific to some type of management software, or it may have been simply a description of the way some software can work. – mfinni Nov 30 '10 at 21:29

Most cloud providers do use clusters already. Where if one host goes down others pickup the slack. It's the only way to give the appearance of 100% uptime (and even then it isn't enough sometimes).

The software you use to enable High Availability will depend on what hypervisor you use, and what type of application load your running in the instances. In Windows a combination of NLB and Cluster Services can do this. ESXi has it's own cluster setup; load balancing has to be done another way.


Plenty of systems work in ways like you're describing. But that's difficult to do. It would have to be specific to an application or set of applications. Some applications, like database servers, can be setup as failover clusters, so that the "master" (active, in usual cluster terminology) is running on a piece of hardware but can be migrated quickly and maybe seamlessly to another piece of hardware. Other applications, like web servers, often are grouped as a farm (AKA a load-balanced cluster) and if one server dies, the rest can still handle new sessions. Existing sessions on the downed server may be preserved, or not.

Most (all?) database servers can't be set up as a load-balanced cluster, they're just not architected for it. It usually can't be done without breaking one or more ACID constraints. If you're ok with breaking those, you can set it up that way. There are different styles of clustering, or even things like grid computing or parallel distributed operations like SETI@Home.

Why do you think no one has done this?

  • Many of the NoSQL-type DB servers can behave this way, sharding and load balancing automatically. - CouchDB, Mongo, Membase, etc. – EEAA Nov 30 '10 at 20:22
  • Sure - and they're not ACID-compliant, right? That's why they call them NoSQL? :-) – mfinni Nov 30 '10 at 20:29
  • Yes, SETI@Home is a good example of a P2P cluster. Forgot about it when posted. It would be nice to just have something that would not use so much memory and ram or something that people could personally use like SETI@Home. Any ideas or examples? – David Nov 30 '10 at 23:01
  • @David, SETI@Home isn't P2P, the various clients don't talk to each other. They talk to a central coordinator (which itself is comprised of multiple computers in a cluster). All those clients aren't really a "cluster" in the traditional sense, they're clients in a distributed computing network. – Chris S Nov 30 '10 at 23:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.