kubernetes-sigs / kube-scheduler-wasm-extension

All the things to make the scheduler extendable with wasm.
Apache License 2.0
83 stars 16 forks source link

deps: updates wazero to v1.7.0 #105

Closed evacchi closed 1 month ago

evacchi commented 1 month ago

This will update wazero to v1.7.0. The v1.7.0. release marks a milestone in the wazero project, replacing our old compiler architecture with a new optimizing compiler backend.. It also introduces experimental support to the thread spec.

We will officially announce the final v1.7.0 release in just a few days, during Wasm I/O, after which we will undraft this PR and update it to the latest tag.

~Let me know if you'd rather merge this PR before the official release. This draft PR is intended to let your CI checks run and verify everything is in order before our final release.~

What type of PR is this?

/kind feature

Does this PR introduce a user-facing change?

NONE

What are the benchmark results of this change?

the optimizing compiler brings >40% run-time improvement at the cost of slightly slower compile-time; that is a one-time cost you only pay at boot time, and we can setup a persistent file cache if that's an issue

❯ benchstat before-run.txt after-run.txt
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/kube-scheduler-wasm-extension/internal/e2e/scheduler
                                       │ before-run.txt │            after-run.txt            │
                                       │     sec/op     │    sec/op     vs base               │
Example_NodeNumber/Simple/Run-10           166.7µ ± 24%   101.8µ ± 24%  -38.93% (p=0.002 n=6)
Example_NodeNumber/Simple_Log/Run-10       184.9µ ±  9%   116.4µ ±  8%  -37.04% (p=0.002 n=6)
Example_NodeNumber/Advanced/Run-10         78.21µ ±  4%   39.62µ ±  1%  -49.34% (p=0.002 n=6)
Example_NodeNumber/Advanced_Log/Run-10     83.73µ ±  4%   46.14µ ±  1%  -44.89% (p=0.002 n=6)
geomean                                    119.2µ         68.22µ        -42.76%

compile-time:

goos: darwin
goarch: arm64
pkg: sigs.k8s.io/kube-scheduler-wasm-extension/internal/e2e/scheduler
                                       │ before.txt  │              after.txt               │
                                       │   sec/op    │    sec/op     vs base                │
Example_NodeNumber/Simple/New-10         67.39m ± 1%   612.24m ± 1%  +808.45% (p=0.002 n=6)
Example_NodeNumber/Simple_Log/New-10     67.55m ± 1%   604.96m ± 2%  +795.55% (p=0.002 n=6)
Example_NodeNumber/Advanced/New-10       80.16m ± 1%   673.40m ± 1%  +740.05% (p=0.002 n=6)
Example_NodeNumber/Advanced_Log/New-10   80.73m ± 1%   673.02m ± 1%  +733.64% (p=0.002 n=6)
geomean                                  73.67m         640.1m       +768.80%
evacchi commented 1 month ago

The PR has been updated to 1.7.0 final

k8s-ci-robot commented 1 month ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: evacchi, sanposhiho

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/kubernetes-sigs/kube-scheduler-wasm-extension/blob/main/OWNERS)~~ [sanposhiho] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment