Replies: 15 comments
From issue #292 — Sequential stopping rule (Ch.5 sections)§5.6.1 Host-level instrumentation & §5.6.3 Cost model implementation
|
From issue #312 — Transient failure tolerance (Ch.5 sections)§5.6.3 Cost model implementation
|
From issue #309Section 5.5 — Orchestration and pairingThe Section 5.4.3 — Apache Sedona on DatabricksIf this section describes the three strategy variants and their node counts, update the |
From issue/PR #296§5.5 — Orchestration and pairing
§5.4.3 — Apache Sedona on Databricks
|
From PR #326§5.4.3 Apache Sedona on Databricks (stub)When this section is written, it should document the regional vCPU quota constraint. The quota was increased from 80 to 200 vCPUs (PR #326), computed as §5.5 Orchestration and pairing (stub)When this section is written, it should cover batch-failure detection. The orchestrator now:
|
From PR #328§5.4.3 Apache Sedona on Databricks (p57, currently empty)When writing this section, document the following cluster configuration choices and why each is necessary:
Also mention the per-iteration hard timeout (3600 s) added to the benchmark monitor as a safety net against runaway Databricks iterations. |
From PR #338Section 5.4.3 — Apache Sedona on DatabricksWhen this section is written, the Spark cluster configuration table (or equivalent listing) should include Why it matters: the broadcast join strategy wraps the 357-polygon municipalities table in This is also relevant context for explaining why the broadcast strategy's driver collection phase is inherently heavier than the partitioned strategy's — the intermediate result set must pass through the driver before the |
From issue #335 / PR #336Section 5.5 — Orchestration and pairingWhen this section is written, it should mention that the orchestrator retries transient Azure CLI failures in Why it matters: after long benchmark runs (~3h), the Azure IMDS token endpoint can return malformed responses ( Section 5.6.5 — What is not measuredRetry delays (up to 30s per attempt) occur at the orchestration level during container creation, not during benchmark timing. The |
From issue #254Section 5.2.1 — Compute platformsWhen writing this section, note that all ACI containers now run at 4 vCPU / 16 GB RAM (previously 3 vCPU / 8 GB). This matches the Databricks worker class ( Section 5.4 — Compute configuration
Section 5.6.3 — Cost model implementationACI per-second pricing constants remain the same ( Section 5.5 — Orchestration and pairingData release version bumped from |
From issue #254 — Hard timeout increased to 450 minutes§5.6.1 Host-level instrumentationThe stopping-rule hard timeout has been raised from 5400 s (90 min) to 27 000 s (450 min). This value ( When documenting the concrete stopping-rule parameters (min iterations, CI target, timed-window floor, hard timeout), use the updated value. |
From PR #343Chapter 5 sections are currently stubs. The following notes describe content that should be written based on the cost model corrections in PR #343. §5.2.1 Compute platformsMention that Databricks is deployed in Sweden Central because Norway East does not offer Databricks workspaces. This cross-region topology is the reason Databricks blob reads incur egress charges that other configurations avoid. §5.4.3 Apache Sedona on DatabricksDriver memory configuration: §5.6.3 Cost model implementationWhen writing this section, describe the following implementation details that realize Equation 4.1:
§5.6.5 What is not measuredDocument the following exclusions:
|
From issue #341Section 5.4.3 — Apache Sedona on Databricks
Section 5.5 — Orchestration and pairing
Section 5.6 — Measurement instrumentation and cost model
|
From PR #347Section 5.4.3 — Apache Sedona on DatabricksWhen writing this section, document the two Spark configuration overrides that prevent Sedona's Catalyst strategies (
These are independent failure modes — either one alone causes the same fallback to a brute-force cross product — so both must be disabled simultaneously. Section 5.2.3 — Determinism and reproducibilityThe AQE disable is also relevant here: without it, the physical join strategy selected by Spark is non-deterministic across runs (AQE decisions depend on runtime statistics), which would make the benchmark measure different algorithms on different iterations. Pinning AQE off ensures every iteration executes the same physical plan. |
From issue #348§5.5 — Orchestration and pairing (p. 59)The orchestrator now supports per-experiment replication limits. Each experiment in If §5.5 describes the orchestration loop, it should note that the loop runs |
From issue #357When writing §5.4.3 (Apache Sedona on Databricks) and §5.5 (Orchestration and pairing), note that the worker-count levels are now 2, 4, 8, 12, 16 (five levels, not four). The 12-node cluster configuration and its batch pairing constraints will need to be documented alongside the existing sizes. The batch constraint on Databricks vCPU sum ≤ 200 may affect how 12-node experiments are paired — each 12-node cluster uses |
Uh oh!
There was an error while loading. Please reload this page.
Purpose
Working notes for Chapter 5: System Architecture and Implementation of the master thesis
"Benchmarking Cloud-Native and Traditional Geospatial Technologies."
Use this thread to draft, discuss, and refine content for the following sections:
Sections covered
Key implementation topics to document
dependency_injectorand container wiringmain.py→benchmark_runner.py→ entrypoints)@monitordecorator and the two stopping-rule paths.envforwarding, deterministic seeding,benchmarks.ymlas experiment manifestHow to use this thread
Post notes, draft paragraphs, open questions, and revision requests as comments.
All reactions