Architectural Implications of Locality
Communication abstraction that makes exploiting it easy
For cache-coherent SAS, e.g.:
- Size and organization of levels of memory hierarchy
- cost-effectiveness: caches are expensive
- caveats: flexibility for different and time-shared workloads
- Replication in main memory useful? If so, how to manage?
- hardware, OS/runtime, program?
- Granularities of allocation, communication, coherence (?)
- small granularities => high overheads, but easier to program
Machine granularity (resource division among processors, memory...)