Skip to content

chapel: Wave 3 — cross-node gasnet/ofi over real NIC (cluster runner required) #87

Description

@hyperpolymath

Context

PR #85 landed the Wave 1 chapel-ci scaffolding (six strict gates,
detachable-harness ADR, four silent-loss fixes in Imaging.chpl,
`--resume` hard-fail in static mode). Wave 1 chapel-e2e exercises
`mass-panic --numLocales=1` against a synthetic 2-repo corpus.

True multi-locale execution (`-nl 2` and higher) requires Chapel
built with `CHPL_COMM=gasnet` (or `ofi` / `ucx`). The stock
`chapel-2.8.0-1.ubuntu22.amd64.deb` ships with `CHPL_COMM=none`
and rejects `-nl >1` with:

```
error: Only 1 locale may be used for CHPL_COMM layer 'none'
```

Wave 2 scope

  1. CI install path for multilocale Chapel — either:

    • A `chapel-multilocale-2.8.0` .deb if upstream publishes one, or
    • A build step that rebuilds Chapel from source with
      `CHPL_COMM=gasnet` + `CHPL_LAUNCHER=…` flags
      (slow — caches required to keep CI under a few minutes), or
    • Self-hosted runners with multilocale Chapel preinstalled.
  2. `chapel-multilocale` CI job — add to `.github/workflows/chapel-ci.yml`,
    bumping the gate count from 6 to 7. Exercises `-nl 2` against the
    same synthetic 2-repo corpus as `chapel-e2e` so the cross-locale
    code path runs even on a single GH runner (locales oversubscribed).
    Add to the Base ruleset's `required_status_checks` once green
    (ruleset id 14968583).

  3. Non-trivial corpus benchmark — once a multilocale runner is
    available, exercise a ~50-repo cluster scan to verify the queue
    scheduler's resumability claims and produce numbers for the
    "~5–15% slower" assertion in `chapel/README.md` that's currently
    labelled "estimate pending Wave 2 benchmark".

Acceptance

  • `chapel-multilocale` job green on PR + main ≥1 merge cycle
  • Added to Base ruleset required_status_checks (gate count 7)
  • README perf claim either backed by measured numbers or
    revised based on findings

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    cicdCI/CD: workflows, actions, lockfiles, pins, runners, release gatesenhancementNew capability or improvement to existing behaviour

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions