Thread overview | ||||||
---|---|---|---|---|---|---|
|
June 27, 2007 Tango Compute Grid | ||||
---|---|---|---|---|
| ||||
Dear D community Tango has an optional package for enabling high-performance clustered designs. The package supports distributed instances of cache, queue, and task (rmi/rpc). All activity on a cluster operates via a named 'channel', akin to a publish/subscribe channel i.e. once a channel is opened, cluster operations can be performed upon it. Channels are often named based upon the content flowing through them. For example, a common idiom is to use the name of a class, and retain that channel purely for appropriate serialized instances. Data held within a cache is temporal, and the content is spread out across the cluster using a DHT (distributed hash table) approach. Queue instances are distributed in a similar manner, and are persisted to disk. Execution of task/rpc is generally synchronous, though queues can be used to house asynchronous task execution where a decoupled design is more suitable. Either way, task execution is spread across the cluster in a manner akin to queuing. Throughput is far beyond any other similar approach known to us, and the consistent interface across each of queue/cache/task makes the design simple to use. We expect to make this functionality available in the next release of Tango. Contact: http://www.dsource.org/projects/tango/wiki/Contact Signed, The Tango Team http://www.dsource.org/projects/tango/wiki/Contributors ---- Tango is a D library providing a cohesive runtime and library for the D programming language. A feature list can be found on http://www.dsource.org/projects/tango/wiki/Features |
June 27, 2007 Re: Tango Compute Grid | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Ivar Igesund | Not directly related, but is there a (lighter-weight, memory-only, not distributed) queuing mechanism in Tango that allows intra-process communication through an asynchronous thread pooling mechanism? That is, one thread can place events in a queue that are handled by another thread pool when it gets to them, like a lightweight SEDA implementation?
Lars Ivar Igesund Wrote:
> Dear D community
>
> Tango has an optional package for enabling high-performance clustered designs. The package supports distributed instances of cache, queue, and task (rmi/rpc). All activity on a cluster operates via a named 'channel', akin to a publish/subscribe channel i.e. once a channel is opened, cluster operations can be performed upon it. Channels are often named based upon the content flowing through them. For example, a common idiom is to use the name of a class, and retain that channel purely for appropriate serialized instances.
>
> Data held within a cache is temporal, and the content is spread out across the cluster using a DHT (distributed hash table) approach. Queue instances are distributed in a similar manner, and are persisted to disk. Execution of task/rpc is generally synchronous, though queues can be used to house asynchronous task execution where a decoupled design is more suitable. Either way, task execution is spread across the cluster in a manner akin to queuing.
>
> Throughput is far beyond any other similar approach known to us, and the consistent interface across each of queue/cache/task makes the design simple to use. We expect to make this functionality available in the next release of Tango.
>
> Contact:
> http://www.dsource.org/projects/tango/wiki/Contact
>
> Signed,
>
> The Tango Team
>
> http://www.dsource.org/projects/tango/wiki/Contributors
>
> ----
>
> Tango is a D library providing a cohesive runtime and library for the D programming language. A feature list can be found on http://www.dsource.org/projects/tango/wiki/Features
|
June 27, 2007 Re: Tango Compute Grid | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert Fraser | Robert Fraser wrote:
> Not directly related, but is there a (lighter-weight, memory-only, not distributed) queuing mechanism in Tango that allows intra-process communication through an asynchronous thread pooling mechanism? That is, one thread can place events in a queue that are handled by another thread pool when it gets to them, like a lightweight SEDA implementation?
Not currently, though the grid tech could be used as a somewhat heavyweight version of that. That said, I had the same thought when all of this was introduced to me, so expect something along those lines in Tango eventually.
Sean
|
June 28, 2007 Re: Tango Compute Grid | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Awesome! Thanks to you & the Tango team for all your hard work!
Sean Kelly Wrote:
> Robert Fraser wrote:
> > Not directly related, but is there a (lighter-weight, memory-only, not distributed) queuing mechanism in Tango that allows intra-process communication through an asynchronous thread pooling mechanism? That is, one thread can place events in a queue that are handled by another thread pool when it gets to them, like a lightweight SEDA implementation?
>
> Not currently, though the grid tech could be used as a somewhat heavyweight version of that. That said, I had the same thought when all of this was introduced to me, so expect something along those lines in Tango eventually.
>
>
> Sean
|
Copyright © 1999-2021 by the D Language Foundation