google / fleetbench

Benchmarking suite for Google workloads
Apache License 2.0
116 stars 10 forks source link

generating Message*.proto and access_message*.h file in proto #25

Open mrizrosli opened 2 months ago

mrizrosli commented 2 months ago

Hello,

I am looking into proto benchmark and found that Message.proto and access_message.h files are auto generated. May i know how these 2 files generated? Is there any script that can be used to generate these 2 files automatically?

https://github.com/google/fleetbench/blob/main/fleetbench/proto/Message0.proto https://github.com/google/fleetbench/blob/main/fleetbench/proto/access_message0.h

liyuying0000 commented 2 months ago

Hi, @mrizrosli

Quote from our paper A Profiling-Based Benchmark Suite for Warehouse-Scale Computers.

"Our proto benchmark leverages a data-driven approach that extends the work of Karandikar et al. [11] by extracting real-world proto characteristics such as field count, nesting depth, and field type distributions to guide the proto schema synthesis, ensuring the generated protos closely reflect the structural complexity in fleet. Beyond the schema itself, the benchmark also incorporates the notion of lifecycle paths, which model the sequence of operations typically performed on protos. The frequency of the different operations is based on fleet-wide profiling data."

However, we've decided not to open-source the scripts that generating the files.

Hope it helps.