CS 584 Lecture7 Assignment -- Due Now! Paper Review is due next week. JPDC IEEE Concurrency IEEE Transactions on Parallel and Distributed Systems Conference Proceedings (see me)
Review Partition Communication Agglomeration Mapping Place tasks on physical processors
Floorplan Optimization VLSI Design Computation used in many stages Verify Correctness of Circuit Design Circuit Layout Circuit Test Pattern Generation
VLSI Design Stages Generate a set of indivisible cells (rectangular blocks) Use interconnection information for relative placement Place cells with goal of optimizing the total area. Floorplan optimization
Floorplan Optimization Cells have different sizes and can be in a few different configurations.
Floorplan Optimization Relative placements of the cells is represented by two graphs G and H Up-Down Left-Right
Floorplan Optimization Using the G and H graphs we can generate alternative floorplans
Floorplan Optimization Identify the configuration with the lowest area. Explore a search tree representing all configurations Exhaustive search infeasible 20 cells with 6 configurations each 620 ~ 4 x 1015 nodes
Branch and Bound Search Reduces the number of nodes searched. Keep track of the best solution Prune the search by not expanding nodes whose solution is worse than the best known solution.
Floorplan Optimization Place A Place B Place C
Parallelization Branch and Bound search is the computational effort to be parallelized. Irregular computational structure Pruning introduces Search order management Propagation of global knowledge
Partition No obvious domain to decompose. Functional decomposition Each search tree node explored by a different task Wavefront Only tasks on the wavefront can execute concurrently.
Communication All tasks must have best known solution. Trade-off benefits of always having best solution communication costs Can use centralized scheme or hierarchical refinement
Agglomeration A large search space can generate a huge number of tasks. Create a new task for each node of the tree until we reach a certain point
Mapping Task scheduling algorithm Workers request tasks and generate tasks to be worked on by others Find a mapping that works with the agglomeration scheme.
Mapping Strategies Central manager Replication with cyclic mapping Generates coarse grain tasks Replication with cyclic mapping Everybody expands tree Everybody knows their responsibility Hierarchical Each node manages its subtree
PCAM Design Summary Partition problem into small tasks Organize the necessary communication. Agglomerate to decrease communication Map tasks to processors Pay attention to Performance!