Changes between Initial Version and Version 1 of BoincDocker


Ignore:
Timestamp:
07/15/16 14:28:05 (16 months ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BoincDocker

    v1 v1  
     1= BOINC and Docker =
     2
     3[http://www.docker.com Docker] is a system that lets you develop apps
     4in the environment of your choice (OS, system software, libraries etc.)
     5and then package up the environment and run it on hosts with different native environments.
     6
     7It's sort of like traditional virtual machines (VMware, !VirtualBox) but differs in several ways:
     8
     9 * Efficiency: Docker images are generally much smaller,
     10   they can be instantiated much faster,
     11   and they have less runtime overhead.
     12 * There are better tools for creating Docker images.
     13 * There's a free [https://hub.docker.com Docker hub] where you can host and distribute images.
     14 * Docker images can run only on modern (3.10+ kernel) 64-bit Linux hosts
     15 
     16Efforts are underway to use Docker to simplify BOINC - in particular to simplify
     17the tasks of creating a BOINC project,
     18and of deploying applications in BOINC.
     19
     20Eventually we expect this to be the standard way for scientists to use BOINC.
     21In the meantime, this page serves to link to information on development efforts.
     22
     23== Docker-based BOINC server ==
     24
     25Marius Millea has packaged the BOINC server as a Docker application.
     26This is described here:
     27https://github.com/marius311/boinc-server-docker/blob/master/docs/cookbook.md
     28
     29In this implementation, the server consists of three Docker "containers":
     30 * The MySQL database
     31 * The Apache web server
     32 * The BOINC back-end programs and command-line tools.
     33The project's state is stored in Docker "volumes" that are shared between these containers.
     34
     35== Docker-based BOINC applications ==
     36
     37You can also use Docker to deploy your Linux-based applications on BOINC.
     38The preferred way to do this is:
     39
     40 * Your various applications are run under a single BOINC application,
     41   which we'll call the "universal Docker application".
     42 * Your Docker image and job input files are all part of the BOINC workunit.
     43   The image files are "sticky" so they're downloaded only once.
     44
     45Docker only runs on recent Linux, so on Win and Mac the universal Docker application
     46uses a !VirtualBox virtual machine to host Docker containers.
     47
     48Support for this is included in the BOINC server package described above.
     49
     50With this system, running a job under BOINC is as simple as running a Docker container
     51(i.e. it's a single command).
     52
     53The caveats are that Docker jobs will on only run on hosts that:
     54
     55 * are 64-bit Intel-compatible
     56 * have VM extensions in hardware (almost all do)
     57 * have these extensions enabled in BIOS
     58 * have !VirtualBox installed
     59
     60Also, as of now you can't run GPU applications in this framework.