Skip to content

feat(berlinmod): streaming throughput benchmark on the canonical BerlinMOD corpus (stacks on #14) - #15

Merged
Ar-mie merged 2 commits into
MobilityDB:consolidate/kafka-meos-integrationfrom
estebanzimanyi:consolidate/kafka-benchmark
Jun 19, 2026
Merged

feat(berlinmod): streaming throughput benchmark on the canonical BerlinMOD corpus (stacks on #14)#15
Ar-mie merged 2 commits into
MobilityDB:consolidate/kafka-meos-integrationfrom
estebanzimanyi:consolidate/kafka-benchmark

Conversation

@estebanzimanyi

@estebanzimanyi estebanzimanyi commented Jun 11, 2026

Copy link
Copy Markdown
Member

Path-B consolidation — PR 3 of 3 (scaffold #1 · MEOS integration #14 · benchmark).

Adds the BerlinMOD streaming benchmark harness on top of #14: BerlinMODBenchmark (per-cell TopologyTestDriver throughput) and EmbeddedBrokerBenchmark (steady-state throughput against an in-process EmbeddedKafkaCluster), plus docs/benchmark.md.

Canonical / regularity

  • Both drivers run on the canonical BerlinMOD corpus only (--csv berlinmod_instants.csv); the invented synthetic fallback is removed.
  • Both live in src/test (they use the test-scoped TopologyTestDriver / EmbeddedKafkaCluster) — same placement fix as the scaffold's test.

Dependency

Inherits #14's build-jmeos.sh — JMEOS and libmeos.so are built from source (no committed binaries) and pinned to the deliverable PRs (MobilityDB #1148 on #1162; JMEOS #25), not an ecosystem-pin tag. The former "rebuild the bundled jar/libmeos" pin-bump commits are gone.

Verification

./build-jmeos.sh then mvn test11 tests, 0 failures; the benchmark drivers are main entry points (compiled, not run in CI).

@estebanzimanyi
estebanzimanyi force-pushed the consolidate/kafka-meos-integration branch from c6f2016 to 6305403 Compare June 11, 2026 17:57
@estebanzimanyi
estebanzimanyi force-pushed the consolidate/kafka-benchmark branch 3 times, most recently from dd55558 to dd85dab Compare June 14, 2026 21:10
@estebanzimanyi
estebanzimanyi force-pushed the consolidate/kafka-benchmark branch from f47609b to 9a5b2e9 Compare June 19, 2026 10:40
…MEOS 1.4

Route the BerlinMOD-9 × 3-form processors through MEOS (libmeos via the
JMEOS 1.4 bridge) — edwithin_tgeo_geo, eintersects_tgeo_geo, geog_distance
and the set-set join family — and add the MEOS DSL-tier wirings, the
per-family facade smoke tests and the canonical BerlinMOD corpus loader.

JMEOS and the native libmeos.so are built from source rather than committed
to the repository. build-jmeos.sh clones MobilityDB and JMEOS at the
deliverable PRs' immutable head commit SHAs, builds libmeos.so, builds the
jar and installs it into the local Maven repository, so the pom resolves
JMEOS as an ordinary dependency. It pins MobilityDB #1148 (set-set join,
stacked on #1162 clean/geo) and JMEOS MobilityDB#25 (facade) as overridable env vars;
both are switched to upstream master/main after those PRs are integrated.
@estebanzimanyi
estebanzimanyi force-pushed the consolidate/kafka-benchmark branch from 9a5b2e9 to be69ac8 Compare June 19, 2026 11:42

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file references jar/JMEOS.jar directly but should either use ~/.m2 or reconstruct the classpath via mvn

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed. docs/benchmark.md no longer references jar/JMEOS.jar by path. The run command reconstructs the classpath via mvn dependency:build-classpath — which now resolves JMEOS from the local Maven repo (~/.m2/.../com/mobilitydb/jmeos/1.4.0/jmeos-1.4.0.jar, installed by build-jmeos.sh) — so the -cp is just target/classes:target/test-classes:$CP, and LD_LIBRARY_PATH=lib points at the libmeos.so the script stages. Verified the documented command loads JMEOS and starts the benchmark (no committed jar).

…inMOD corpus

Adds the BerlinMOD streaming benchmark harness: BerlinMODBenchmark
(TopologyTestDriver throughput per Q-form cell) and EmbeddedBrokerBenchmark
(steady-state throughput against an in-process EmbeddedKafkaCluster), plus
docs/benchmark.md.

Both drivers run on the canonical BerlinMOD corpus only (--csv
berlinmod_instants.csv); the invented synthetic fallback is gone. Both live
in src/test since they use the test-scoped TopologyTestDriver /
EmbeddedKafkaCluster.
@estebanzimanyi
estebanzimanyi force-pushed the consolidate/kafka-benchmark branch from be69ac8 to 5ac21a6 Compare June 19, 2026 12:12
@Ar-mie
Ar-mie merged commit 1030f39 into MobilityDB:consolidate/kafka-meos-integration Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants