Parallel and Distributed Processing Symposium, International (2009)
May 23, 2009 to May 29, 2009
DaeHo Seo , Intel Corporation, Austin, TX, USA
Mithuna Thottethodi , School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN, USA
Streaming is emerging as an important programming model for multicores. Streaming provides an elegant way to express task decomposition and inter-task communication, while hiding laborious orchestration details such as load balancing, assignment (of stream computation to nodes) and computation/communication scheduling from the programmer. This paper develops a novel communication optimization for streaming applications based on the observation that streaming computations typically involve large, systematic data transfers between known communicating pairs of nodes over extended periods of time. From the above observation, we advocate a family of routing algorithms that expend some over overheads to compute disjoint paths for stream communication. Disjoint-path routing is an attractive design point because (a) the overheads of discovering disjoint paths are amortized over large periods of time and (b) the benefits of disjoint path routing are significant for bandwidth-sensitive streaming applications. We develop one instance of disjoint-path routing called tentacle routing - a backtracking, best-effort technique. On a 4×4 (6×6) system, tentacle routing results in 55% (84%) and 28% (41%) mean throughput improvement for high-network-contention streaming applications, and for all streaming applications, respectively.
DaeHo Seo, Mithuna Thottethodi, "Disjoint-path routing: Efficient communication for streaming applications", Parallel and Distributed Processing Symposium, International, vol. 00, no. , pp. 1-12, 2009, doi:10.1109/IPDPS.2009.5161081