The mesh shell

Abstract

We propose a distributed, modular shell program mesh that vests a basic shell environment with a distributed computing layer to allow active shells to collaborate locally or among other hosts running mesh. mesh is designed to address the following problems with existing distributed computation tools (i.e., GNU Parallel):

Furthermore, existing tools are utility programs that simply resort to underlying communication mechanisms like ssh, and do not provide abstracted access over the machines available to a user. In reality, we realize that a given user may have access to many different machines supporting different environments on different architectures, and these machines may not be able to execute identical command lines.

In addition, mesh aims to facilitate computational interaction among machines that may not be owned by one user. We will make clear a concrete implementation of mesh’s features by showing its usefulness in devising an ASC module that allows hosts to connect to a global distributed hash table to obtain learning data about a program before a given invocation of asc is run and contribute the data back to the DHT after the program (and asc) exits normally.

The asc prototype

Coming soon.

The mesh service interface

Coming soon.