Student Projects

VE/VM450

Project Tides – Elastic Platform on Idle Cloud Resources

Faculty Advisor: Prof. Jigang Wu
Instructors: Dr. Mingjian Li
Team Members: Jiayao Wu, Jiachen Lu, Tianqi Yang, Xinyu Yan, Zhijie Zhao

Project Video

Team Members

Team Members:

Jiayao Wu, Jiachen Lu, Tianqi Yang, Xinyu Yan, Zhijie Zhao

Faculty Advisor:

Prof. Jigang Wu

Instructors:

Dr. Mingjian Li

Project Description

Problem Statement

The private cloud of an enterprise is sometimes idle, especially in the evening and in the holidays [1]. However, some research groups are starving for these cloud resources for problems that need large-scale computing. The motivation of this project is to enable research groups to make use of the idle cloud resource from enterprises. In this project, we aim to design and implement a user-friendly platform to realize this motivation.
Fig. 1 Workflow of Project Tides

Concept Generation

The improvement of Project Tides is divided into three parts. The Website allows enterprise users to log in and manage their donated resources. The Template we made can help prepare the environment of the virtual machine (VM) that can be directly used by the research groups. The command line interface enables the research group to upload and run their programs within a few taps on the keyboard. They can also download the results through our command line interface.
Fig. 2 Concept Diagram

Design Description

Through the website we create, enterprise users can log in to Project Tides using a master’s account. Then through a Go script, the website can be linked to the enterprise’s private cloud. After that, the user can launch a VM on the private cloud by choosing a template. The template based on Terraform can integrate the preinstall of the environment required inside the VM. Then enterprise user can monitor the feature of the VM through the data passed from the database. SSH command, docker command, and Boinc commands are packed into a simpler command called “scienterprise”. This command line interface supports the research group user to upload the program, run the program, and download the results.
Fig.4 Website Interface

Modeling and Analysis

The website is a web application built with a Go-swagger backend and Angular frontend. A PostgreSQL database is used to manage the data on our website. The template building uses the Terraform vCloud Director Provider. The command line interface uses python as the programming language. Paramiko library is used to support the SSH connection with the Server. Docker library supports the usage of Boinc. Finally, the commend line interface is packed with Click and can be installed through pip install.

Validation

Validation Process:
Tests were conducted through a whole process of deploying VM and running a Gromacs program (a simulation program in biology). The program was set to be run for 2min. A virtual machine was launched through the website. The launching process used the template that was designed for running Gromacs programs. Then, through the command line interface, we uploaded the program to the VM and run the program. After the program was finished, we downloaded and checked the result.
Validation Results:
According to validation part, most specifications can be met.
√ Language support ≥ 2, extensible
√ Query time interval ≤ 2min
√ Environment support = Gromacs
√ Minimum resource unit= 1 CPUs,1 GB memory
√ OS support = Mac, Windows, Linux
√ Upload time/Download time ≤ 1s
√ Lines of command ≤ 5

Conclusion

After finishing website, template, and command line interface, Project Tides provides a reliable platform for enterprises to donate idle resources. Research groups can easily run their jobs through Project Tides easily. Project Tides becomes a bridge between enterprises and research groups.

Acknowledgement

Sponsor: Alan Ren from VMware
Frank Dai and Zhe Shen from VMware
Mingjian Li, Jigang Wu, Chengbin Ma and Chong Han from UM-SJTU Joint Institute