Cuttlefish

Cuttlefish, a library for building configurable, fault tolerant, elastic, distributedneural networks.

View project on GitHub

What is Cuttlefish?

Cuttlefish, a library for building configurable, fault tolerant, elastic, distributedneural networks. It is a research project by Computer Science PhD students at Pace University.

12/21/2016

Cuttlefish: A Library For Building DistributedNeural Networks

Abstract—This paper will discuss the implementation of Cuttlefish, a library for building configurable, fault tolerant, elastic, distributed neural networks. Cuttlefish is built on top of the Distributed TensorFlow library. It uses Docker containers to represent units or neurons in the a neural network. More specifically each container (neuron) will run as a service that can communicate with other neurons in the network. Our neural network will be a n layered network, implemented and configured to run on Amazon Web Service's Elastic Container Service (ECS).

Download (PDF)

10/18/2016

Pre-Implementation Research Project Rough Draft

Abstract—This paper will discuss the implementation of Cuttlefish, a library for building configurable, fault tolerant, distributed neural networks. Cuttlefish is built on top of the Distributed TensorFlow library. It uses Docker containers to represent single unit of computation (neurons) in the a neural network. More specifically each container (neuron) will run as a service that can communicate with other neurons in the network. Our neural network will be a n layered network, implemented and configured to run on Amazon Web Service’s Elastic Container Service (ECS).

Download Draft (PDF)

10/9/2016

Initial Project Proposal: Distributed Neural Networks Using Docker and Amazon Web Services Elastic Container Service

Summary

We are proposing implementing a distributed neural network using Docker containers to represent units or neurons in the a neural network. More specifically each container (neuron) will run as a service that can communicate with other neurons in the network. Our neural network will be a n layered network, implemented and configured to run on Amazon Web Service’s Elastic Container Service (ECS).

Docker is the perfect technology for this proof of concept because by design Docker containers wrap a piece of software into a self contained unit. Software running in a container will have everything it needs to run properly including an operating system, file system and configured system resources allocated specifically for it’s needs. Docker also has a mechanism for configuring and spinning up containers that should be clustered together or that are dependencies of one another.

Next Steps

  • Select a verified dataset to train a model on our distributed neural net.
  • Determine the minimum number of layers needed for our neural net to perform reasonably well against our selected dataset.
  • SResearch identical or similar work in the space. If there is very similar research projects we will need to modify our project to perhaps improve or perhaps build upon prior research.

References