|
Partitioning and Communication
- Need to reduce inherent communication
- This is the part of communication determined by assignment of tasks
- There may be other communication traffic also (more later)
- Goal is to assign tasks such that accessed data are mostly local to a process
- Ideally I do not want any communication
- But in life sometimes you need to talk to people to get some work done!
Domain Decomposition
- Normally applications show a local bias on data usage
- Communication is short-range e.g. nearest neighbor
- Even if it is long-range it falls off with distance
- View the dataset of an application as the domain of the problem e.g., the 2-D grid in equation solver
- If you consider a point in this domain, in most of the applications it turns out that this point depends on points that are close by
- Partitioning can exploit this property by assigning contiguous pieces of data to each process
- Exact shape of decomposed domain depends on the application and load balancing requirements
|