Skip to content

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

Open
estebanzimanyi wants to merge 4 commits into
MobilityDB:consolidate/kafka-meos-integrationfrom
estebanzimanyi:consolidate/kafka-benchmark
Open

feat(berlinmod): streaming throughput benchmark on the canonical BerlinMOD corpus (stacks on #14)#15
estebanzimanyi wants to merge 4 commits into
MobilityDB:consolidate/kafka-meos-integrationfrom
estebanzimanyi:consolidate/kafka-benchmark

Conversation

@estebanzimanyi

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.

Verification

mvn test11 tests, 0 failures (the benchmark drivers are main entry points, compiled but not run in CI).

… surface

Rebuild the bundled JMEOS jar from the regenerated JMEOS surface: the
hand-rolled functions.functions facade is gone, GeneratedFunctions carries the
sret-bound by-value struct returns (the *Split family) and the collation-init
fix, the org.mobilitydb.meos MeosOps* facade is regenerated against it, and the
MeosSetSetJoin helper rides the set-set spatial-join surface.

Verified: kafka-streams-app compiles and its test suite is green (11 tests, 0
failures) against the refreshed 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 09bba60 to 70cacea Compare June 12, 2026 07:38
Rebuild the union JMEOS.jar against pin 14l: functions.GeneratedFunctions from
JMEOS-14l (4466 methods, 2-arg count accessors) + the org.mobilitydb.meos.MeosOps*
streaming facades regenerated from the 14l catalog/signatures. Refresh the bundled
libmeos.so to 14l.

The jar is now PURE bindings (JMEOS + generated facades). MeosSetSetJoin — the NxN
cross-stream set-set join operator (edwithin/adisjoint/tdwithin_tgeoarr_tgeoarr +
spanset_as_hexwkb) — was previously bundled as a source-less .class; it is application
logic the facade codegen deliberately leaves to the caller, so it now lives as tracked
source under org/mobilitydb/meos/ and is compiled from source against the jar.
@estebanzimanyi estebanzimanyi force-pushed the consolidate/kafka-benchmark branch from dd55558 to dd85dab Compare June 14, 2026 21:10
Rebuild the union jar via streaming-codegen/build-union-jar.sh against the JMEOS regen
off pin 15c (4466->4469 methods: + the eintersects_tpcpoint_geo / nad_tpcpoint_geo
pointcloud spatial rels) + the 58 generated MeosOps* facades. Refresh bundled libmeos to 15c.
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.

1 participant