A Cloud-aware distributed parallel compiler (CloudBook)

CloudBook proposes to create a “cloud compiler”, allowing today’s programmers to compile and deploy in the whole available distributed hardwar.

The main focus of the project CloudBook is to unify the cloud and the compiler in one piece, freeing programmers from thinking on distributable designs and taking benefit from non-reliable hardware and parallel computation mechanisms.

The state of the art in cloud computing, grid computing, remote monitoring, HPC, security, scripting, etc. will be studied in order to find innovative solutions that could help or be the base for that project. It focus on the needed gap to be covered by the CloudBook project. Cloudbook define and implementate a graph analyser component that analyse the input program (dependencies between functions) in order to assist the splitting process. Taking the output of graph analyser as input, a cloud-aware splitter is designed. The splitter  splits the input program into different pieces of code (deployable units) to be executed by agents that are installed in distributed machines. The design of a deployer algorithm which decide on the fly when, where and, how distribute the deployable units in order to achieve an optimum execution performance. The Implementation of a monitoring tool in time of execution of the deployable units that act as input feedback to the intelligent dynamic deploying algorithm are performed. Different use cases are developed to run on top of the CloudBook platform (videogames, stochastic processes, crypto mining, machine learning, supercalculator). For each use case, scenarios, limitations and business potential are assessed.