From f42a37989646b1e7e7df52bde428ff70c59b46e7 Mon Sep 17 00:00:00 2001
From: Marica Antonacci <marica.antonacci@ba.infn.it>
Date: Tue, 23 Oct 2018 11:13:32 +0200
Subject: [PATCH 1/2] Import Mesos docs

---
 docs/mesos-cluster/.DS_Store             | Bin 0 -> 8196 bytes
 docs/mesos-cluster/enable-gpu-support.md | 579 +++++++++++++++++++++++
 docs/mesos-cluster/images/7274930.png    | Bin 0 -> 36351 bytes
 docs/mesos-cluster/images/7274931.png    | Bin 0 -> 28789 bytes
 4 files changed, 579 insertions(+)
 create mode 100644 docs/mesos-cluster/.DS_Store
 create mode 100644 docs/mesos-cluster/enable-gpu-support.md
 create mode 100755 docs/mesos-cluster/images/7274930.png
 create mode 100755 docs/mesos-cluster/images/7274931.png

diff --git a/docs/mesos-cluster/.DS_Store b/docs/mesos-cluster/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..d99acfa90cfd45f7d8ff021364d062996c8afaea
GIT binary patch
literal 8196
zcmeHMTWl3Y82<l5f!T%9DFW>tE<I8zC`Ee+wA{qg8&WHQa9Uc*rR+Jol#ScndUnq#
zP-?1)#0P`%l9-4_Lwu_VPb9_{6Yo*uB{troKIn^&Mx%*O`p?XsMh-O57nQJ+%=|O|
zKmX3mH{Z^je-8j)N6|_H)B^ycEF@n<#dVUfi+oK=M4Bp+Nd5pe1iA5GEa&>UYkJ3u
z7=ajp7=ajp7=ajp{{sSaXN$z<xc8McE@K2@1a3+M#QBh-EMz8<Q%cICg9;e}kQ5<+
zOjM^hK>DO2nTh0-lG2r)siFsrTrmnUP`Q&mCAyQ$L~=?=<qoLa0i%&IicnCFPJSub
z9WbM0T*e5*2waPRczqUt1EXNVNJaeqes0Wlg0Q9K3rx(bn!jKnV>;8T^<&vn{&+St
z!(z~37LJJ40W&<6i|T#8@6OiE+#$yvALh$CeJ?Z}&n`%3$Fix*(E-P^{P7OI=vje$
zPF5Kh)0j5Qjfsh^ZJV1@t?9PO=F~)bOUst#)Yfh3$w`gXHKp(FIWc<X?8Ldrhn`al
z!{~5;nu>*9tX!oVlseT{io~<!Reo7srKT@3dhYAhhxyVHO@9Aa==ff6$SwpVhj~pv
z3+~DL-hqNG>;rk<EslD@Ft5#<ZocT6q22DfS?8=B42JgUP}GJ3zYuoHj)M;Q3f(a0
z#lSvjlY>*TyT~ozs7)_kzIyF#8(X&SxTkBTdPxnhU8?Itgo_tCCmp-cKkiuJsl#TF
zw>``8Mg~ew;N)Dp&of8u+Qe~9n^{p;Uu`6fRb^A93*(J!u$XfmEIQ$t8NQ^ZT5m9J
z)%X>5)S_AJ^DQxwB`rpS(Ztvhq3<l%R9bRU>o*vBUqFlCCex&*d6Ta9JwO}E1Db-E
zczUyL^t)!xcDbc7scLQ0je(LvlJ`c+ox5~nFz=6!(h`GOY$mmslhJN;GX5SrF2=s!
z48r|mwkL+Kt6$OGU>JvmzTL8Hi!s)i*`W4Z!qAv$Q7w(G6$9?1OJpw`C3=s+8F(Bn
zz!Pv0UWUtX1zv}D;Y0WsK7mi+Yxo|1grDIT_!WMGKain@i*PX-xE3369k$?h+>IG*
z#}4ep19%X#*oVh3k2apf5gfzQcorw{96pK{@JW0MpT_6$1$+@-!prz7zJYJzTlhA9
zgrDIzYJ!O}W%sFexx{a&cGZhXl#M>DC5~T@vdQi}_x?we{c5q|=`G8auW8({X>;4I
z_SyZc*uB3JN%BV#L=vY=47r6@Gm#i=Bv<OI=VEj}@y<TY1bO(v8G{(okV+=GpbwMH
zbxqVv5W|^xI}H7fB=s~IpC_BiyYw_8lJfb=x<zl*h{n81S-0yu8L^cwP}bdgMiVa@
z2l;5NDXG(W^^X~N38vvScn3Zp=6w#|!4L2g{EmnVu@>vF9#`TjT!ZWJcHD@~xCvWv
z8}7iJxC^^+5AMYt;$R>4;{Xog5OL6w9CWaN0T!`DTznWGAts*3$09C1LtMOs(-q9?
zDRWLqe5I0krEI}-eQ$*HWwu`J61Q$h1m>w(*NgbSd+zW5H{{ylNyiAp2>d++u&OKD
z)j@sdI^9LAouYh#vPh!el#<eg3K@=*l;JqZ**^@ao}#Y8ClkpjB}qf+U;hxG?(q2j
PpZ(<--~W<`H(Bu~B$3|E

literal 0
HcmV?d00001

diff --git a/docs/mesos-cluster/enable-gpu-support.md b/docs/mesos-cluster/enable-gpu-support.md
new file mode 100644
index 0000000..63609c7
--- /dev/null
+++ b/docs/mesos-cluster/enable-gpu-support.md
@@ -0,0 +1,579 @@
+
+Introduction
+------------
+
+<span>Mesos 1.0.0 added first-class support for Nvidia GPUs. The minimum required Nvidia driver version is </span>`340.29`
+
+Enabling GPU support in a Mesos cluster is really straightforward (as stated in the official project documentation and as documented in this page). It consists in the following steps:
+
+1.  configuring the agent nodes in order to expose the available gpus as resources to be advertised to the master nodes;
+2.  enabling the framework <span style="color: rgb(199,37,78);">GPU\_RESOURCES </span>capability so that the master includes the GPUs in the resource offers sent to the frameworks.  
+
+<span>Mesos exposes GPUs as a simple </span>`SCALAR`<span> resource in the same way it always has for CPUs, memory, and disk.</span>
+
+An important remark is that **currently the GPU support is available for the** **Mesos containerizer and not for the Docker containerizer. **Anyway the Mesos containerizer is now able to run docker images natively through the **<a href="http://mesos.apache.org/documentation/latest/container-image" class="external-link">Universal Container Runtime</a> (UCR)**. ****  
+
+<img src="assets/images/icons/emoticons/warning.png" title="(warning)" alt="(warning)" class="emoticon emoticon-warning" />The following limitations can, on the other hand, have impacts on the deployment of Long-Running services (Marathon) requiring GPUs:
+
+-   The UCR does not support the following: runtime privileges, Docker options, force pull, named ports, numbered ports, bridge networking, port mapping.
+
+It is important to remember that the task definition must be properly written in order to specify the right containerizer (type=MESOS). 
+
+For Marathon:
+
+``` syntaxhighlighter-pre
+{
+  "id": "test",
+  "cpus": 2,
+  "mem": 2048,
+  [...]
+  "container": {
+    "type": "MESOS",
+    "docker": {
+      "image": "tensorflow/tensorflow"
+    }
+  }
+}
+```
+
+See also <a href="https://mesosphere.github.io/marathon/docs/native-docker.html#provisioning-containers-with-the-ucr" class="uri" class="external-link">https://mesosphere.github.io/marathon/docs/native-docker.html#provisioning-containers-with-the-ucr</a>
+
+For Chronos:
+
+``` syntaxhighlighter-pre
+{
+  "name": "test-gpu",
+  "command": "",
+  "cpus": 1,
+  "mem": 4096,
+  [...]
+  "container": {
+    "type": "MESOS",
+    "image": "tensorflow/tensorflow"
+  },
+  "schedule": "..."
+}
+```
+
+ 
+
+The GPU support is fully implemented and officially documented in Mesos and Marathon Framework whereas Chronos Framework does not support GPU resources yet. Anyway there is a <a href="https://github.com/mesos/chronos/pull/810" class="external-link">pull request</a> (still open) that seems in good shape and we have decided to give it a try.
+
+Testbed Setup
+-------------
+
+### Nodes characteristics
+
+| Node         | Description                                                                |
+|--------------|----------------------------------------------------------------------------|
+| Mesos Master | VM 4vCPU, 16GB RAM                                                         
+                                                                                            
+                SO: Ubuntu 16.04                                                            |
+| Mesos Slave  | baremetal                                                                  
+                                                                                            
+                40 CPUs, 250GB RAM                                                          
+                                                                                            
+                82:00.0 3D controller: NVIDIA Corporation GK110BGL \[Tesla K40m\] (rev a1)  
+                Model name: Intel(R) Xeon(R) CPU E5-2650L v2 @ 1.70GHz                      
+                                                                                            
+                SO: Ubuntu 16.04                                                            |
+
+### Tested Components Versions
+
+| Component    | Version           | Notes                                               |
+|--------------|-------------------|-----------------------------------------------------|
+| Mesos Master | 1.5.0             | docker container indigodatacloud/mesos-master:1.5.0 |
+| Mesos Slave  | 1.5.0             | package mesos from mesosphere repo                  |
+| Chronos      | tag 3.0.2 + patch |                                                     |
+| Marathon     | 1.5.6             | docker container indigodatacloud/marathon:1.5.6     |
+
+Prepare the agent (slave) node
+------------------------------
+
+Download the driver repo from <a href="http://www.nvidia.com/Download/index.aspx?lang=en-us" class="uri" class="external-link">http://www.nvidia.com/Download/index.aspx?lang=en-us</a> choosing the proper version.
+
+<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img src="assets/images/7274714/7274930.png" class="confluence-embedded-image" height="250" /></span>
+
+<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img src="assets/images/7274714/7274931.png" class="confluence-embedded-image" height="217" /></span>
+
+Install the downloaded .deb file (repo), install the driver and reboot:
+
+``` syntaxhighlighter-pre
+dpkg -i nvidia-diag-driver-local-repo-ubuntu1604-390.30_1.0-1_amd64.deb
+apt-key add /var/nvidia-diag-driver-local-repo-390.30/7fa2af80.pub
+apt-get update
+apt-get install nvidia-390
+reboot
+```
+
+Alternatively you can enable the graphics-drivers PPA. Currently, it supports Ubuntu 18.04 LTS, 17.10, 17.04, 16.04 LTS, and 14.04 LTS operating systems (still under testing phase):
+
+``` syntaxhighlighter-pre
+add-apt-repository ppa:graphics-drivers/ppa
+apt update
+apt install nvidia-390
+```
+
+### Verify the nvidia-driver installation
+
+Launch the command:
+
+    nvidia-smi
+
+Output:
+
+``` syntaxhighlighter-pre
++-----------------------------------------------------------------------------+
+| NVIDIA-SMI 390.30                 Driver Version: 390.30                    |
+|-------------------------------+----------------------+----------------------+
+| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
+| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
+|===============================+======================+======================|
+|   0  Tesla K40m          Off  | 00000000:82:00.0 Off |                    0 |
+| N/A   21C    P8    18W / 235W |      0MiB / 11441MiB |      0%      Default |
++-------------------------------+----------------------+----------------------+
+                                                                               
++-----------------------------------------------------------------------------+
+| Processes:                                                       GPU Memory |
+|  GPU       PID   Type   Process name                             Usage      |
+|=============================================================================|
+|  No running processes found                                                 |
++-----------------------------------------------------------------------------+
+```
+
+### Mesos slave configuration
+
+``` syntaxhighlighter-pre
+export MESOS_MASTER="zk://<master>:2181/mesos"
+export MESOS_ZK="zk://<master>:2181/mesos"
+export MESOS_EXECUTOR_REGISTRATION_TIMEOUT="10mins"
+export MESOS_CONTAINERIZERS="mesos,docker"
+export MESOS_LOG_DIR="/var/log/mesos"
+export MESOS_IP="<agent-ip>"
+export MESOS_WORK_DIR="/var/lib/mesos"
+export MESOS_HOSTNAME="<agent-hostname>"
+export MESOS_ISOLATION="docker/runtime,filesystem/linux,cgroups/devices,gpu/nvidia"
+export MESOS_IMAGE_PROVIDERS="docker"
+```
+
+(Re)start the mesos agent. In the log you will see the available GPU as resource offered by the agent node:
+
+Feb 26 23:10:07 hpc-09-02 mesos-slave\[1713\]: I0226 23:10:07.155503  1745 slave.cpp:533\] Agent resources: gpus(\*):1; cpus(\*):40; mem(\*):256904; disk(\*):3489713; ports(\*):\[31000-32000\]
+
+### Testing GPU support in Mesos
+
+Verify that Mesos is able to launch a task consuming GPUs:
+
+``` syntaxhighlighter-pre
+mesos-execute --master=mesos-m0.recas.ba.infn.it:5050 --name=gpu-test  --docker_image=nvidia/cuda       --command="nvidia-smi"       --framework_capabilities="GPU_RESOURCES"       --resources="gpus:1"
+I0305 15:22:38.346174  4443 scheduler.cpp:188] Version: 1.5.0
+I0305 15:22:38.349104  4459 scheduler.cpp:311] Using default 'basic' HTTP authenticatee
+I0305 15:22:38.349442  4462 scheduler.cpp:494] New master detected at master@172.20.0.38:5050
+Subscribed with ID 6faa9a75-d48b-4dc6-96ee-73c35997706b-0017
+Submitted task 'gpu-test' to agent 'd33d527c-8d1f-4e53-b65d-e2b2c67c0889-S2'
+Received status update TASK_STARTING for task 'gpu-test'
+  source: SOURCE_EXECUTOR
+Received status update TASK_RUNNING for task 'gpu-test'
+  source: SOURCE_EXECUTOR
+Received status update TASK_FINISHED for task 'gpu-test'
+  message: 'Command exited with status 0'
+  source: SOURCE_EXECUTOR
+```
+
+Look into the task sandbox. The stdout should report the following:
+
+``` syntaxhighlighter-pre
+Marked '/' as rslave
+Prepared mount '{"flags":20480,"source":"\/var\/lib\/mesos\/slaves\/d33d527c-8d1f-4e53-b65d-e2b2c67c0889-S2\/frameworks\/6faa9a75-d48b-4dc6-96ee-73c35997706b-0017\/executors\/gpu-test\/runs\/5ebbfaf3-3b8b-4c32-9337-740a85feef75","target":"\/var\/lib\/mesos\/provisioner\/containers\/5ebbfaf3-3b8b-4c32-9337-740a85feef75\/backends\/overlay\/rootfses\/e56d62ea-4334-4582-a820-2b9406e2b7f8\/mnt\/mesos\/sandbox"}'
+Prepared mount '{"flags":20481,"source":"\/var\/run\/mesos\/isolators\/gpu\/nvidia_390.30","target":"\/var\/lib\/mesos\/provisioner\/containers\/5ebbfaf3-3b8b-4c32-9337-740a85feef75\/backends\/overlay\/rootfses\/e56d62ea-4334-4582-a820-2b9406e2b7f8\/usr\/local\/nvidia"}'
+Prepared mount '{"flags":20513,"target":"\/var\/lib\/mesos\/provisioner\/containers\/5ebbfaf3-3b8b-4c32-9337-740a85feef75\/backends\/overlay\/rootfses\/e56d62ea-4334-4582-a820-2b9406e2b7f8\/usr\/local\/nvidia"}'
+Changing root to /var/lib/mesos/provisioner/containers/5ebbfaf3-3b8b-4c32-9337-740a85feef75/backends/overlay/rootfses/e56d62ea-4334-4582-a820-2b9406e2b7f8
+Mon Mar  5 14:23:41 2018       
++-----------------------------------------------------------------------------+
+| NVIDIA-SMI 390.30                 Driver Version: 390.30                    |
+|-------------------------------+----------------------+----------------------+
+| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
+| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
+|===============================+======================+======================|
+|   0  Tesla K40m          Off  | 00000000:82:00.0 Off |                    0 |
+| N/A   21C    P8    18W / 235W |      0MiB / 11441MiB |      0%      Default |
++-------------------------------+----------------------+----------------------+
+                                                                               
++-----------------------------------------------------------------------------+
+| Processes:                                                       GPU Memory |
+|  GPU       PID   Type   Process name                             Usage      |
+|=============================================================================|
+|  No running processes found                                                 |
++-----------------------------------------------------------------------------+
+```
+
+Testing Chronos patch for GPU support
+-------------------------------------
+
+Patch available on github: <a href="https://github.com/mesos/chronos/pull/810" class="uri" class="external-link">https://github.com/mesos/chronos/pull/810</a>
+
+### Patch compilation
+
+The following steps are needed to test the patch:
+
+1.  Get the patched code:
+
+    ``` syntaxhighlighter-pre
+    git clone https://github.com/mesos/chronos.git -b v3.0.2
+    cd  chronos
+    git fetch origin pull/810/head:chronos
+    git checkout chronos
+    ```
+
+2.  Compile:
+
+    ``` syntaxhighlighter-pre
+    docker run -v `pwd`:/chronos --entrypoint=/bin/sh maven:3-jdk-8 -c "\
+    curl -sL https://deb.nodesource.com/setup_7.x | bash - \
+    && apt-get update && apt-get install -y --no-install-recommends nodejs \
+    && ln -sf /usr/bin/nodejs /usr/bin/node \
+    && cd /chronos \
+    && mvn clean \
+    && mvn versions:set -DnewVersion=3.0.2-1 \
+    && mvn package -DskipTests"
+    ```
+
+    The jar **chronos-3.0.2-1.jar **will be created in the folder ./target/
+
+3.  Create the docker image
+    **Dockerfile:**
+
+    ``` syntaxhighlighter-pre
+    FROM ubuntu:16.04
+    ENV DEBIAN_FRONTEND noninteractive
+    RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && \
+    echo deb http://repos.mesosphere.io/ubuntu trusty main > /etc/apt/sources.list.d/mesosphere.list && \
+    apt-get update && \
+    apt-get -y install --no-install-recommends mesos openjdk-8-jre-headless && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+    ADD chronos-3.0.2-1.jar /
+    COPY entrypoint.sh /
+    ENTRYPOINT ["/entrypoint.sh"]
+    ```
+
+    **File entrypoint.sh:
+    **
+
+    ``` syntaxhighlighter-pre
+    #!/bin/sh
+    CMD="java -Xmx512m -cp chronos-3.0.2-1.jar org.apache.mesos.chronos.scheduler.Main"
+    # Parse environment variables
+    for k in `set | grep ^CHRONOS_ | cut -d= -f1`; do
+        eval v=\$$k
+        CMD="$CMD --`echo $k | cut -d_ -f2- | tr '[:upper:]' '[:lower:]'` $v"
+    done
+    # authentication
+    PRINCIPAL=${PRINCIPAL:-root}
+    if [ -n "$SECRET" ]; then
+        touch /tmp/secret
+        chmod 600 /tmp/secret
+        echo -n "$SECRET" > /tmp/secret
+        CMD="$CMD --mesos_authentication_principal $PRINCIPAL --mesos_authentication_secret_file /tmp/secret"
+    fi
+    echo $CMD
+    if [ $# -gt 0 ]; then
+        exec "$@"
+    fi
+    exec $CMD
+    ```
+
+**Start the patched Chronos Framework:**
+
+Using the docker image described above you can run Chronos as follows:
+
+``` syntaxhighlighter-pre
+docker run --name chronos -d --net host --env-file /etc/chronos/.chronosenv chronos:3.0.2_gpu
+```
+
+with the following environment:
+
+``` syntaxhighlighter-pre
+LIBPROCESS_IP=172.20.0.38
+CHRONOS_HOSTNAME=172.20.0.38
+CHRONOS_HTTP_PORT=4400
+CHRONOS_MASTER=zk://172.20.0.38:2181/mesos
+CHRONOS_ZK_HOSTS=zk://172.20.0.38:2181
+CHRONOS_ZK_PATH=/chronos/state
+CHRONOS_MESOS_FRAMEWORK_NAME=chronos
+CHRONOS_HTTP_CREDENTIALS=admin:******
+CHRONOS_ENABLE_FEATURES=gpu_resources
+```
+
+### Testing
+
+Approach: submit a batch-like job that uses the tensorflow docker image, downloads the code available <a href="https://github.com/aymericdamien/TensorFlow-Examples" class="external-link">here</a> and runs <span style="color: rgb(50,58,78);">the convolutional network example</span>
+
+``` syntaxhighlighter-pre
+apt-get update; apt-get install -y git 
+
+git clone https://github.com/aymericdamien/TensorFlow-Examples
+
+cd TensorFlow-Examples/examples/3_NeuralNetworks;
+
+time python convolutional_network.py
+```
+
+The test is based on the <a href="https://mesosphere.com/blog/tutorial-deep-learning-with-tensorflow-nvidia-and-apache-mesos-dcos-part-1/" class="external-link">tutorial</a> provided by mesosphere DC/OS 
+
+Two different versions of the tensorflow docker image will be used in order to verify the correct execution of the job regardless of the version of CUDA and cuDNN used to build the binaries inside the docker image:
+
+| Docker tag | CUDA & cuDNN version | Test id |
+|------------|----------------------|---------|
+| latest-gpu 
+             
+ (1.6.0)     | CUDA 9.0, cuDNN 7    | \#1     |
+| 1.4.0-gpu  | CUDA 8.0, cuDNN 6    | \#2     |
+
+#### Test \#1:
+
+Job definition:
+
+``` syntaxhighlighter-pre
+{
+  "name": "test-gpu",
+  "command": "cd $MESOS_SANDBOX && /bin/bash gpu_demo.sh",
+  "shell": true,
+  "retries": 2,
+  "cpus": 4,
+  "disk": 256,
+  "mem": 4096,
+  "gpus": 1,
+  "uris": [
+    "https://gist.githubusercontent.com/maricaantonacci/1a7f02903513e7bba91f451e0f4f5ead/raw/78c737fd0e2a288a2040c192368f6c4ecf8eb88a/gpu_demo.sh"
+  ],
+  "environmentVariables": [],
+  "arguments": [],
+  "runAsUser": "root",
+  "container": {
+    "type": "MESOS",
+    "image": "tensorflow/tensorflow:latest-gpu"
+  },
+  "schedule": "R/2018-03-05T23:00:00.000Z/PT24H"
+}
+```
+
+The job is correctly run.  The following relevant info were retrieved from the stderr file in the job sandbox:
+
+``` syntaxhighlighter-pre
+Cloning into 'TensorFlow-Examples'...
+/usr/local/lib/python2.7/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
+  from ._conv import register_converters as _register_converters
+WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpLLDDDs
+2018-03-05 14:38:59.059890: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties: 
+name: Tesla K40m major: 3 minor: 5 memoryClockRate(GHz): 0.745
+pciBusID: 0000:82:00.0
+totalMemory: 11.17GiB freeMemory: 11.09GiB
+2018-03-05 14:38:59.059989: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1312] Adding visible gpu devices: 0
+2018-03-05 14:38:59.496393: I tensorflow/core/common_runtime/gpu/gpu_device.cc:993] Creating TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10757 MB memory) -> physical GPU (device: 0, name: Tesla K40m, pci bus id: 0000:82:00.0, compute capability: 3.5)
+2018-03-05 14:39:23.210323: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1312] Adding visible gpu devices: 0
+2018-03-05 14:39:23.210672: I tensorflow/core/common_runtime/gpu/gpu_device.cc:993] Creating TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 260 MB memory) -> physical GPU (device: 0, name: Tesla K40m, pci bus id: 0000:82:00.0, compute capability: 3.5)
+
+real    0m32.394s
+user    0m35.192s
+sys 0m12.204s
+I0305 15:39:25.630180  4680 executor.cpp:938] Command exited with status 0 (pid: 4716)
+```
+
+#### Test \#2
+
+Job definition:
+
+``` syntaxhighlighter-pre
+{
+  "name": "test2-gpu",
+  "command": "cd $MESOS_SANDBOX && /bin/bash gpu_demo.sh",
+  "shell": true,
+  "retries": 2,
+  "cpus": 4,
+  "disk": 256,
+  "mem": 4096,
+  "gpus": 1,
+  "uris": [
+    "https://gist.githubusercontent.com/maricaantonacci/1a7f02903513e7bba91f451e0f4f5ead/raw/78c737fd0e2a288a2040c192368f6c4ecf8eb88a/gpu_demo.sh"
+  ],
+  "environmentVariables": [],
+  "arguments": [],
+  "runAsUser": "root",
+  "container": {
+    "type": "MESOS",
+    "image": "tensorflow/tensorflow:1.4.0-gpu"
+  },
+  "schedule": "R/2018-03-05T23:00:00.000Z/PT24H"
+}
+```
+
+As you can see, the only difference wrt Test\#1 is the docker image: here we are using the tag 1.4.0-gpu of the tensorflow docker image that has been built using a different CUDA and cuDNN version.
+
+Also in this case the job is correcly run:
+
+``` syntaxhighlighter-pre
+Cloning into 'TensorFlow-Examples'...
+WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpomIcq9
+2018-03-05 16:36:24.518455: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
+2018-03-05 16:36:25.261578: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties: 
+name: Tesla K40m major: 3 minor: 5 memoryClockRate(GHz): 0.745
+pciBusID: 0000:82:00.0
+totalMemory: 11.17GiB freeMemory: 11.09GiB
+2018-03-05 16:36:25.261658: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: Tesla K40m, pci bus id: 0000:82:00.0, compute capability: 3.5)
+2018-03-05 16:36:52.299346: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: Tesla K40m, pci bus id: 0000:82:00.0, compute capability: 3.5)
+
+real    0m35.273s
+user    0m37.828s
+sys 0m13.164s
+I0305 17:36:54.803642  7405 executor.cpp:938] Command exited with status 0 (pid: 7439)
+```
+
+**Additional note:**
+
+Running the job without gpu (using the image tensorflow/tensorflow:latest and "gpus": 0) we got for the same script:
+
+``` syntaxhighlighter-pre
+real   2m15.647s
+user    22m33.384s
+sys 15m51.164s
+```
+
+Testing GPU support in Marathon
+-------------------------------
+
+In order to enable GPU support in Marathon, you need to start the framework with the commandline option <span style="color: rgb(255,0,0);">--enable\_features=gpu\_resources</span> (or using the env variable <span style="color: rgb(255,0,0);">MARATHON\_ENABLE\_FEATURES</span>):
+
+**Start Marathon Framework:**
+
+``` syntaxhighlighter-pre
+docker run -d --name marathon --net host --env-file /etc/marathon/.marathonenv  indigodatacloud/marathon:1.5.6
+```
+
+with the following enviroment:
+
+``` syntaxhighlighter-pre
+LIBPROCESS_IP=<mesos-master-ip>
+MARATHON_HOSTNAME=<mesos-master-fqdn/ip>
+MARATHON_HTTP_ADDRESS=<mesos-master-ip>
+MARATHON_HTTP_PORT=8080
+MARATHON_MASTER=zk://<mesos-master>:2181/mesos
+MARATHON_ZK=zk://<mesos-master>:2181/marathon
+MARATHON_FRAMEWORK_NAME=marathon
+MARATHON_HTTP_CREDENTIALS=admin:******
+MARATHON_ENABLE_FEATURES=gpu_resources
+```
+
+**Test:**
+
+The following application has been submitted to Marathon:
+
+``` syntaxhighlighter-pre
+{
+  "id": "tensorflow-gpus",
+  "cpus": 4,
+  "gpus": 1,
+  "mem": 2048,
+  "disk": 0,
+  "instances": 1,
+  "container": {
+    "type": "MESOS",
+    "docker": {
+      "image": "tensorflow/tensorflow:latest-gpu"
+    }
+  }
+}
+```
+
+
+<span> Running tensorflow docker container</span>
+-------------------------------------------------
+
+<span>1) Using "DOCKER" containerizer on a Mesos cluster without GPUs</span>
+
+<span>Submit to Marathon the following application:</span>
+
+``` syntaxhighlighter-pre
+{
+  "id": "/tensorflow-app",
+  "cmd": "PORT=8888 /run_jupyter.sh --allow-root",
+  "cpus": 2,
+  "mem": 4096,
+  "instances": 1,
+  "container": {
+    "type": "DOCKER",
+    "docker": {
+      "image": "tensorflow/tensorflow:latest",
+      "network": "BRIDGE",
+      "portMappings": [
+        {
+          "containerPort": 8888,
+          "hostPort": 0,
+          "servicePort": 10000,
+          "protocol": "tcp"
+        }
+      ],
+      "privileged": false,
+      "forcePullImage": true
+    }
+  },
+  "env": {
+    "PASSWORD": "s3cret"
+  },
+  "labels": {
+    "HAPROXY_GROUP": "external"
+  }
+}
+```
+
+<span>
+</span>
+
+<span>Then you can access the service through the cluster LB on port 10000 (servicePort)</span>
+
+<span>
+</span>
+
+<span>2) Using "MESOS" containerizer on a Mesos cluster with GPUs</span>
+
+``` syntaxhighlighter-pre
+{
+ "id": "tensorflow-gpus",
+ "cpus": 4,
+ "gpus": 1,
+ "mem": 2048,
+ "disk": 0,
+ "instances": 1,
+ "container": {
+   "type": "MESOS",
+   "docker": {
+     "image": "tensorflow/tensorflow:latest-gpu"
+   }
+ },
+ "portDefinitions": [
+       {"port": 10000, "name": "http"}
+  ],
+ "networks": [ { "mode": "host" } ],
+ "labels":{
+   "HAPROXY_GROUP":"external"
+ },
+ "env": {
+   "PASSWORD":"s3cret"
+ }
+}
+```
+
+Then you can access the service through the cluster LB on port 10000. 
+
+If the "port" field in portDefinitions is set to 0 then Marathon will assign a random service port (that you can know with a GET request to /v2/apps/&lt;app-name&gt;) 
+
+<span>
+</span>
+
+<span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span>
+
+References
+----------
+
+
+
diff --git a/docs/mesos-cluster/images/7274930.png b/docs/mesos-cluster/images/7274930.png
new file mode 100755
index 0000000000000000000000000000000000000000..6afb724470addcd947da8ae75f98d6a58dd97cb7
GIT binary patch
literal 36351
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
Y|E34;KgMilX9ghfboFyt=akR{0FtbnhyVZp

literal 0
HcmV?d00001

diff --git a/docs/mesos-cluster/images/7274931.png b/docs/mesos-cluster/images/7274931.png
new file mode 100755
index 0000000000000000000000000000000000000000..0d37dbf4901acfe0420e683be416325e84abd21c
GIT binary patch
literal 28789
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
HZW8oAox|q{

literal 0
HcmV?d00001

-- 
GitLab


From 631cf8c557924afa4194be1963833cda23b2018b Mon Sep 17 00:00:00 2001
From: Marica Antonacci <marica.antonacci@ba.infn.it>
Date: Tue, 23 Oct 2018 11:22:51 +0200
Subject: [PATCH 2/2] Update enable-gpu-support.md

---
 docs/mesos-cluster/enable-gpu-support.md | 32 ++++++++----------------
 1 file changed, 10 insertions(+), 22 deletions(-)

diff --git a/docs/mesos-cluster/enable-gpu-support.md b/docs/mesos-cluster/enable-gpu-support.md
index 63609c7..81533fc 100644
--- a/docs/mesos-cluster/enable-gpu-support.md
+++ b/docs/mesos-cluster/enable-gpu-support.md
@@ -11,9 +11,9 @@ Enabling GPU support in a Mesos cluster is really straightforward (as stated in
 
 <span>Mesos exposes GPUs as a simple </span>`SCALAR`<span> resource in the same way it always has for CPUs, memory, and disk.</span>
 
-An important remark is that **currently the GPU support is available for the** **Mesos containerizer and not for the Docker containerizer. **Anyway the Mesos containerizer is now able to run docker images natively through the **<a href="http://mesos.apache.org/documentation/latest/container-image" class="external-link">Universal Container Runtime</a> (UCR)**. ****  
+An important remark is that currently the GPU support is available for the Mesos containerizer and not for the Docker containerizer. Anyway the Mesos containerizer is now able to run docker images natively through the <a href="http://mesos.apache.org/documentation/latest/container-image" class="external-link">Universal Container Runtime</a> (UCR). 
 
-<img src="assets/images/icons/emoticons/warning.png" title="(warning)" alt="(warning)" class="emoticon emoticon-warning" />The following limitations can, on the other hand, have impacts on the deployment of Long-Running services (Marathon) requiring GPUs:
+The following limitations can, on the other hand, have impacts on the deployment of Long-Running services (Marathon) requiring GPUs:
 
 -   The UCR does not support the following: runtime privileges, Docker options, force pull, named ports, numbered ports, bridge networking, port mapping.
 
@@ -66,17 +66,8 @@ Testbed Setup
 
 | Node         | Description                                                                |
 |--------------|----------------------------------------------------------------------------|
-| Mesos Master | VM 4vCPU, 16GB RAM                                                         
-                                                                                            
-                SO: Ubuntu 16.04                                                            |
-| Mesos Slave  | baremetal                                                                  
-                                                                                            
-                40 CPUs, 250GB RAM                                                          
-                                                                                            
-                82:00.0 3D controller: NVIDIA Corporation GK110BGL \[Tesla K40m\] (rev a1)  
-                Model name: Intel(R) Xeon(R) CPU E5-2650L v2 @ 1.70GHz                      
-                                                                                            
-                SO: Ubuntu 16.04                                                            |
+| Mesos Master | VM 4vCPU, 16GB RAM <br> SO: Ubuntu 16.04                                   |
+| Mesos Slave  | baremetal <br> 40 CPUs, 250GB RAM <br> 82:00.0 3D controller: NVIDIA Corporation GK110BGL \[Tesla K40m\] (rev a1) <br> Model name: Intel(R) Xeon(R) CPU E5-2650L v2 @ 1.70GHz <br>SO: Ubuntu 16.04 |
 
 ### Tested Components Versions
 
@@ -92,9 +83,9 @@ Prepare the agent (slave) node
 
 Download the driver repo from <a href="http://www.nvidia.com/Download/index.aspx?lang=en-us" class="uri" class="external-link">http://www.nvidia.com/Download/index.aspx?lang=en-us</a> choosing the proper version.
 
-<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img src="assets/images/7274714/7274930.png" class="confluence-embedded-image" height="250" /></span>
+<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img src="images/7274930.png" class="confluence-embedded-image" height="250" /></span>
 
-<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img src="assets/images/7274714/7274931.png" class="confluence-embedded-image" height="217" /></span>
+<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img src="images/7274931.png" class="confluence-embedded-image" height="217" /></span>
 
 Install the downloaded .deb file (repo), install the driver and reboot:
 
@@ -238,7 +229,7 @@ The following steps are needed to test the patch:
     && mvn package -DskipTests"
     ```
 
