Hierarchical algorithms, approaches and data structures

From HiHAT
Jump to navigation Jump to search

This wiki page is intended to capture discussions around the "hierarchical" part of HiHAT. Initially, there's a focus on understanding usage requirements and surveying possible support.

  • Hierarchical algorithms
  • Requirements and Concerns
    • Overdecomposition can lead to excess overhead
    • The degree of decomposition needed may vary by target architecture, heterogeneity of the node's computing resources, NUMA-ness of the node, and topology of the network
    • Support representations of multi-D arrays, and make the movement of slices very efficient
  • Approaches
    • Choose the degree of decomposition based on the target system and the input data set
    • Enable trade-offs between moving (halo) data and recomputing data
    • Decomposition could be done at successive levels of the hierarchy, where schedulers make choices at each level on whether and how to further decompose work and data
  • Data structures
    • X10
    • OCR