Giter Club home page Giter Club logo

cirrus's Introduction

Cirrus

Travis Build Status Coverity Scan Build Status License

Cirrus is a serverless machine learning library. Cirrus provides a list of machine learning algorithms that can scale to many serverless lambdas in the cloud.

Requirements

The Cirrus backend has been tested on Ubuntu 14.04/16.04/18.04 and Amazon AMI.

It has been tested with the following environment / dependencies:

  • g++-7

In the Amazon AMI please do:

$ sudo yum install glibc-static
$ sudo yum install openssl-static.x86_64
$ sudo yum install zlib-static.x86_64

In Ubuntu please do:

$ sudo apt-get install build-essential cmake automake zlib1g-dev libssl-dev libcurl4-nss-dev bison libldap2-dev libkrb5-dev

Building

$ ./bootstrap.sh
$ make -j 10

Paper

This project is part of a research project on Serverless Machine Learning Workflows. This works has been published and can be found here:

Joao Carreira, Pedro Fonseca, Alexey Tumanov, Andrew Zhang, Randy Katz. In the ACM Symposium on Cloud Computing 2019 (SoCC'19)

Funding

This work has been generously supported by AWS Cloud Research, FCT (Portuguese Science Foundation), NSF CISE Expeditions Award CCF-1730628, and gifts from Alibaba, Amazon Web Services, Ant Financial, CapitalOne, Ericsson, Facebook, Futurewei, Google, Intel, Microsoft, Nvidia, Scotiabank, Splunk and VMware.

Contributors

Joao Carreira, Andrew Zhang, Jeff Yu, Ryan Wang, Neel Somani, Shea Conlon, Andy Wang, Pedro Fonseca, Alexey Tumanov, Randy Katz

cirrus's People

Contributors

andrewmzhang avatar jcarreira avatar neelsomani avatar sheaconlon avatar yangryan0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cirrus's Issues

Improve S3.cpp

S3.cpp needs to be refactored to a more object-oriented interface. As of now, this module has a couple of issues:

  1. no way to create Aws::Client's with different options
  2. no easy way to pass clients to S3 without passing these AWS::Client handles

S3.cpp should be a class (I suggest S3Client) so users can create multiple of these clients.

Use flatbuffers for messages

We should leverage flatbuffers for building messages used in the communication between the workers and the parameter server.

Cannot specify no PEM file.

If user's public key is already in the server's .ssh/authorized_keys file, there is no way to specify an empty .pem file.

Barrier for PSSparseTask poll threads

The 0th poll thread needs to start last. We need a barrier to ensure this, or else for large numbers of poll threads, parameter server is likely to fail.

Need to set Limits for experiment termination

Currently, our experiments only terminate when the user calls stop in the python interface. We should have an option to set a limit, so that the experiment automatically stops when it reaches a certain accuracy or some other limit.

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.