-    The jar **chronos-3.0.2-1.jar **will be created in the folder ./target/
+    The jar **chronos-3.0.2-1.jar** will be created in the folder ./target/
 
 3.  Create the docker image
     **Dockerfile:**
@@ -257,8 +248,8 @@ The following steps are needed to test the patch:
     ENTRYPOINT ["/entrypoint.sh"]
     ```
 
-    **File entrypoint.sh:
-    **
+    **File entrypoint.sh**:
+    
 
     ``` syntaxhighlighter-pre
     #!/bin/sh
@@ -325,9 +316,7 @@ Two different versions of the tensorflow docker image will be used in order to v
 
 | Docker tag | CUDA & cuDNN version | Test id |
 |------------|----------------------|---------|
-| latest-gpu 
-             
- (1.6.0)     | CUDA 9.0, cuDNN 7    | \#1     |
+| latest-gpu (1.6.0)     | CUDA 9.0, cuDNN 7    | \#1     |
 | 1.4.0-gpu  | CUDA 8.0, cuDNN 6    | \#2     |
 
 #### Test \#1:
@@ -570,7 +559,6 @@ If the "port" field in portDefinitions is set to 0 then Marathon will assign a r
 <span>
 </span>
 
-<span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span>
 
 References
 ----------
-- 
GitLab