← Back
Home › Systems › Simulation and scientific computing

ocean-model

ocean circulation model

MOM6, NEMO

SystemTechniques · 9Primitives · 39 ocean-model Batch checkpoint restartdistributed · medium: Large batch jobs (end-of-day, settlement, payroll runs) that checkpoint and restart idempotentlyHalo exchangedistributed · medium: Each rank stores its block plus a border copy of its neighbours' edge cells, refreshed by small messages every step; communication scales with block surface, not volume.›Parallel file system stripingdistributed · medium: Striping files across object storage targets (Lustre, GPFS); collective I/O and metadata serversConservative regriddingnumerics · medium: Remap fields between grids preserving integrals, using overlap areas (first and second order)Data assimilation 4dvarnumerics · medium: Fit model initial state to observations by minimizing a cost over a time window with adjoint gradientsFinite volume methodnumerics · medium: Conservative cell-averaged discretization with numerical fluxes on structured and unstructured meshesFlux limiters upwindingnumerics · medium: Upwind schemes, TVD flux limiters, MUSCL and Riemann solvers for shock-capturing advectionRange partitioningdistributed · low: Cut the sorted key space into contiguous half-open ranges kept in a boundary map; split hot or big ranges, merge small ones, move ranges between nodes.›Spherical gridsnumerics · low: Lat-lon, cubed-sphere and icosahedral grids for global models; pole and area issuesConjugate gradientnumerics · low: Krylov iteration for symmetric positive definite Ax = b using one matrix-vector product and two dot products per step; converges in about √κ iterations.›CUDA and GPU languageslanguages · low: Programming GPUs: thousands of lockstep threads, bound by memory bandwidth; libraries first, Triton for fused kernels, CUDA C++ for peak speed.›Collective communicationml-training · low: The family of group exchanges (broadcast, reduce, all-gather, reduce-scatter, all-to-all) and the latency-plus-bytes cost model that picks ring, tree or direct algorithms by message size and topology.›Reproducible reductionnumerics · low: Order-independent floating-point sums (fixed order, Kahan, binned) for bit-for-bit reproducibilityVerlet / leapfrognumerics · low: Half-kick, drift, half-kick: a second-order, time-reversible, symplectic integrator with one force evaluation per step whose energy error stays bounded for millions of steps.›Idempotency keysfinance · low: Client-chosen unique key per logical operation, stored with a request fingerprint and the final response, so retries replay the first result instead of acting twice.›Write-ahead logstorage · low: Append each change to a checksummed sequential log and fsync it before touching data pages; the basis of crash durability in nearly every database.›Cron schedulingsystems · low: Cron expression parsing and next-fire-time computation, with catch-up and time-zone rulesEager rendezvous protocoldistributed · low: MPI point-to-point: eager sends for small messages, rendezvous handshake for large onesRdmanetworking · low: RDMA verbs over InfiniBand/RoCE: queue pairs, memory registration, one-sided opsZero-copy I/Onetworking · low: Move bytes between files, sockets and NICs by passing page references instead of copying through user space: sendfile, splice, MSG_ZEROCOPY, kTLS.›Leasesdistributed · low: A lock that expires on its own: bounded-time ownership that survives crashes and partitions, given bounded clock drift and fencing tokens on writes.›R-treegeometry · low: A balanced tree of nested bounding boxes that indexes rectangles and points, answering window and nearest-neighbour queries by pruning whole subtrees.›Sparse matrices (CSR)numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.›+ 2 more techniques+ 23 more primitives

Similar systems

Share the most building blocks with this one.