Ampere Computing Logo
Contact Sales
Ampere Computing Logo
DSB Social Network - Transition and Tuning Guide
DSB Social Network - Transition and Tuning Guide

IntroductionAcquire and Navigate DeathStar Bench Source CodeUnderstanding Scope of Changes to the Source CodePorting Dependent Binaries: Replacing AMD64 Binaries with ARM64 binariesPorting Bitnami Containers: “mongodb-sharded”Porting Bitnami Containers: “redis-cluster”Porting Bitnami Containers: “mcrouter”Porting DeathStarBench Source CodeGenerating Docker Images from Social Network source codeSetting up Kubernetes Cluster on BareMetal ServersLaunch Social network module on BareMetal ServersRun Workload From Remote Client on ClusterAppendix
DSB Social Network - Transition and Tuning Guide

Porting Dependent Binaries: Replacing AMD64 Binaries with ARM64 binaries

Step 1: Download all the original AMD64 tar.gz packages from Stacksmith repository of Bitnami. URL is in Appendix A

  • MongoDB Shell
  • MongoDB Server
  • MongoDB Exporter
  • Yq
  • Wait-for-port
  • Render-template
  • Gosu
  • Memcached
  • Memcached-Exporter
  • Redis
  • Redis-exporter

Step 2: Download ARM64 binaries that correspond to above AMD64 packages

Please note the package ‘mongoexport’ and the package ‘mongodb-exporter’ are two different utilities. The mongodb-exporter is from ‘percona’ and the other is from ‘mongodb database tools’.

  • Build ARM64 binaries from source for the below packages (Check for exact file name before replacing with amd64 equivalent binary)

Step 3: Build ARM64 binaries from source for the below packages (Check for exact file name before replacing with amd64 equivalent binary)


Step 4:

  • Extract the AMD64 packages that were downloaded in Step 1, and then one by one copy/replace only the amd64 binary with the arm64 binary (downloaded/built in Step 2) keeping the folder structure of above packages intact.
    • For example, the folder structure of MongoDB shell AMD64 package is as below, folder structure of MongoDB shell AMD64 package

  • Inside the bin folder, delete AMD64 binary ‘mongosh’ and copy ARM64 binary ‘mongosh’ in its place. No other folder structure changes or files need to be modified.
  • Once the ARM64 binary is copied, then rename the folder name part of ‘amd64’ with ‘arm64’ and finally compress the folder again into tar.gz format

Step 5: Repeat the above Steps 4 until:

  • All AMD64 packages have been extracted.
  • All corresponding ARM64 binaries copied to ‘bin’ folders and,
  • All folders containing ARM64 binaries are re-named and re-compressed again into tar.gz packages

Step 6:

  • Copy/Move the packages to a static location like S3 bucket in AWS or other repository as per availability. Please check the example image below.
  • Provide appropriate access to the files so that docker can fetch these during build process S3 bucket in AWS.png
Next: Porting Bitnami Containers: “mongodb-sharded”
Previous: Understanding Scope of Changes to the Source Code
Created At : May 3rd 2023, 11:46:11 pm
Last Updated At : July 31st 2023, 4:54:07 pm
Ampere Logo

Ampere Computing LLC

4655 Great America Parkway Suite 601

Santa Clara, CA 95054

image
image
image
image
image
 |  |  | 
© 2024 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site runs on Ampere Processors.