Skip to content

PM paper brainstorm

Phil Miller edited this page Aug 17, 2020 · 10 revisions

Points to be made in a general vt introduction/overview/reference paper

  • Provides asynchronous execution and application-independent dynamic load in a design that emphasizes close integration with and embedding in existing MPI code
    • Includes consolidated tracing, instrumentation, and run-time error-checking across MPI and AMT execution
    • Portability using strictly MPI for communication, not low-level hardware-specific interfaces
  • Offers a consistent C++ API that balances convenience for application developers through modern language facilities, with careful consideration of compatibility with the broad range of compilers used in distributed memory HPC applications (e.g. Intel, Nvidia) (compare LSU HPX)
  • Uses (relatively? check X10, Sterling HPX) novel high-performance implementations of composable distributed termination detection to support convenient over-arching high-level control flow constructs
    • Provides well-defined semantics for system-level distributed operations - asynchronous entity creation & destruction, reductions, broadcasts, LB migration, ...
  • Integrates with and supports ecosystem of performance and correctness analysis tools, such as Projections, Nvidia, (anything from Teuchos or Kokkos?)
  • Instruments application execution including internal sub-structure to support advanced load balancing development (cross-cite WIP LB paper? Include LB work?)
  • Other aspects of phase management
  • Focuses substantial effort on application developer productivity, in addition to advances in the core programming model and API

LB related stuff, maybe not for general vt paper

  • Gossip LB improvements - call it something else; RumorLB? ChatterLB? current design is much more annealing-like than original, with multiple iterations
  • Vector balancing
  • consideration of 'room' for marginal objects
  • load modeling (vt#582)
  • noise filtering
  • profitability