diff --git a/demo/README.md b/demo/README.md index 19fafa1e3..ad8c6c926 100644 --- a/demo/README.md +++ b/demo/README.md @@ -1,6 +1,7 @@ # Demo on Node Feature Discovery - [Demo Overview](#demo-overview) - [Instructions to Reproduce the Demo](#instructions-to-reproduce-the-demo) +- [Source for the Demo Images](#source-for-the-demo-images) ## Demo Overview In order to show the potential performance benefit from the node feature discovery project, we ran an experiment on three identical Kubernetes nodes. Each node consists of a single-socket Intel(R) Xeon(R) D-1521 with eight cores. @@ -75,6 +76,9 @@ Following the above steps will produce the performance and normalized performanc APPLICATION_NAME can be one of parsec or cloverleaf ``` +### Source for the Demo Images +The Dockerfiles for the demo images can be found in [docker-images](docker-images/). The Dockerfile for the PARSEC demo is [Dockerfile-PARSEC](docker-images/Dockerfile-PARSEC) and the CloverLeaf demo is [Dockerfile-CloverLeaf](docker-images/Dockerfile-CloverLeaf). The demo images are hosted in `quay.io` under the `kubernetes_incubator` organization. + [parsec]: http://parsec.cs.princeton.edu/ [ref-1]: http://csl.stanford.edu/~christos/publications/2014.autoturbo.hpca.pdf diff --git a/demo/docker-images/Dockerfile-CloverLeaf b/demo/docker-images/Dockerfile-CloverLeaf new file mode 100644 index 000000000..1f27cab80 --- /dev/null +++ b/demo/docker-images/Dockerfile-CloverLeaf @@ -0,0 +1,21 @@ +#======================================================================== +# Copyright 2016 Intel Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#======================================================================== +FROM debian:testing + +RUN apt-get update && apt-get install build-essential git gfortran -y +RUN git clone --depth 1 https://github.com/UK-MAC/CloverLeaf_OpenMP.git /root/CloverLeaf_OpenMP +RUN cp /root/CloverLeaf_OpenMP/InputDecks/clover_bm_short.in /root/CloverLeaf_OpenMP/clover.in +RUN cd /root/CloverLeaf_OpenMP && make COMPILER=GNU MPI_COMPILER=gfortran C_MPI_COMPILER=gcc +ENV OMP_NUM_THREADS 8 +WORKDIR /root/CloverLeaf_OpenMP +ENTRYPOINT ["/bin/bash", "-c", "time ./clover_leaf"] diff --git a/demo/docker-images/Dockerfile-PARSEC b/demo/docker-images/Dockerfile-PARSEC new file mode 100644 index 000000000..f7d8c826b --- /dev/null +++ b/demo/docker-images/Dockerfile-PARSEC @@ -0,0 +1,21 @@ +#======================================================================== +# Copyright 2016 Intel Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#======================================================================== +FROM debian:testing + +RUN apt-get update && apt-get install build-essential -y +ADD http://parsec.cs.princeton.edu/download/3.0/parsec-3.0-core.tar.gz /root/ +RUN cd /root; tar -xzf parsec-3.0-core.tar.gz +COPY ./parsec-3.0/ferret/input/input_native.tar /root/parsec-3.0/pkgs/apps/ferret/inputs/ +WORKDIR /root/parsec-3.0 +RUN ./bin/parsecmgmt -a build -p ferret -c gcc +ENTRYPOINT ["./bin/parsecmgmt", "-a", "run", "-p", "ferret", "-i", "native", "-n", "8"] diff --git a/demo/docker-images/parsec-3.0/ferret/input/input_native.tar b/demo/docker-images/parsec-3.0/ferret/input/input_native.tar new file mode 100644 index 000000000..a50c7dc68 Binary files /dev/null and b/demo/docker-images/parsec-3.0/ferret/input/input_native.tar differ diff --git a/demo/helper-scripts/demo-pod-with-discovery.json.parsec.template b/demo/helper-scripts/demo-pod-with-discovery.json.parsec.template index 43d4e1b6c..773deebe0 100644 --- a/demo/helper-scripts/demo-pod-with-discovery.json.parsec.template +++ b/demo/helper-scripts/demo-pod-with-discovery.json.parsec.template @@ -7,7 +7,7 @@ "spec": { "containers": [ { - "image": "intelsdi/node-feature-discovery-APP", + "image": "quay.io/kubernetes_incubator/node-feature-discovery-APP", "name": "demo-container-parsec-NUM", "ports": [ { diff --git a/demo/helper-scripts/demo-pod-with-discovery.yaml.cloverleaf.template b/demo/helper-scripts/demo-pod-with-discovery.yaml.cloverleaf.template index 58986ff71..eecb378d3 100644 --- a/demo/helper-scripts/demo-pod-with-discovery.yaml.cloverleaf.template +++ b/demo/helper-scripts/demo-pod-with-discovery.yaml.cloverleaf.template @@ -23,7 +23,7 @@ metadata: spec: containers: - name: demo-container-cloverleaf-NUM - image: intelsdi/node-feature-discovery-APP + image: quay.io/kubernetes_incubator/node-feature-discovery-APP ports: - containerPort: 3551 hostPort: 10001 diff --git a/demo/helper-scripts/demo-pod-without-discovery.json.template b/demo/helper-scripts/demo-pod-without-discovery.json.template index b4c42a1b0..8a9a687c0 100644 --- a/demo/helper-scripts/demo-pod-without-discovery.json.template +++ b/demo/helper-scripts/demo-pod-without-discovery.json.template @@ -7,7 +7,7 @@ "spec": { "containers": [ { - "image": "intelsdi/node-feature-discovery-IMG", + "image": "quay.io/kubernetes_incubator/node-feature-discovery-IMG", "name": "demo-container-APP-NUM", "ports": [ {