Skip to content

The simple distributed compute engine

License

Notifications You must be signed in to change notification settings

sylvaingir/Olymp

Repository files navigation

🏔️ Olymp

The simple distributed compute engine

Get started

Run master node

Master machine (IP: 192.168.0.100)

$ olymp --master --name master.local --webui

Run child nodes

Machine 1

$ olymp --child 192.168.0.100:17930 --name child1.local --user admin --password admin

Machine 2

$ olymp --child 192.168.0.100:17930 --name child2.local --user admin --password admin

Connect to master node CLI configuration

$ olymp --configure localhost:17929 --user admin --password admin
master.local>

Upload DLL to master node

We will upload a simple calculator program that we wrote.

master.local> put program "/home/u1/calc.dll" as "calculator"

Distribute DLL to child nodes

master.local> distribute "calculator" to "child1.local"
master.local> distribute "calculator" to "child2.local"

Write a simple pipeline

This pipeline can access our calculator program and use it from our master node.

function add(w,x,y,z){
    var node1 = getNode("child1.local");
    var node2 = getNode("child2.local");
    var c1 = node1.getWorker("calculator");
    var c2 = node2.getWorker("calculator");
    
    simultan([
        function(){r1 = c1.add(w,x);},
        function(){r2 = c2.add(y,z);}
    ]);
    
    return r1 + r2;
}

Deploy the pipeline

master.local> put pipeline "/home/u1/add.js" as "add"
master.local> distribute "add" to self

Default ports (master)

  • Configuration: 17929
  • Child connections: 17930

About

The simple distributed compute engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages