Code Monkey home page Code Monkey logo

adhinneupane / serverless-hpc Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 15.44 MB

A framework for using High Performance Computing applications as serverless functions. (FaaS)

License: GNU General Public License v3.0

Dockerfile 2.10% Python 40.40% Shell 9.20% JavaScript 9.03% CSS 1.28% HTML 37.74% TypeScript 0.24%
aws-cli aws-lambda-python docker faas high-performance-computing openwhisk serverless tensorflow aws ec2 machine-learning neural-network

serverless-hpc's Introduction

tensorflow-logo aws-logo docker-logo openwhisk-logo python-logo

Serverless FaaS for High Performance Computing

High Performance Computing (HPC) workloads such as predicting weather and genome sequencing utilize neural networks and popular machine learning libraries that require significant computing power and generally run-on coupled nodes that manage their own execution environments. This requires a layered architecture that is always available for exposing supercomputing power shared between different layers to an in house or remote user(s)/endpoint whenever necessary. This results in large waiting queues, unutilized idle times, custom configurations per cluster and ultimately high maintenance costs.

Function as a Service (FaaS) has led to optimized cloud architectures that facilitate heavy workloads while keeping minimal idle times, always available and powerful fault tolerant implementations often coupled with pay as you use models. FaaS has been successfully utilized in designing microservices that power modern web-applications that have proliferated commercial and open-source clouds.

However, HPC infrastructure designed using only FaaS workloads that is available on run time and can perform scientific workloads are limited. In order to explore this area, we design a fully serverless workflow that can allow FaaSification of scientific workloads and evaluate the performance results against a parallel computing setup designed using virtualization technologies. We train and deploy a neural network to classify up to 3000 images of clothing and predict labels with 99% accuracy.

We also explore some opensource implementations that stem from this design.

The repository is not limited to: tensorflow image classification and includes examples for deploying use cases such as data-processing on Apache Openwhisk.

Requirements:

aws-cli	 
Apache openwhisk	
wsk cli 
docker
python	
TensorFlow 

Architecture:

image

Setup:

wsk-cli

AUTH=<YOUR UUID>
APIHOST==<YOUR APIHOST> 
NAMESPACE=<YOUR NAMESPACE>
wsk property set --apihost <YOUR API HOST>  --auth  <Your auth code from the Runtime team>  namespace  <Your namespace from the Runtime team>

aws-cli

region = <region>
output = json
cli-binary-format = raw-in-base64-out

Deploy:

image

cd ../serverless-hpc 
npm install 
node index.js

Author

Ashutosh Neupane
[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.