Topology Mapping Algorithm

ICS 2011

Formalization of the Problem #

Network is modeled by a weighted graph H=(VH,ωH,RH)H=(V_H, \omega_H, R_H) where VHV_H is set of vertices/nodes ωH(u,v)R\omega_H(u, v) \in \mathbb{R} are the weighted edges with u,vVHu, v \in V_H RH(u,v)R_H(u, v) is the routing function as a probability distribution of on the set of simple paths P(u,v)P(u, v) between vertices uu and vv.

A static application graph is modeled as weighted graph A=(VA,ωA)A=(V_A, \omega_A)

Topology mapping considers mapping σ:VAVH\sigma : V_A \mapsto V_H. σ\sigma assigns each vertex sVAs \in V_A in the application graph a target vertex tVHt \in V_H in the architecture (host) graph.

Cost metrics

  • Dilation is maximum or sum of the pairwise distances of neighbors in AA mapped to HH. Let dH(x,y)d_H(x,y) be shortest distance vertices x,yVHx, y\in V_H, the weighted sum of dilation is defined as

Dilation(σ)=u,vVAdH(σ(u),σ(v))×ω(u,v).\text{Dilation}(\sigma) = \sum_{u,v \in V_A} d_H(\sigma(u), \sigma(v)) \times \omega(u, v).

  • Congestion counts how many communication pairs use a certain link. Let pe(u,v)p_e(u,v) be the probability that any of the routes from uu to vv crosses an edge eVHe \in V_H, congestion of this edge ee is Ce=u,vVApe(u,v)C_e=\sum_{u,v\in V_A} p_e(u,v).

The maximum congestion Cmax=maxeCeC_{max}=\max_{e}C_e often correlates strongly with the execution time of Bulk Synchronous Parallel (BSP) application.


A=(VA,ω)A=(V_A, \omega) Application graph

ω(u,v)\omega(u,v) weight of the edge represents the volume of communication

H=(VH,CH,cH,RH)H=(V_H, C_H, c_H, R_H) Host graph

CH(u)C_H(u) is the number of processes that can be hosted at uu, CH(u)=0C_H(u)=0 for a switch

cH(u,v)c_H(u,v) is the capacity (bandwidth) of link

RH(u,v)R_H(u,v) routing algorithm

Dilation(u,v)=pP(σ(u),σ(v))RH(σ(u),σ(v))(p)×p\text{Dilation}(u,v) = \sum_{p\in P(\sigma(u),\sigma(v))} R_H(\sigma(u), \sigma(v))(p) \times |p|

Dilation(σ)=u,vAω(u,v)×Dilation(u,v)\text{Dilation}(\sigma) = \sum_{u,v \in A} \omega(u,v) \times \text{Dilation}(u,v)

Traffic(e)=u,vAω(u,v)(pRH(σ(u),σ(v))(p))\text{Traffic}(e) = \sum_{u,v \in A} \omega(u,v)(\sum_{p} R_H(\sigma(u), \sigma(v))(p))

Congestion(e)=Traffic(e)/cH(e)\text{Congestion}(e) = \text{Traffic}(e) / c_H(e)

Congestion(σ)=maxeCongestion(e)\text{Congestion}(\sigma) = \max_{e} \text{Congestion}(e)