diff --git a/LICENSE b/LICENSE index d921533..03f646f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,22 +1 @@ -MIT License - -Copyright (c) 2022 noslate-project - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +MIT OR Apache-2.0 diff --git a/LICENCE b/LICENSE.Apache-2.0 similarity index 90% rename from LICENCE rename to LICENSE.Apache-2.0 index 36a92c9..5f54c7e 100644 --- a/LICENCE +++ b/LICENSE.Apache-2.0 @@ -1,30 +1,3 @@ -Our repo is licensed for use as follows: - -""" -MIT License - -Copyright (c) <2023-2023> Intel Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -""" - -""" Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -201,4 +174,3 @@ SOFTWARE. of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS -""" \ No newline at end of file diff --git a/LICENSE.MIT b/LICENSE.MIT new file mode 100644 index 0000000..0fb2ef3 --- /dev/null +++ b/LICENSE.MIT @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) <2022-2023> Noslate Project +Copyright (c) <2023-2023> Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/workloads/base64/user_guide.md b/workloads/base64/Dockerfile similarity index 90% rename from workloads/base64/user_guide.md rename to workloads/base64/Dockerfile index e368e70..06a2048 100644 --- a/workloads/base64/user_guide.md +++ b/workloads/base64/Dockerfile @@ -1,7 +1,3 @@ -This is the user guide to install the Base64 Encoding benchmark - -``` - ARG BASIC_IMAGE= FROM ${BASIC_IMAGE} @@ -21,4 +17,3 @@ COPY ./scripts/common.js /home/ubuntu/work/common.js COPY ./scripts/perf_module_breakdown.py /home/perf_module_breakdown.py RUN npm install -g npm -``` \ No newline at end of file diff --git a/workloads/fc-startup/faas-base/user_guide.md b/workloads/fc-startup/faas-base/Dockerfile similarity index 90% rename from workloads/fc-startup/faas-base/user_guide.md rename to workloads/fc-startup/faas-base/Dockerfile index cab984d..2c20c73 100644 --- a/workloads/fc-startup/faas-base/user_guide.md +++ b/workloads/fc-startup/faas-base/Dockerfile @@ -1,6 +1,3 @@ -This is the user guide to install the FaaS Function Computing Framework Startup benchmark - -``` # Usage: FROM [image name] ARG BASIC_IMAGE= FROM ${BASIC_IMAGE} @@ -36,4 +33,3 @@ COPY --chown=${USERNAME}:root ./common/package.json /home/${USERNAME}/ COPY --chown=${USERNAME}:root ./common/quickrun.sh /home/${USERNAME}/ RUN npm install -``` \ No newline at end of file diff --git a/workloads/fc-startup/faas-opt/user_guide.md b/workloads/fc-startup/faas-opt/Dockerfile similarity index 86% rename from workloads/fc-startup/faas-opt/user_guide.md rename to workloads/fc-startup/faas-opt/Dockerfile index dfac096..7058be4 100644 --- a/workloads/fc-startup/faas-opt/user_guide.md +++ b/workloads/fc-startup/faas-opt/Dockerfile @@ -1,6 +1,3 @@ -This is the user guide to install the FaaS Function Computing Framework Startup benchmark, and apply the opt of bytecode cache to reduce the start up time. -``` - # Usage: FROM [image name] ARG BASIC_IMAGE= FROM ${BASIC_IMAGE} @@ -37,4 +34,3 @@ COPY --chown=${USERNAME}:root ./common/quickrun_allcache.sh /home/${USERNAME}/qu COPY --chown=${USERNAME}:root ./common/allcache.js /home/${USERNAME}/ RUN npm install -``` \ No newline at end of file diff --git a/workloads/generate_bolt/user_guide.md b/workloads/generate_bolt/Dockerfile similarity index 92% rename from workloads/generate_bolt/user_guide.md rename to workloads/generate_bolt/Dockerfile index 99a7675..2f643c4 100644 --- a/workloads/generate_bolt/user_guide.md +++ b/workloads/generate_bolt/Dockerfile @@ -1,7 +1,3 @@ -This is the user guide to install and apply BOLT optimization for Node.js. This opt can make node.js obtaining branch opt information for all supported workloads so as to run workloads faster. - -``` - FROM ubuntu:22.04 ENV USERNAME="ubuntu" @@ -154,7 +150,3 @@ RUN ninja bolt && ninja merge-fdata WORKDIR /home/${USERNAME} RUN sudo -E apt-get update && sudo -E apt-get upgrade -y && sudo -E apt-get install -y linux-tools-`uname -r` COPY --chown=${USERNAME}:root start.sh /home/${USERNAME}/start.sh -``` - -Please be noted the ghost workload needs DB to be prepared ahead of time. As in the user manual document in ghost folder, you need to fill in some data in the DB. -You need to copy the `ghost.dump` and put the file into `genererate_bolt/common` folder. \ No newline at end of file diff --git a/workloads/generate_pgo/user_guide.md b/workloads/generate_pgo/Dockerfile similarity index 92% rename from workloads/generate_pgo/user_guide.md rename to workloads/generate_pgo/Dockerfile index fc7f70a..319ec69 100644 --- a/workloads/generate_pgo/user_guide.md +++ b/workloads/generate_pgo/Dockerfile @@ -1,7 +1,3 @@ -This is the user guide to install and apply PGO optimization for Node.js. This opt can make node.js obtaining branch opt information for all supported workloads so as to run workloads faster. - -``` - FROM ubuntu:22.04 ENV USERNAME="ubuntu" @@ -138,8 +134,3 @@ RUN CC='gcc -no-pie -fno-PIE -fno-reorder-blocks-and-partition -fcf-protection=n WORKDIR /home/${USERNAME} COPY --chown=${USERNAME}:root start.sh /home/${USERNAME}/start.sh -``` - - -Please be noted the ghost workload needs DB to be prepared ahead of time. As in the user manual document in ghost folder, you need to fill in some data in the DB. -You need to copy the `ghost.dump` and put the file into `genererate_pgo/common` folder. \ No newline at end of file diff --git a/workloads/ghost/https/user_guide.md b/workloads/ghost/https/Dockerfile similarity index 95% rename from workloads/ghost/https/user_guide.md rename to workloads/ghost/https/Dockerfile index a961329..b748fd2 100644 --- a/workloads/ghost/https/user_guide.md +++ b/workloads/ghost/https/Dockerfile @@ -1,6 +1,3 @@ -This is the user guide to download Ghost workload from public repo, and build the https working mode. It also downloads the ab tools as the client, and install the necessary DB as required by ghost official website. - -``` ARG BASIC_IMAGE="node:latest" FROM ${BASIC_IMAGE} @@ -137,4 +134,3 @@ WORKDIR /home/${USERNAME}/Ghost ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD [ "bash" ] -``` \ No newline at end of file diff --git a/workloads/ghost/nginx/user_guide.md b/workloads/ghost/nginx/Dockerfile similarity index 97% rename from workloads/ghost/nginx/user_guide.md rename to workloads/ghost/nginx/Dockerfile index 3bb04e5..46974d6 100644 --- a/workloads/ghost/nginx/user_guide.md +++ b/workloads/ghost/nginx/Dockerfile @@ -1,7 +1,3 @@ -This is the user guide to download Ghost workload from public repo, and build the https working mode with Async Ngnix web server to do load balance and https request decryption. - -``` - ARG BASIC_IMAGE= #################################################################### @@ -208,4 +204,3 @@ WORKDIR /home/${USERNAME}/Ghost ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD [ "bash" ] -``` \ No newline at end of file diff --git a/workloads/node/build/user_guide.md b/workloads/node/build/Dockerfile similarity index 94% rename from workloads/node/build/user_guide.md rename to workloads/node/build/Dockerfile index bf9c697..9758c89 100644 --- a/workloads/node/build/user_guide.md +++ b/workloads/node/build/Dockerfile @@ -1,6 +1,3 @@ -This is the user guide to download and build Node.js. The Node.js repos and branchs are configured in framework. - -``` ARG BASIC_IMAGE="ubuntu:22.04" FROM ${BASIC_IMAGE} @@ -70,5 +67,3 @@ RUN ./apply_bolt.sh ${BOLT_USE} ${LLVM_VERSION} ${LLVM_URL} ${BOLT_FILE} WORKDIR /home/ubuntu/work CMD /usr/local/bin/node - -``` \ No newline at end of file diff --git a/workloads/ssr-calcom/client/Dockerfile b/workloads/ssr-calcom/client/Dockerfile new file mode 100644 index 0000000..bc148a0 --- /dev/null +++ b/workloads/ssr-calcom/client/Dockerfile @@ -0,0 +1,11 @@ +FROM ubuntu:22.04 + +WORKDIR / + +RUN apt-get update && apt-get upgrade -y && apt-get install -y apache2-utils +# RUN apt-get install -y nghttp2-client + +WORKDIR /home + +COPY docker-entrypoint.sh ./docker-entrypoint.sh +RUN ["chmod", "+x", "/home/docker-entrypoint.sh"] diff --git a/workloads/ssr-calcom/client/user_guilde.md b/workloads/ssr-calcom/client/user_guilde.md deleted file mode 100644 index 9bbc7c0..0000000 --- a/workloads/ssr-calcom/client/user_guilde.md +++ /dev/null @@ -1,30 +0,0 @@ -This is the user guide to download webtooling workload and compose the Dockerfile: - -``` -FROM ubuntu:22.04 - -WORKDIR / - -RUN apt-get update && apt-get upgrade -y && apt-get install -y apache2-utils -# RUN apt-get install -y nghttp2-client - -WORKDIR /home - -COPY docker-entrypoint.sh ./docker-entrypoint.sh -RUN ["chmod", "+x", "/home/docker-entrypoint.sh"] - - -``` - -The docker-entrypoint.sh is the entry point of the container. It shall invoke ab tool as client. -Please refer to below instructions to compose the `entrypoint.sh` -``` -# Env Variables -NUM_REQ="${1:-100000}" -CONCURRENCY="${2:-1}" -addr="${3:-127.0.0.1}" - -# Start Bench -# h2load --h1 -n$NUM_REQ -c$CONCURRENCY http://${addr}:3000/apps -ab -r -n$NUM_REQ -c$CONCURRENCY http://${addr}:3000/apps -``` \ No newline at end of file diff --git a/workloads/ssr-calcom/server/v2.5.5/user_guide.md b/workloads/ssr-calcom/server/v2.5.5/Dockerfile similarity index 80% rename from workloads/ssr-calcom/server/v2.5.5/user_guide.md rename to workloads/ssr-calcom/server/v2.5.5/Dockerfile index d7b33df..1cee3fd 100644 --- a/workloads/ssr-calcom/server/v2.5.5/user_guide.md +++ b/workloads/ssr-calcom/server/v2.5.5/Dockerfile @@ -1,8 +1,3 @@ -This is the user guide to download SSR workload and compose the Dockerfile for server side of v2.5.5 if you are using lower version of Node.js. - -Please be noted that the version will be picked up automatically by the framework depending on the Node.js version in use. - -``` ARG BASIC_IMAGE="node:latest" FROM ${BASIC_IMAGE} as node-stage RUN cp -r /usr/local /home/ @@ -52,6 +47,3 @@ RUN apt install -y python2 linux-tools-`uname -r` WORKDIR /calcom/cal.com EXPOSE 3000 EXPOSE 5432 -``` - -In this folder, we also provides some py and sh script to seamlessly run and profile this workload. \ No newline at end of file diff --git a/workloads/ssr-calcom/server/v2.9.6/user_guide.md b/workloads/ssr-calcom/server/v2.9.6/Dockerfile similarity index 80% rename from workloads/ssr-calcom/server/v2.9.6/user_guide.md rename to workloads/ssr-calcom/server/v2.9.6/Dockerfile index 67f4501..c162233 100644 --- a/workloads/ssr-calcom/server/v2.9.6/user_guide.md +++ b/workloads/ssr-calcom/server/v2.9.6/Dockerfile @@ -1,8 +1,3 @@ -This is the user guide to download SSR workload and compose the Dockerfile for server side of v2.5.5 if you are using lower version of Node.js. - -Please be noted that the version will be picked up automatically by the framework depending on the Node.js version in use. - -`` # The basic os must be ubuntu:22.04 ARG BASIC_IMAGE="node:latest" FROM ${BASIC_IMAGE} @@ -50,7 +45,3 @@ RUN apt install -y python2 linux-tools-`uname -r` WORKDIR /calcom/cal.com EXPOSE 3000 EXPOSE 5432 - -``` - -In this folder, we also provides some py and sh script to seamlessly run and profile this workload. \ No newline at end of file diff --git a/workloads/webtooling/user_guide.md b/workloads/webtooling/Dockerfile similarity index 89% rename from workloads/webtooling/user_guide.md rename to workloads/webtooling/Dockerfile index 4389805..af2343c 100644 --- a/workloads/webtooling/user_guide.md +++ b/workloads/webtooling/Dockerfile @@ -1,6 +1,3 @@ -This is the user guide to download webtooling workload and compose the Dockerfile: - -``` # Set up an Ubuntu image with 'web tooling' installed ARG BASIC_IMAGE="node:latest" FROM ${BASIC_IMAGE} @@ -41,6 +38,3 @@ COPY ./common/breakdown.sh /home/ubuntu/web-tooling-benchmark/breakdown.sh COPY ./common/perf_module_breakdown.py /home/ubuntu/web-tooling-benchmark/perf_module_breakdown.py WORKDIR /home/ubuntu/web-tooling-benchmark/ -``` - -In this folder, we also provides some py and sh script to seamlessly run and profile this workload. \ No newline at end of file