GoogleCloudPlatform / GoogleCloudPlatform/PerfKitBenchmarker

Add MLC as a benchmark to P3rf

Open
#5,249 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Python
Stars
2k
Forks
562
Avg merge
4h 55m
Merged PRs (30d)
69

Description

1) Add the benchmarking framework
- create mlc_benchmark.py file in linux_benchmarks
- populate BENCHMARK_NAME and BENCHMARK_CONFIG constants so that the benchmark can be found by PKB
- create GetConfig, Prepare, Run and Cleanup functions handlers with pass/return [] as function content.
At this point you can run your new benchmark in PKB (though it will not do anything yet).

2) Install mlc
- instructions for installing and running mlc:
wget https://downloadmirror.intel.com/793041/mlc_v3.11.tgz
tar zxvf mlc_v3.11.tgz
cd Linux
./mlc --bandwidth_matrix
./mlc --latency_matrix -e -r

- try installing and running on a virtual machine
- Create a new package called mlc.py in linux_packages.
- create a new function, Install, that takes a vm as an input and installs interbench on that vm. You should be able to wrap shell commands as vm.RemoteCommand
add unit tests to make sure the remote commands are issued using mock to mock the vm.
- Installing on Ubuntu2404 is top priority, followed by other Linux distributions e.g. Debian, Rhel, Centos etc.

3) Run mlc
- Download and run mlc locally. This part is about parsing the output into some sensible format.
- Add a function in mlc.py that you added to linux_packages with a sensible name, e.g. ParseResults
- Parse results should take a str as input and produce a list of PKB Samples as output. You goal is to parse the output into useful samples, where each sample as a metric name, metric value, metric unit, metric metadata. Each row of mlc's output should be a separate metric.
Test the parser function

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.