Skip to content

amirghaffari/Orbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orbit

Introduction

Given a space X, a list of generators f_1,...,f_n : X -> X and an initial vertex x_0 : X, the /orbit problem/ is to compute the least subset Orb of X such that Orb contains x_0 and is closed under all generators.

The orbit implementation presented here is specialised to the case where the space X is a finite subset of the natural numbers. For the purpose of benchmarking, the generators perform some deliberately irregular computation (by calling a naive recursive implementation of Fibonacci).

ARCHITECTURE

This orbit implementation operates on a distributed hash table. It follows a master/worker architecture, where each worker hosts a chunk of the hash table; the master simply initiates the computation and waits for termination.

How to build and run Orbit

There are two ways to run the benchmark. .

  • Run on the local node (nonode@nohost):

      $ git clone git://github.com/amirghaffari/Orbit
      $ cd Orbit
      $ ./run
    

The config file for a local run is bench.config. After finishing the benchmark, the results are shown on screen.

  • To run the benchmark on a cluster, you need to specify the cluster information (such as number of nodes, nodes name, number of experiments,and path where Erlang has been installed) in both files: run.sh and experiment.sh

      $ git clone git://github.com/amirghaffari/Orbit
      $ cd Orbit
      $ ./run.sh
    

The config file for clusters is template.config. After finishing the benchmark, the results are saved in results directory.

About

Distributed Erlang Implementation of Orbit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published