-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
arm64 failure to run any benchmark #206
Comments
Hello @osingla . In general probably they are not processor architecture agnostic, I assume it depends on a particular implementation (e.g. PHP benchmark shamelessly downloads binaries for amd64). Others may be more restrictive. That being said, the It's a very good point though, it would be great to see what are the differences across CPU architectures. |
@LesnyRumcajs, I was trying to run the benchmarks for arm64 architecture but I am getting the following error:
In the script bench.sh looks line the error is thrown from the following code snippet:
As I can see the images which are getting used are not present for arm64. Could you please share your pointers on how we can build these iamges for arm64. I would be really happy to raise the PR for the same. |
To build images for other platforms than the local one (thus using QEMU) see: https://github.com/moby/buildkit/blob/master/docs/multi-platform.md |
This looks interesting, thanks @fenollp. It'd be interesting to see the performance hit when using QEMU (compared to native). |
Ah BuildKit uses QEMU only when building the image. Running containers is still outside the emulator so no performance diff there. |
@fenollp That's neat, thanks. BuildKit folks don't encourage building binaries through emulation https://github.com/moby/buildkit/blob/master/docs/multi-platform.md#builds-are-very-slow-through-emulation. Fortunately, our simple gRPC servers are probably simple enough that this wouldn't matter much. |
@LesnyRumcajs, I was trying to run the docker file for both architectures (arm64, x86) but I was getting the below error:
I have created this proto/helloworld/helloworld.proto file by using the mkdir command. After creating the proto directory, I was getting below error:
As I was not able to find the proto file in the repo, so I have added the proto file. Is it the right way to add the file. Could you please share your pointers if this is the correct way of adding the proto file? |
@odidev the proto file is located here. In the build script, one of those scenarios is transformed into |
Can these benchmarks run on arm64 system?
Using fedora35 on arm64
5.16.12-200.fc35.aarch64
I always get this kind of error:
==> Running benchmark for go_grpc_bench...
Waiting for server to come up... ready.
Warming up the service for 5s... WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error
done.
Benchmarking now...
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error
done.
Results:
Benchmark finished. Detailed results are located in: results/221103T105314
'/analyze/results_analyze.rb:18:in
block in <main>': undefined method
[]' for nil:NilClass (NoMethodError)from /analyze/results_analyze.rb:15:in
each' from /analyze/results_analyze.rb:15:in
Failed miserably analysing go_grpc.
Analysis fiascoed.
total 12K
drwxr-xr-x 2 root root 4.0K Mar 11 10:53 .
drwxr-xr-x 8 root root 4.0K Mar 11 10:53 ..
-rw-r--r-- 1 root root 0 Mar 11 10:53 go_grpc_bench.report
-rw-r--r-- 1 root root 56 Mar 11 10:53 go_grpc_bench.stats
results/221103T105314/go_grpc_bench.report
results/221103T105314/go_grpc_bench.stats
0.00% 2.758MiB / 512MiB
0.00% 2.758MiB / 512MiB
The text was updated successfully, but these errors were encountered: