Skip to content

lulzzz/OrleansExp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Amber Prototype based on Orleans

Install Frontend

Install Node JS

  • For Windows / Mac

    Download and install the latest LTS version of NodeJS

  • For Linux

    sudo apt-get install curl software-properties-common
    curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
    sudo apt-get install nodejs
    

Build Frontend

Clone this repo then do the following:

cd OrleansExp/AmberOrleansPrototype/texera/core/new-gui
npm install
npm run build

Install Amber

  1. Install dotnet-sdk 3.0
  2. Install MySQL and login as admin. Using the following command to create a user with username "orleansbackend" and password "orleans-0519-2019" (this can be changed at Constants.cs)
CREATE USER 'orleansbackend'@'%' IDENTIFIED BY 'orleans-0519-2019';
  1. Create a mysql database called 'amberorleans' and grant all privileges by using the following commands.
CREATE DATABASE amberorleans;
GRANT ALL PRIVILEGES ON amberorleans. * TO 'orleansbackend'@'%';
FLUSH PRIVILEGES;
USE amberorleans;
  1. Run the scripts MySQL-Main.sql, MySQL-Clustering.sql to create the necessary tables and insert entries in the database.

Run Amber on your local machine:

1.Start MySql Server on local machine

2.Start Silo:

Open terminal and enter:

cd OrleansExp/AmberOrleansPrototype/SiloHost
dotnet run -c Release

3.Start Client:

Open another terminal and enter:

cd OrleansExp/AmberOrleansPrototype/webapi-project
dotnet run

4.Create workflow through Web GUI

This is a step-by-step guide for creating and runnning Workflow TPC-H W1 in Amber paper. Download 1G TPC-H sample dataset to your local machine. Go to http://localhost:7070, you can see a web GUI for Amber: web GUI

Drag Source -> Scan operator from left panel and drop it on the canvas: Scan

Then, drag and drop Utilities -> Comparison, LocalGroupBy, GlobalGroupBy and Sort -> Sort respectively. They will automatically be linked with the previous operator. Your workflow should look like this: W1

You can specifiy properties for each operator on the right panel. Each operator should have the following properties:

Scan:

Scan properties

Comparison:

Comparison properties

LocalGroupBy:

LocalGroupBy properties

GlobalGroupBy:

GlobalGroupBy properties

Sort:

Sort properties

Click the "Run" button in upper-right corner to run the workflow. After completion, the following result will pop up from the bottom:

result

Run Amber on a cluster:

1.Clone this repo:

on one cluster machine (name it A) which installed MySql Server and do the following change at Constants.cs:

public static string ClientIPAddress = <Current Machine's IP address>;
...
public volatile static int DefaultNumGrainsInOneLayer = <# of Machines in the cluster - 1>;

2.Start MySql Server on machine A

3.Copy the edited repo to all other machines in the cluster.

4.Start Silos:

Open terminal and enter on all other machines in the cluster:

cd OrleansExp/AmberOrleansPrototype/SiloHost
dotnet run -c Release

4.Start Client(After silos get online):

Open terminal and enter on machine A:

cd OrleansExp/AmberOrleansPrototype/webapi-project
dotnet run

5.On machine A, follow from step 4 of the tutorial above

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 59.2%
  • C# 37.3%
  • CSS 1.6%
  • HTML 1.6%
  • JavaScript 0.3%