Publication | Closed Access
Language support for dynamic, hierarchical data partitioning
44
Citations
22
References
2013
Year
Unknown Venue
Cluster ComputingEngineeringStructured DataComputer ArchitectureHierarchical DataData CoherenceParallel SoftwareData MiningComputational LinguisticsManagementData PartitioningData IntegrationParallel ComputingData ManagementMassively-parallel ComputingDynamic Data StructureParallelizing CompilerKnowledge DiscoveryComputer EngineeringComputer ScienceHierarchical PartitioningProgram AnalysisPartition (Database)Parallel ProgrammingParallel Programming ModelData-level ParallelismData Modeling
Applications written for distributed-memory parallel architectures must partition their data to enable parallel execution. As memory hierarchies become deeper, it is increasingly necessary that the data partitioning also be hierarchical to match. Current language proposals perform this hierarchical partitioning statically, which excludes many important applications where the appropriate partitioning is itself data dependent and so must be computed dynamically. We describe Legion, a region-based programming system, where each region may be partitioned into subregions. Partitions are computed dynamically and are fully programmable. The division of data need not be disjoint and subregions of a region may overlap, or alias one another. Computations use regions with certain privileges (e.g., expressing that a computation uses a region read-only) and data coherence (e.g., expressing that the computation need only be atomic with respect to other operations on the region), which can be controlled on a per-region (or subregion) basis.
| Year | Citations | |
|---|---|---|
Page 1
Page 1