170 likes | 280 Views
A Solution for the Bandwidth Optimization Problem with 2 Stations. Rahul Bijlani, Louis Deaett and Maksim Orlovich. Definitions. · A single memory access is called a 'Component'. · A 'Job' is a subset of the set of Components. · A 'Station' is a subset of the set of Components. ·
E N D
A Solution for the Bandwidth Optimization Problem with 2 Stations Rahul Bijlani, Louis Deaett and Maksim Orlovich
Definitions • ·A single memory access is called a 'Component'. • ·A 'Job' is a subset of the set of Components. • ·A 'Station' is a subset of the set of Components. • · • oA non-empty set C containing nc Components, • oA set J containing nj Jobs, • oA partition of J into two disjoint subsets J1 and J2, • oAnd a set S containing exactly two Stations, S1 and S2,
Model • Given (J,S,C) as described earlier, one may construct a simple undirected graph, with each vertex representing one of the elements of J, S or C – i.e. with vertices for jobs, stations and components. • In this graph, each edge is constructed to connect a station or a job with a component it contains; for example, given a station {A,B,C}, one introduces edges • {A, {A,B,C}}, {B, {A,B,C}} and {C, {A,B,C}}
Example For example, consider: BFH BGH CDG BCG BCD FGH
Conversion into our Model BCG BGH B C BCD FGH F D G H CDG BFH
The Solution using our Model • Note that without the loss of generality, we may assume that there are no two identical Jobs. • Consider the significance of connectedness in the model: • If a Job is path-connected to a Station or another Job, they share at least one Component in direct or indirect form. • On the other hand, if there is no path between either of the Stations and a Job, then they share absolutely no Components in common.
Jobs that are disconnected from Stations • For starters, we can merge all the ‘disconnected’ Jobs described above with the first Station. • One can quickly search for these using DFS/Mark or BFS/Mark algorithms. • If this leaves S1 and S2 disconnected, we are done.
Jobs that are connected to at least one Station • Now consider the significance of a vertex cut of the graph using only Component Vertices, with S1 and S2 as the Source and the Sink respectively. • The Jobs are distributed to the Stations • Many of the Component vertices that were removed were used by Jobs/Stations on each side of the partition, so removing them in effect means that the Component the represent must be duplicated in both partitions.
Example Component removal – original graph BCG BGH B C BCD FGH F D G H CDG BFH
Example Component removal – after removing B BCG BGH C BCD FGH F D G H CDG BFH
Implication of a Minimal Vertex Cut • Notice that if the removed vertex was not shared among the two sides of the partition, it didn’t really have to be removed. • Hence, one could easily construct a smaller cut by just removing the vertices that need to be duplicated. • But this means that in order to minimize the duplication, one needs to minimize the no. of vertices in the cut.
Reduction of the Bandwidth Optimization Problem Thus, the Bandwidth Optimization Problem is reducible to calculating a minimum vertex cut of the model graph over C, the set of Component vertices, with S1 and S2, the two Stations, as the two distinguished vertices that are to be in the two partitions of the graph.
Example Minimum Vertex Cut BCG BGH C BCD FGH F D H CDG BFH
Station 1: FGH BFH BGH ---------------------- BFGH Station 2: BCD CDG BCG ----------------------- BCDG Example Result
Reduction of Vertex Cut Problem to Edge Cut • Copy over all the vertices • For each edge of the graph, create two directed edges in both directions of infinite capacity. Note that this does not change connectivity. • Convert each of the Component Nodes into an edge of capacity one, connecting the edges incoming into the original vertex into the tails of the node, and those outgoing into the head.
Execution of a Min Edge Cut with S1 as Source and S2 as Sink The cost of the cut will be exactly equal to the number of vertices it corresponds to, since each of the Component Vertex edges has cost 1, so minimizing the number of vertices would minimize the number of vertices cut in the original graph.
A Solution for the Bandwidth Optimization Problem with 2 Stations Rahul Bijlani, Louis Deaett and Maksim Orlovich