[ANN] Tiamat: Automatic parallelism across multiple machines

= Tiamat

== Summary

Automatic parallelism across multiple cores and machines: a plugin for
Pure.

== Synopsis

require ‘tiamat/autoconfig’
require ‘benchmark’

mod = Pure.define do
def total(left, right)
left + right
end

def left
  (1..500_000).inject(0) { |acc, n| acc + n }
end

def right
  (1..500_000).inject(0) { |acc, n| acc + n }
end

end

compute using two threads

puts Benchmark.realtime { mod.compute(2).total } # =>
0.4432079792022705

compute using two local Ruby interpreters

Tiamat.open_local(2) {
puts Benchmark.realtime { mod.compute.total } # =>
0.2420041561126709
}

== Description

Tiamat is a worker plugin for the pure functional package. It links
Ruby interpreters together with DRb, forming a back-end for Pure’s
parallelizing engine.

== Install

% gem install tiamat

Or for the (non-gem) .tgz package,

% ruby install.rb [–uninstall]

== Links

== Author

On Thu, Oct 22, 2009 at 11:42 PM, James M. Lawrence
[email protected] wrote:

= Tiamat
== Author

James this is wicked, love what you’re doing, although I have no idea
on how to use it yet =)

Does Tiamat work on top of Pure? Where should I start?


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely, Enrich and Empower people to Transform their
lives.

Rajinder Y. wrote:

James this is wicked, love what you’re doing, although I have no idea
on how to use it yet =)

Does Tiamat work on top of Pure? Where should I start?

Yes, Tiamat is a back-end for Pure. The first step is to install it and
then run through the examples in the readmes. Have you tried that?

James M. Lawrence wrote:

Rajinder Y. wrote:

James this is wicked, love what you’re doing, although I have no idea
on how to use it yet =)

Does Tiamat work on top of Pure? Where should I start?

Yes, Tiamat is a back-end for Pure. The first step is to install it and
then run through the examples in the readmes. Have you tried that?

I’ve install pure (0.2.0), however I get the following error when I try
to run
the 1st example from the site

irb(main):001:0> require ‘pure/dsl’
LoadError: no such file to load – pure/dsl
from (irb):1:in `require’
from (irb):1


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely, Enrich and Empower people to Transform their
lives.

Rajinder Y. wrote:

James M. Lawrence wrote:

Rajinder Y. wrote:

James this is wicked, love what you’re doing, although I have no idea
on how to use it yet =)

Does Tiamat work on top of Pure? Where should I start?

Yes, Tiamat is a back-end for Pure. The first step is to install it and
then run through the examples in the readmes. Have you tried that?

I’ve install pure (0.2.0), however I get the following error when I try
to run
the 1st example from the site

irb(main):001:0> require ‘pure/dsl’
LoadError: no such file to load – pure/dsl
from (irb):1:in `require’
from (irb):1

If you installed the gem, did you require ‘rubygems’ or set the RUBYOPT
environment variable to ‘-rrubygems’?

James M. Lawrence wrote:

If you installed the gem, did you require ‘rubygems’ or set the RUBYOPT
environment variable to ‘-rrubygems’?

Hi James, that was my problem, thank you.

I will play around with pure, it looks very promising even though I
don’t have
immediate use for it now I think it’s well worth getting to know.


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely, Enrich and Empower people to Transform their
lives.