diff --git a/packages/django_workload/README.md b/packages/django_workload/README.md index 760944904..4e080d159 100644 --- a/packages/django_workload/README.md +++ b/packages/django_workload/README.md @@ -19,7 +19,7 @@ can achieve. - **Thrift RPC Backend**: Mock Thrift servers provide realistic backend service calls - **Dynamic Load Generation**: wrk-based load generator with entity ID tracking for realistic /seen requests -- **JIT Support**: Cinder JIT compilation support for x86 platforms +- **JIT Support**: Cinder JIT compilation support for x86 and AArch64 platforms - **Dual Interpreter Support**: Choose between CPython and Cinder interpreters For more details about DjangoBench V2's software architecture, please refer to @@ -129,7 +129,7 @@ To specify which interpreter to use, add the `interpreter` parameter to your com When running with a separate database server: ``` -# Run with Cinder and JIT (default for x86) +# Run with Cinder and JIT (default) ./benchpress_cli.py run django_workload_default -r clientserver -i '{"db_addr": ""}' # Run with CPython @@ -247,11 +247,11 @@ For `django_workload_default`: a fixed duration. Unlike the behavior of Siege, now the total number of requests that wrk will send will be `reps`, _not_ `reps * iterations`. * `interpreter` \- Which python interpreter to use: choose between `cpython` or `cinder`. - Defaults to `cinder` for x86 jobs, `cpython` for ARM jobs. + Defaults to `cinder` for `django_workload_default` on x86 and ARM. * `use_async` \- If this is set to 1, DjangoBench will use the asynchronous server stack with load balancing; set to 0 means using the traditional stack. Defaults to 1. - * `use_jit` \- If this is set to a positive number, enables Cinder JIT (x86 only). - Defaults to 1 for x86 jobs, 0 for ARM jobs. + * `use_jit` \- If this is set to a positive number, enables Cinder JIT. + Defaults to 1 for `django_workload_default` on x86 and ARM. * `base_port` \- Starting port that the HTTP server workers will listen to. The range of `[base_port, base_port + nproc)` must be available. Defaults to 16668. * `stats_port` \- Load balancer stats port. Defaults to 8001. @@ -455,7 +455,7 @@ If you encounter issues with the Thrift RPC servers: ### Cinder-specific issues -**Note**: Cinder JIT is only supported on x86 platforms. It will not work on ARM. +**Note**: Cinder JIT is supported on both x86 and AArch64 platforms. If you encounter issues when running with the Cinder interpreter: diff --git a/packages/django_workload/install_django_workload_aarch64.sh b/packages/django_workload/install_django_workload_aarch64.sh index 69f46921f..4a1570935 100755 --- a/packages/django_workload/install_django_workload_aarch64.sh +++ b/packages/django_workload/install_django_workload_aarch64.sh @@ -184,7 +184,7 @@ echo "JDK installed successfully" # Install Cassandra # Download Cassandra from third-party source if [ "$VERSION_ID" -ge 10 ]; then - cassandra_version=5.0.8 + cassandra_version=5.0.9 else cassandra_version=3.11.19 fi @@ -286,11 +286,10 @@ echo "=====================================================================" echo "Step 5: Building Cinder 3.14" echo "=====================================================================" -# Download and build Cinder -# Using meta/3.14 branch — includes gh-145615 mimalloc page leak fix -CINDER_COMMIT="7627b90844073b94ef60415ed1f1248837bedef7" +# Download and build MetaPython +CINDER_COMMIT="81b5092b60e86d7ce588bc80028f117d0415b230" if ! [ -d "cinder" ]; then - git clone https://github.com/facebookincubator/cinder.git + git clone https://github.com/facebookincubator/MetaPython.git cinder pushd cinder git checkout "${CINDER_COMMIT}" mkdir -p cinder-build @@ -479,7 +478,7 @@ echo "Step 6.5: Installing CinderX for JIT Support" echo "=====================================================================" # Clone and install CinderX for JIT functionality -CINDERX_COMMIT="6e0472215c9917c2b5c9777dd4702b5d84eb3111" +CINDERX_COMMIT="5ffa367bb41a12d452eab9d7017fe324a6a5f090" if ! [ -d "${DJANGO_SERVER_ROOT}/cinderx" ]; then cd "${DJANGO_SERVER_ROOT}" git clone https://github.com/facebookincubator/cinderx.git diff --git a/packages/django_workload/install_django_workload_aarch64_ubuntu22_24.sh b/packages/django_workload/install_django_workload_aarch64_ubuntu22_24.sh index 86f622ace..a364dbd7d 100755 --- a/packages/django_workload/install_django_workload_aarch64_ubuntu22_24.sh +++ b/packages/django_workload/install_django_workload_aarch64_ubuntu22_24.sh @@ -319,11 +319,10 @@ echo "=====================================================================" echo "Step 5: Building Cinder 3.14" echo "=====================================================================" -# Download and build Cinder -# Using meta/3.14 branch at a known good commit for reproducibility -CINDER_COMMIT="04f91c3659d8d2dfe4331a47548316289d2fa3f0" +# Download and build MetaPython +CINDER_COMMIT="81b5092b60e86d7ce588bc80028f117d0415b230" if ! [ -d "cinder" ]; then - git clone https://github.com/facebookincubator/cinder.git + git clone https://github.com/facebookincubator/MetaPython.git cinder pushd cinder git checkout "${CINDER_COMMIT}" mkdir -p cinder-build @@ -514,7 +513,7 @@ echo "Step 6.5: Installing CinderX for JIT Support" echo "=====================================================================" # Clone and install CinderX for JIT functionality -CINDERX_COMMIT="497b2b671a8084345a8288cfbd9995acfab9dfbf" +CINDERX_COMMIT="5ffa367bb41a12d452eab9d7017fe324a6a5f090" if ! [ -d "${DJANGO_SERVER_ROOT}/cinderx" ]; then cd "${DJANGO_SERVER_ROOT}" git clone https://github.com/facebookincubator/cinderx.git diff --git a/packages/django_workload/install_django_workload_x86_64_centos.sh b/packages/django_workload/install_django_workload_x86_64_centos.sh index fa8bfde59..210a923df 100755 --- a/packages/django_workload/install_django_workload_x86_64_centos.sh +++ b/packages/django_workload/install_django_workload_x86_64_centos.sh @@ -194,7 +194,7 @@ echo "JDK installed successfully" # Install Cassandra # Download Cassandra from third-party source if [ "$VERSION_ID" -ge 10 ]; then - cassandra_version=5.0.8 + cassandra_version=5.0.9 else cassandra_version=3.11.19 fi @@ -305,15 +305,14 @@ echo "=====================================================================" echo "Step 5: Building Cinder 3.14" echo "=====================================================================" -# Download and build Cinder -# Using meta/3.14 branch — includes gh-145615 mimalloc page leak fix -CINDER_COMMIT="7627b90844073b94ef60415ed1f1248837bedef7" +# Download and build MetaPython +CINDER_COMMIT="81b5092b60e86d7ce588bc80028f117d0415b230" if ! [ -d "cinder" ]; then dnf reinstall -y zlib-devel || dnf install -y zlib-ng-compat-devel || dnf install -y zlib-devel if [ ! -e /usr/lib64/libz.so ] && [ -e /usr/lib64/libz.so.1 ]; then ln -sf /usr/lib64/libz.so.1 /usr/lib64/libz.so fi - git clone https://github.com/facebookincubator/cinder.git + git clone https://github.com/facebookincubator/MetaPython.git cinder pushd cinder git checkout "${CINDER_COMMIT}" mkdir -p cinder-build @@ -501,7 +500,7 @@ echo "Step 6.5: Installing CinderX for JIT Support" echo "=====================================================================" # Clone and install CinderX for JIT functionality -CINDERX_COMMIT="6e0472215c9917c2b5c9777dd4702b5d84eb3111" +CINDERX_COMMIT="5ffa367bb41a12d452eab9d7017fe324a6a5f090" if ! [ -d "${DJANGO_SERVER_ROOT}/cinderx" ]; then cd "${DJANGO_SERVER_ROOT}" git clone https://github.com/facebookincubator/cinderx.git diff --git a/packages/django_workload/install_django_workload_x86_64_ubuntu22_24.sh b/packages/django_workload/install_django_workload_x86_64_ubuntu22_24.sh index d60b4bd19..e431f7fbb 100755 --- a/packages/django_workload/install_django_workload_x86_64_ubuntu22_24.sh +++ b/packages/django_workload/install_django_workload_x86_64_ubuntu22_24.sh @@ -321,11 +321,10 @@ echo "=====================================================================" echo "Step 5: Building Cinder 3.14" echo "=====================================================================" -# Download and build Cinder -# Using meta/3.14 branch at a known good commit for reproducibility -CINDER_COMMIT="04f91c3659d8d2dfe4331a47548316289d2fa3f0" +# Download and build MetaPython +CINDER_COMMIT="81b5092b60e86d7ce588bc80028f117d0415b230" if ! [ -d "cinder" ]; then - git clone https://github.com/facebookincubator/cinder.git + git clone https://github.com/facebookincubator/MetaPython.git cinder pushd cinder git checkout "${CINDER_COMMIT}" mkdir -p cinder-build @@ -516,7 +515,7 @@ echo "Step 6.5: Installing CinderX for JIT Support" echo "=====================================================================" # Clone and install CinderX for JIT functionality -CINDERX_COMMIT="497b2b671a8084345a8288cfbd9995acfab9dfbf" +CINDERX_COMMIT="5ffa367bb41a12d452eab9d7017fe324a6a5f090" if ! [ -d "${DJANGO_SERVER_ROOT}/cinderx" ]; then cd "${DJANGO_SERVER_ROOT}" git clone https://github.com/facebookincubator/cinderx.git