2 Mar 2006 16:15
Clustering
Jan „Sten“ Adámek <unununium <at> stensoft.com>
2006-03-02 15:15:05 GMT
2006-03-02 15:15:05 GMT
Well, here's clearly explained (or I hope it is) idea of clustering or cluster machining I raised on IRC. Every single computer (whatever PC or smartphone or anything else) can join a cluster machine, ie. a big virtual computer (not virtual like VM but made by more physical computers) in which every thread of every application can be run on any of its processor (depending on priority configuration - ie. a task hard for smartphone will be automatically posted to computer if this is idle) and the current state should be synchronized with the other computers in the cluster. Well, there were some questions about how shall it work exactly, so here we are: Since Unununium uses orthogonal persistence, there'll be no problem to use network instead of hard drive (or any other slow permanent storage). The main problem can occur when two or more threads of a single application will be run each on another processor. Well, this is not problem, because when any thread want to access shared memory for writing, it shall lock it (eg. using semaphore) or Segmentation Fault can occur. So when a request for semaphore is sent, the thread is suspended till this semaphore is locked on all computers in cluster and after this semaphore is unlocked, then all the changes are flushed to all computers. Well, this requires either running VM or that all computers in the cluster are the same architecture. There can be problems with uncleanly unjoined computers like on power failure or network disconnection (eg. moving with smartphone out of Bluetooth connection range). Well, this is also in fact no problem, because orthogonal persistence counts with this (or something very similar), so when one computer left, it's job will be overtaken by some other one (if required).(Continue reading)


At least, if he read the FAQ !
On 3/2/06, Richard Fillion <rfillion <at> cs.und.edu> wrote:
> And more importantly.. who's going to write the code for this?
>
> Richard Fillion
> rfillion <at> cs.und.edu
>
> On Mar 2, 2006, at 9:48 AM, Jan „Sten" Adámek wrote:
>
> > Well, the think is this clustering to be implemented as a part of
> > Unununium
> > because I think clustering (easy-joining?) will be basic point of
> > future
> > generation of computers.
> >
> > You're right that we can use something like Distributed.net to
> > implement this.
> > It won't be worse with Unununium than other environment, in fact it
> > will be
> > easier.
> >
> >> Actually, a good clustering system always checks if results are
> >> received twice... no?
> >>
> >> Take distributed systems like Distributed.net, they check if packets
> >> are processed twice, especially since processing can be made randomly
> >> (when a node runs out of job because it's disconnected from network).
> >> So I don't see how it's worse with UUU than any other possible
> >> environment. Did I miss something?
RSS Feed