Skip to content

[WIP] Add an interface for converting ODOP runs into benchmark records#90

Draft
martymichal wants to merge 7 commits intomainfrom
wip/ondrej/benchmarking-interface
Draft

[WIP] Add an interface for converting ODOP runs into benchmark records#90
martymichal wants to merge 7 commits intomainfrom
wip/ondrej/benchmarking-interface

Conversation

@martymichal
Copy link
Collaborator

Initial work on adding a benchmarking interface for tracking ODOP runs for benchmarking purposes. See commits for more details on the work.

Includes #89

ODOP keeps track of individual runs. The idea is that after the end of a
run the final results can be saved aside, compressed and also annotated
if needed for benchmarking or archival purposes.

A benchmark record should hold the following information:

- the name of the ODOP run
- the used ODOP con fig
- metrics captured during the run using OdopObs
- total execution time
- runtime environment

This adds only the basic class with initial loading logic. The
conversion of ODOP runs into benchmark records will be added in a
follow-up commit.
During a run ODOP collects a number of metrics used not just for
scheduling. They are vital when wanting to benchmark the effect of ODOP
on an application.

Currently OdobObs uses Tinyflux[0] library for storing time-series
metrics. These are stored per-node in a multi-node set-up. For more
convenient post-processing, it seems better to have all the metrics from
all nodes in the same time series. This is merge is done using a heap
queue.

In case the amount of metrics is already quite high, the recommendation
for tinyflux is to split a database into multiple files to keep the
query speeds reasonable[1].

[0] https://github.com/citrusvanilla/tinyflux
[1] https://tinyflux.readthedocs.io/en/latest/tips.html#dealing-with-growing-datasets
@martymichal martymichal added the benchmarking Infra for benchmarking, methodology, benchmarking apps. label Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmarking Infra for benchmarking, methodology, benchmarking apps.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant