The ABSL benchmark is broken after updating our image to ubuntu jammy.
This is due to the C++ versioning being incompatible for some types
used in ABSL with the new ubuntu image's copiler. The image uses a very
old image of bazel and a very old commit of bazel. In addition, ABSL has
upgraded to C++14.
Thus, we could:
- Go back to the previous Ubuntu version.
- Hand jam an older gcc version into the newer ubuntu image.
- Just update everything to the latest state of the world.
This CL chooses the last option. This means that we
can't compare our new data from the data from before the test broke.
But the test has been broken for about a month anyway and it will
still give us a trendline going forward.
PiperOrigin-RevId: 684626218
Some users may download models from GCS buckets. An image with gsutil allows us
to benchmark that download with runc and runsc.
PiperOrigin-RevId: 666076709
This is a bit silly but it is quite light on CPU and runs pretty fast.
This ensures that all the prerequisite models are predownloaded into the
image.
Without this, the image fails when running with networking disabled.
PiperOrigin-RevId: 660004352
This adds a per-task cache of seccomp actions to take for syscall numbers
where the filters return an action without depending on anything other than
the syscall number and the architecture code of the seccomp program input.
This avoids evaluating seccomp-bpf programs in the syscall hot path, for
programs that use seccomp *within* gVisor (aka on themselves).
Benchmarks show that this removes about 50ns from the syscall hot path
for a trivial filter like the one in the benchmark.
Real-world filters are much longer, and the benefit is magnified the more
complex the filter is.
```
│ not_cached │ cached │
│ sec/op │ sec/op vs base │
SyscallUnderSeccomp 1.282µ ± 3% 1.230µ ± 1% -4.06% (p=0.002 n=6)
```
PiperOrigin-RevId: 586522068
The pytorch image is huge, about 7-8 GB. This doesn't
need to be downloaded with the other benchmark images. Move
it to a GPU directory to speed up benchmark runs.
PiperOrigin-RevId: 566449296
This is closer to the default nginx settings with respect to concurrency.
Turn off access log, as it is heavy on I/O and would not be used in a
production setup (whether with or without gVisor).
Update nginx to version `1.25.1`.
PiperOrigin-RevId: 551669286
Update pytorch benchmark to reflect a diversity of workloads.
This paper (https://arxiv.org/pdf/2304.14226.pdf) is written by the authors
of the used pytorch benchmarks. It details 1) what each benchmark's domain
is and the type of workload and 2) the profiles of each benchmark (e.g.
how much it taxes the GPU and if it moves data around).
In addition, the above benchmarks all have a significant runtime so that
we get more meaningful results with respect to overall performance WRT
both the GPU usage and the python applications themselves.
PiperOrigin-RevId: 547948747