Build: #1 did not complete First build for this plan

Stages & jobs

  1. Default Stage

  2. Test

Code commits

Casa6

  • Rui Xue <rx.astro@gmail.com>

    Rui Xue <rx.astro@gmail.com> 4bf5f24bd705f5d4869184c92d846994927cbbe2

    CAS-14759: Fix potential lock contention in SIImageStore::makeImageBeamSet
    This commit addresses a performance bottleneck where `tclean` would stall
    for extended periods (often hours) during the initialization and
    re-fitting phases of large spectral cubes with many MPI ranks.

    Within `makeImageBeamSet()`, a `LatticeLocker` read-lock on the PSF image
    was instantiated and subsequently destroyed on every single combined
    channel and polarization iteration. For a 60,000 channel cube, this resulted
    in 60,000 individual, sequential Lustre metadata transactions (lock requests
    and releases) per process.

    The `LatticeLocker` is now hoisted outside the nested loops, allowing the
    process to obtain a single read-lock that persists for the duration of the
    fitting iterations. This condenses millions of filesystem lock updates
    across an MPI cluster down to exactly one, significantly reducing I/O
    synchronization overhead during `mpicasa` execution.