Fast optimal load balancing algorithms for 1D partitioning $
|
|
|
- Alberta Mitchell
- 10 years ago
- Views:
Transcription
1 J. Parallel Distrib. Comput. 64 (2004) Fast optimal load balancing algorithms for 1D partitioning $ Ali Pınar a,1 and Cevdet Aykanat b, * a Computational Research Division, Lawrence Berkeley National Laboratory, USA b Department of Computer Engineering, Bilkent University, Ankara 06533, Turkey Received 30 March2000; revised 5 May 2004 Abstract The one-dimensional decomposition of nonuniform workload arrays with optimal load balancing is investigated. The problem has been studied in the literature as the chains-on-chains partitioning problem. Despite the rich literature on exact algorithms, heuristics are still used in parallel computing community with the hope of good decompositions and the myth of exact algorithms being hard to implement and not runtime efficient. We show that exact algorithms yield significant improvements in load balance over heuristics with negligible overhead. Detailed pseudocodes of the proposed algorithms are provided for reproducibility. We start with a literature review and propose improvements and efficient implementation tips for these algorithms. We also introduce novel algorithms that are asymptotically and runtime efficient. Our experiments on sparse matrix and direct volume rendering datasets verify that balance can be significantly improved by using exact algorithms. The proposed exact algorithms are 100 times faster than a single sparse-matrix vector multiplication for 64-way decompositions on the average. We conclude that exact algorithms with proposed efficient implementations can effectively replace heuristics. r 2004 Elsevier Inc. All rights reserved. Keywords: One-dimensional partitioning; Optimal load balancing; Chains-on-chains partitioning; Dynamic programming; Iterative refinement; Parametric search; Parallel sparse matrix vector multiplication; Image-space parallel volume rendering 1. Introduction This article investigates block partitioning of possibly multi-dimensional nonuniform domains over one-dimensional (1D) workload arrays. Communication and synchronization overhead is assumed to be handled implicitly by proper selection of ordering and parallel computation schemes at the beginning so that load balance is the only metric explicitly considered for decomposition. The load balancing problem in the partitioning can be modeled as the chains-on-chains partitioning (CCP) problem withnonnegative task weights and unweighted edges between successive tasks. $ This work is partially supported by The Scientific and Technical ResearchCouncil of Turkey under grant EEEAG-103E028. *Corresponding author. Fax: addresses: [email protected] (A. Pınar), [email protected]. edu.tr (C. Aykanat). 1 Supported by the Director, Office of Science, Division of Mathematical, Information, and Computational Sciences of the US Department of Energy under contract DE-AC03-76SF One Cyclotron Road MS 50F, Berkeley, CA The objective of the CCP problem is to find a sequence of P 1 separators to divide a chain of N tasks with associated computational weights into P consecutive parts so that the bottleneck value, i.e., maximum load among all processors, is minimized. The first polynomial time algorithm for the CCP problem was proposed by Bokhari [4]. Bokhari s OðN 3 PÞ-time algorithm is based on finding a minimum pathon a layered graph. Nicol and O Hallaron [28] reduced the complexity to OðN 2 PÞ by decreasing the number of edges in the layered graph. Algorithm paradigms used in following studies can be classified as dynamic programming (DP), iterative refinement, and parametric search. Anily and Federgruen [1] initiated the DP approach with an OðN 2 PÞ-time algorithm. Hansen and Lih [13] independently proposed an OðN 2 PÞ-time algorithm. Choi and Narahari [6], and Olstad and Manne [30] introduced asymptotically faster OðNPÞ-time, and OððN PÞPÞ-time DP-based algorithms, respectively. The iterative refinement approachstarts witha partition and iteratively tries to improve the solution. The OððN PÞP log PÞ-time /$ - see front matter r 2004 Elsevier Inc. All rights reserved. doi: /j.jpdc
2 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) algorithm proposed by Manne and S^revik [23] falls into this class. The parametric-search approach relies on repeatedly probing for a partition witha bottleneck value no greater than a given value. Complexity of probing is yðnþ; since eachtask has to be examined, but can be reduced to OðP log NÞ through binary search, after an initial yðnþ-time prefix-sum operation on the task chain [18]. Later the complexity was reduced to OðP logðn=pþþ by Han et al. [12]. The parametric-search approach goes back to Iqbal s work [16] describing an e-approximate algorithm which performs OðlogðW tot =eþþ probe calls. Here, W tot denotes the total task weight and e40 denotes the desired accuracy. Iqbal s algorithm exploits the observation that the bottleneck value is in the range ½W tot =P; W tot Š and performs binary searchin this range by making OðlogðW tot =eþþ probes. This work was followed by several exact algorithms involving efficient schemes for searching over bottleneck values by considering only subchain weights. Nicol and O Hallaron [28,29] proposed a search scheme that requires at most 4N probes. Iqbal and Bokhari [17] relaxed the restriction of this algorithm on bounded task weight and communication cost by proposing a condensation algorithm. Iqbal [15] and Nicol [27,29] concurrently proposed an efficient search scheme that finds an optimal partition after only OðP log NÞ probes. Asymptotically more efficient algorithms were proposed by Frederickson [7,8] and Han et al. [12]. Frederickson proposed an OðNÞ-time optimal algorithm. Han et al. proposed a recursive algorithm withcomplexity OðN þ P 1þE Þ for any small E40: These two studies have focused on asymptotic complexity, disregarding practice. Despite these efforts, heuristics are still commonly used in the parallel computing community, and design of efficient heuristics is still an active area of research [24]. The reasons for preferring heuristics are ease of implementation, efficiency, the expectation that heuristics yield good partitions, and the misconception that exact algorithms are not affordable as a preprocessing step for efficient parallelization. By contrast, our work proposes efficient exact CCP algorithms. Implementation details and pseudocodes for proposed algorithms are presented for clarity and reproducibility. We also demonstrate that qualities of the decompositions obtained through heuristics differ substantially from those of optimal ones through experiments on a wide range of real-world problems. For the runtime efficiency of our algorithms, we use an effective heuristic as a preprocessing step to find a good upper bound on the optimal bottleneck value. Then we exploit lower and upper bounds on the optimal bottleneck value to restrict the search space for separator-index values. This separator-index bounding scheme is exploited in a static manner in the DP algorithm, drastically reducing the number of table entries computed and referenced. A dynamic separatorindex bounding scheme is proposed for parametric searchalgorithms, narrowing separator-index ranges after each probe. The upper bound on the optimal bottleneck value is also exploited to find a muchbetter initial partition for the iterative-refinement algorithm proposed by Manne and S^revik [23]. We also propose a different iterative-refinement technique, which is very fast for small-to-medium number of processors. Observations behind this algorithm are further used to incorporate the subchain-weight concept into Iqbal s [16] approximate bisection algorithm to make it an exact algorithm. Two applications are investigated in our experiments: sparse matrix vector multiplication (SpMxV) which is one of the most important kernels in scientific computing and image-space parallel volume rendering which is widely used for scientific visualization. Integer and real valued workload arrays arising in these two applications are their distinctive features. Furthermore, SpMxV, a fine-grain application, demonstrates the feasibility of using optimal load balancing algorithms even in sparsematrix decomposition. Experiments withproposed CCP algorithms on a wide range of sparse test matrices show that 64-way decompositions can be computed 100 times faster than a single SpMxV time, while reducing the load imbalance by a factor of four over the most effective heuristic. Experimental results on volume rendering dataset show that exact algorithms can produce 3.8 times better 64-way decompositions than the most effective heuristic, while being only 11 percent slower on average. The remainder of this article is organized as follows. Table 1 displays the notation used in the paper. Section 2 defines the CCP problem. A survey of existing CCP algorithms is presented in Section 3. Proposed CCP algorithms are discussed in Section 4. Load-balancing applications used in our experiments are described in Section 5 and performance results are discussed in Section Chains-on-chains partitioning (CCP) problem In the CCP problem, a computational problem, decomposed into a chain T ¼ /t 1 ; t 2 ; y; t N S of N task/modules withassociated positive computational weights W¼/w 1 ; w 2 ; y; w N S; is to be mapped onto a chain P¼/P 1 ; P 2 ; y; P P S of P homogeneous processors. It is worth noting that there are no precedence constraints among the tasks in the chain. A subchain of T is defined as a subset of contiguous tasks, and the subchain consisting of tasks /t i ; t iþ1 ; y; t j S is denoted as T i;j : The computational load W i;j of subchain T i;j is W i;j ¼ P j h¼i w h: From the contiguity constraint, a partition P should map contiguous
3 976 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 1 The summary of important abbreviations and symbols Notation N P P P i T t i T ij T p i w i w max w avg W ij W tot W½iŠ P p i L p UB LB B B p i s p SL p SH p subchains to contiguous processors. Hence, a P-way chain-partition P P N of a task chain T with N tasks onto a processor chain P with P processors is described by a sequence P P N ¼ /s 0; s 1 ; s 2 ; y; s P S of P þ 1 separator indices, where s 0 ¼ 0ps 1 p?ps P ¼ N: Here, s p denotes the index of the last task of the pthpart so that P p gets the subchain T sp 1 þ1;s p withload L p ¼ W sp 1 þ1;s p : The cost CðPÞ of a partition P is determined by the maximum processor execution time among all processors, i.e., CðPÞ ¼B ¼ max 1pppP fl p g: This B value of a partition is called its bottleneck value, and the processor/ part defining it is called the bottleneck processor/part. The CCP problem can be defined as finding a mapping P opt that minimizes the bottleneck value B opt ¼ CðP opt Þ: 3. Previous work Explanation number of tasks number of processors processor chain ith processor in the processor chain task chain, i.e., T ¼ /t 1 ; t 2 ; y; t N S ith task in the task chain subchain of tasks starting from t i upto t j ; i.e., T ij ¼ /t i ; t iþ1 ; y; t j S subproblem of p-way partitioning of the first i tasks in the task chain T : computational load of task t i maximum computational load among all tasks average computational load of all tasks total computational load of task subchain T ij total computational load total weight of the first i tasks partition of first i tasks in the task chain onto the first p processors in the processor chain load of the pthprocessor in a partition upperbound on the value of an optimal solution lower bound on the value of an optimal solution ideal bottleneck value, achieved when all processors have equal load. optimal solution value for p-way partitioning of the first i tasks index of the last task assigned to the pthprocessor. lowest position for the pthseparator index in an optimal solution highest position for the pthseparator index in an optimal solution Each CCP algorithm discussed in this section and Section 4 involves an initial prefix-sum operation on the task-weight array W to enhance the efficiency of subsequent subchain-weight computations. The prefixsum operation replaces the ithentry W½iŠ withthe sum of the first i entries ð P i h¼1 w hþ so that computational load W ij of a subchain T i;j can be efficiently determined as W½ jš W½i 1Š in Oð1Þ-time. In our discussions, W is used to refer to the prefix-summed W-array, and the yðnþ cost of this initial prefix-sum operation is considered in the complexity analysis. The presentations focus only on finding the bottleneck value B opt ; because a corresponding optimal mapping can be constructed easily by making a PROBEðB opt Þ call as discussed in Section Heuristics The most commonly used partitioning heuristic is based on recursive bisection ðrbþ: RB achieves P-way partitioning through log P bisection levels, where P is a power of 2. At eachbisection step in a level, the current chain is divided evenly into two subchains. Although optimal division can be easily achieved at every bisection step, the sequence of optimal bisections may lead to poor load balancing. RB can be efficiently implemented in OðN þ P log NÞ time by first performing a prefix-sum operation on the workload array W; withcomplexity OðNÞ; and then making P 1 binary searches in the prefix-summed W-array, eachwithcomplexity Oðlog NÞ: Miguet and Pierson [24] proposed two other heuristics. The first heuristic ðh1þ computes the separator values suchthat s p is the largest index such that W 1;sp ppb ; where B ¼ W tot =P is the ideal bottleneck value, and W tot ¼ P N i¼1 w i denotes sum of all task weights. The second heuristic ðh2þ further refines the separator indices by incrementing each s p value found in H1 ifðw 1;spþ1 pb Þoð pb W 1;sp Þ: These two heuristics can also be implemented in OðN þ P log NÞ time by performing P 1 binary searches in the prefixsummed W-array. Miguet and Pierson [24] have already proved the upper bounds on the bottleneck values of the partitions found by H1 and H2 as B H1 ; B H2 ob þ w max ; where w max ¼ max 1pppN fw i g denotes the maximum task weight. The following lemma establishes a similar bound for the RB heuristic. Lemma 3.1. Let P RB ¼ /s 0 ; s 1 ; y; s P S be an RB solution to a CCP problem ðw; N; PÞ: Then B RB ¼ CðP RB Þ satisfies B RB pb þ w max ðp 1Þ=P: Proof. Consider the first bisection step. There exists a pivot index 1pi 1 pn suchthat bothsides weighless than W tot =2 without the i 1 thtask, and more than W tot =2 withit. That is, W 1;i1 1; W i1 þ1;npw tot =2pW 1;i1 ; W i1 ;N: The worst case for RB occurs when w i1 ¼ w max and W 1;i1 1 ¼ W i1 þ1;n ¼ðW tot w max Þ=2: Without loss of generality, assume that t i1 is assigned to the left part so that s P=2 ¼ i 1 and W 1;sP=2 ¼ W tot =2 þ w max =2: In a similar worst-case bisection of T 1;sP=2 ; there exists an
4 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) index i 2 suchthat w i2 ¼ w max and W 1;i2 1 ¼ W i2 þ1;s P=2 ¼ ðw tot w max Þ=4; and t i2 is assigned to the left part so that s P=4 ¼ i 2 and W 1;sP=4 ¼ðW tot w max Þ=4 þ w max ¼ W tot =4 þð3=4þw max : For a sequence of log P suchworstcase bisection steps on the left parts, processor P 1 will be the bottleneck processor with load B RB ¼ W 1;s1 ¼ W tot =P þ w max ðp 1Þ=P: & 3.2. Dynamic programming The overlapping subproblem space can be defined as T p i ; for p ¼ 1; 2; y; P and i ¼ p; p þ 1; y; N P þ p; where T p i denotes a p-way CCP of prefix task-subchain T 1;i ¼ /t 1 ; t 2 ; y; t i S onto prefix processor-subchain P 1;p ¼ /P 1 ; P 2 ; y; P p S: Notice that index i is restricted to ppipn P þ p range because there is no merit in leaving a processor empty. From this subproblem space definition, the optimal substructure property of the CCP problem can be shown by considering an optimal mapping P p i ¼ /s 0 ; s 1 ; y; s p ¼ is witha bottleneck value B p i for the CCP subproblem T p i : If the last processor is not the bottleneck processor in P p i ; then P p 1 s p 1 ¼ /s 0 ; s 1 ; y; s p 1 S should be an optimal mapping for the subproblem T p 1 s p 1 : Hence, recursive definition for the bottleneck value of an optimal mapping is B p i ¼ min fmaxfb p 1 j ; W jþ1;i gg: ð1þ p 1pjoi In (1), searching for index j corresponds to searching for separator s p 1 so that the remaining subchain T jþ1;i is assigned to the last processor P p in an optimal mapping P p i of T p i : The bottleneck value BP N of an optimal mapping can be computed using (1) in a bottom-up fashion starting from B 1 i ¼ W 1;i for i ¼ 1; 2; y; N: An initial prefix-sum on the workload array W enables constant-time computation of subchain weight of the form W jþ1;i through W jþ1;i ¼W½iŠ W½jŠ: Computing B p i using (1) takes OðN pþ time for each i and p; and thus the algorithm takes OððN PÞ 2 PÞ time since the number of distinct subproblems is equal to ðn P þ 1ÞP: Choi and Narahari [6], and Olstad and Manne [30] reduced the complexity of this scheme to OðNPÞ and OððN PÞPÞ; respectively, by exploiting the following observations that hold for positive task weights. For a fixed p in (1), the minimum index value j p i defining B p i cannot occur at a value less than the minimum index value j p i 1 defining Bp i 1 ; i.e., jp i 1 pjp i pði 1Þ: Hence, the searchfor the optimal j p i can start from j p i 1 : In (1), Bp 1 j for a fixed p is a nondecreasing function of j; and W jþ1;i for a fixed i is a decreasing function of j; reducing to 0 at j ¼ i: Thus, two cases occur in a semi-closed interval ½ j p i 1 ; iþ for j: If W jþ1;i4b p 1 j initially, then these two functions intersect in ½ j p i 1 ; iþ: In this case, the search for j p i continues until W j þ1;ipb p 1 j and then only j and j 1 are considered for setting j p i with j p i ¼ j if B p 1 j pw j;i and j p i ¼ j 1 otherwise. Note that this scheme automatically detects j p i ¼ i 1 if W jþ1;i and B p 1 j intersect in the open interval ði 1; iþ: However if, W jþ1;i pb p 1 j initially, then B p 1 j lies above W jþ1;i in the closed interval ½ j p i 1 ; iš: In this case, the minimum value occurs at the first value of j; i.e., j p i ¼ j p i 1 : These improvements lead to an OððN PÞPÞ-time algorithm since computation of all B p i values for a fixed p makes OðN PÞ references to already computed B p 1 j values. Fig. 1 displays a run-time efficient implementation of this OððN PÞPÞ-time DP algorithm which avoids the explicit min max operation required in (1). In Fig. 1, B p i values are stored in a table whose entries are computed in row-major order Iterative refinement The algorithm proposed by Manne and S^revik [23], referred to here as the MS algorithm, finds a sequence of nonoptimal partitions such that there is only one way each partition can be improved. For this purpose, they introduce the leftist partition (LP). Consider a partition P suchthat P p is the leftmost processor containing at least two tasks. P is defined as an LP if increasing the load of any processor P c that lies to the right of P p by augmenting the last task of P c 1 to P c makes P c a bottleneck processor witha load XCðPÞ: Let P be an LP withbottleneck processor P b and bottleneck value B: If P b contains only one task, then P is optimal. On the other hand, assume that P b contains at least two tasks. The refinement step, which is shown by the inner while loop in Fig. 2, tries to find a new LP of lower cost by successively removing the first task of P p and augmenting it to P p 1 for p ¼ b; b 1; y; until L p ob: Refinement fails when the while loop proceeds until p ¼ 1with L p XB: Manne and S^revik proved that a successful refinement of an LP gives a new LP and the LP is optimal if the refinement fails. They proposed using an initial LP in which the P 1 leftmost processors each Fig. 1. OððN PÞPÞ-time dynamic-programming algorithm proposed by Choi and Narahari [6], and Olstad and Manne [30].
5 978 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) has only one task and the last processor contains the remaining tasks. The MS algorithm moves each separator index at most N P times so that the total number of separator-index moves is OðPðN PÞÞ: A max-heap is maintained for the processor loads to find a bottleneck processor at the beginning of each repeatloop iteration. The cost of each separator-index move is Oðlog P) since it necessitates one decrease-key and one increase-key operations. Thus the complexity of the MS algorithm is OðPðN PÞ log PÞ: 3.4. Parametric search The parametric-search approach relies on repeated probing for a partition P witha bottleneck value no Fig. 2. Iterative refinement algorithm proposed by Manne and S^revik [23]. greater than a given B value. Probe algorithms exploit the greedy-choice property for existence and construction of P: The greedy choice here is to minimize remaining work after loading processor P p subject to L p pb for p ¼ 1; y; P 1 in order. PROBEðBÞ functions given in Fig. 3 exploit this greedy property as follows. PROBE finds the largest index s 1 so that W 1;s1 pb; and assigns subchain T 1;s1 to processor P 1 withload L 1 ¼ W 1;s1 : Hence, the first task in the second processor is t s1 þ1: PROBE then similarly finds the largest index s 2 so that W s1 þ1;s 2 pb; and assigns the subchain T s1 þ1;s 2 to processor P 2 : This process continues until either all tasks are assigned or all processors are exhausted. The former and latter cases indicate feasibility and infeasibility of B; respectively. Fig. 3(a) illustrates the standard probe algorithm. The indices s 1 ; s 2 ; y; s P 1 are efficiently found through binary search(binsrch) on the prefix-summed W- array. In this figure, BINSRCHðW; i; N; BsumÞ searches W in the index range ½i; NŠ to compute the index ipjpn suchthat W½jŠpBsum and W½j þ 1Š4Bsum: The complexity of the standard probe algorithm is OðP log NÞ: Han et al. [12] proposed an OðP log N=PÞtime probe algorithm (see Fig. 3(b)) exploiting P repeated binary searches on the same W array with increasing search values. Their algorithm divides the chain into P subchains of equal length. At eachprobe, a linear searchis performed on the weights of the last tasks of these P subchains to find out in which subchain the search value could be, and then binary search is performed on the respective subchain of length N=P: Note that since the probe searchvalues always increase, linear searchcan be performed incrementally, that is, search continues from the last subchain that was searched to the right with OðPÞ total cost. This gives a total cost of OðP logðn=pþþ for P binary searches thus for the probe function. Fig. 3. (a) Standard probe algorithm with OðP log NÞ complexity, (b) OðP logðn=pþþ-time probe algorithm proposed by Han et al. [12].
6 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Bisection as an approximation algorithm Let f ðbþ be the binary-valued function where f ðbþ ¼ 1ifPROBEðBÞ is true and f ðbþ ¼0ifPROBEðBÞ is false. Clearly, f ðbþ is nondecreasing in B; and B opt lies between LB ¼ B ¼ W tot =P and UB ¼ W tot : These observations are exploited in the bisection algorithm leading to an efficient e-approximate algorithm, where e is the desired precision. The interval ½W tot =P; W tot Š is conceptually discretized into ðw tot W tot =PÞ=e bottleneck values, and binary searchis used in this range to find the minimum feasible bottleneck value B opt : The bisection algorithm, as illustrated in Fig. 4, performs OðlogðW tot =eþþ PROBE calls, and each PROBE call costs OðP logðn=pþþ: Hence, the bisection algorithm runs in OðN þ P logðn=pþ logðw tot =eþþ time, where OðNÞ cost comes from the initial prefix-sum operation on W: The performance of this algorithm deteriorates when logðw tot =eþ is comparable with N: Nicol s algorithm Nicol s algorithm [27] exploits the fact that any candidate B value is equal to weight W i;j of a subchain. A naive solution is to generate all subchain weights of the form W i;j ; sort them, and then use binary search to find the minimum W a;b value for which PROBEðW a;b Þ¼ TRUE: Nicol s algorithm efficiently searches for the earliest range W a;b for which B opt ¼ W a;b by considering eachprocessor in order as a candidate bottleneck processor in an optimal mapping. Let P opt be the optimal mapping constructed by greedy PROBEðB opt Þ; and let processor P b be the first bottleneck processor withload B opt in P opt ¼ /s 0 ; s 1 ; y; s b ; y; s P S: Under these assumptions, this greedy construction of P opt ensures that each processor P p preceding P b is loaded as muchas possible withl p ob opt ; for p ¼ 1; 2; y; b 1 in P opt : Here, PROBEðL p Þ¼FALSE since L p ob opt ; and PROBEðL p þ W sp þ1þ ¼TRUE since adding one more task to processor P p increases its load to L p þ w sp þ14b opt : Hence, if b ¼ 1 then s 1 is equal to the smallest index i 1 suchthat PROBEðW 1;i1 Þ¼TRUE; and B opt ¼ B 1 ¼ W 1;s1 : However, if b41; then because of the greedy choice property P 1 should be loaded as much as possible without exceeding B opt ¼ B b ob 1 ; which implies that s 1 ¼ i 1 1; and hence L 1 ¼ W 1;i1 1: If b ¼ 2; then s 2 is equal to the smallest index i 2 suchthat PROBEðW i1 ;i 2 Þ¼TRUE; and B opt ¼ B 2 ¼ W i1 ;i 2 : If b42; then s 2 ¼ i 2 1: We iterate for b ¼ 1; 2; y; P 1; computing i b as the smallest index for which PROBEðW ib 1 ;i b Þ¼TRUE and save B b ¼ W ib 1 ;i b with i P ¼ N: Finally, the optimal bottleneck value is selected as B opt ¼ min 1pbpP B b : Fig. 5 illustrates Nicol s algorithm. As seen in this figure, given i b 1 ; i b is found by performing a binary search over all subchain weights of the form W ib 1 ;j; for i b 1 pjpn; in the bthiteration of the for loop. Hence, Nicol s algorithm performs Oðlog NÞ PROBE calls to find i b at iteration b; and each probe call costs OðP logðn=pþþ: Thus, the cost of computing an individual B b value is OðP log N logðn=pþþ: Since P 1 such B b values are computed, the overall complexity of Nicol s algorithm is OðN þ P 2 log N logðn=pþþ; where OðNÞ cost comes from the initial prefix-sum operation on W: Two possible implementations of Nicol s algorithm are presented in Fig. 5. Fig. 5(a) illustrates a straightforward implementation, whereas Fig. 5(b) illustrates a careful implementation, which maintains and uses the information from previous probes to answer without calling the PROBE function. As seen in Fig. 5(b), this information is efficiently maintained as an undetermined bottleneck-value range ðlb; UBÞ; which is dynamically refined after eachprobe. Any bottleneck value encountered outside the current range is immediately accepted or rejected. Although this simple scheme does not improve the asymptotic complexity of the algorithm, it drastically reduces the number of probes, as discussed in Section Proposed CCP algorithms In this section, we present proposed methods. First, we describe how to bound the separator indices for an optimal solution to reduce the search space. Then, we show how this technique can be used to improve the performance of the dynamic programming algorithm. We continue withour discussion on improving the MS algorithm, and propose a novel refinement algorithm, which we call the bidding algorithm. Finally, we discuss parametric searchmethods, proposing improvements for the bisection and Nicol s algorithms Restricting the search space Fig. 4. Bisection as an e-approximation algorithm. Our proposed CCP algorithms exploit lower and upper bounds on the optimal bottleneck value to restrict
7 980 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Fig. 5. Nicol s [27] algorithm: (a) straightforward implementation, (b) careful implementation with dynamic bottleneck-value bounding. the search space for separator values as a preprocessing step. Natural lower and upper bounds for the optimal bottleneck value B opt of a given CCP problem instance ðw; N; PÞ are LB ¼ maxfb ; w max g and UB ¼ B þ w max ; respectively, where B ¼ W tot =P: Since w max ob in coarse grain parallelization of most realworld applications, our presentation will be for w max ob ¼ LB even though all results are valid when B is replaced withmaxfb ; w max g: The following lemma describes how to use these natural bounds on B opt to restrict the search space for the separator values. Lemma 4.1. For a given CCP problem instance ðw; N; PÞ; if B f is a feasible bottleneck value in the range ½B ; B þ w max Š; then there exists a partition P ¼ /s 0 ; s 1 ; y; s P S of cost CðPÞpB f with SL p ps p psh p ; for 1ppoP; where SL p and SH p are, respectively, the smallest and largest indices such that W 1;SLp XpðB w max ðp pþ=pþ and W 1;SHp ppðb þ w max ðp pþ=pþ: Proof. Let B f ¼ B þ w; where 0pwow max : Partition P can be constructed by PROBEðBÞ; which loads the first p processors as muchas possible subject to L q pb f ; for q ¼ 1; 2; y; p: In the worst case, w sp þ1 ¼ w max for each of the first p processors. Thus, we have W 1;sp Xf ðwþ ¼ pðb þ w w max Þ for p ¼ 1; 2; y; P 1: However, it should be possible to divide the remaining subchain T sp þ1;n into P p parts without exceeding B f ; i.e., W spþ1 ;NpðP pþðb þ wþ: Thus, we also have W 1;sp XgðwÞ ¼W tot ðp pþðb þ wþ: Note that f ðwþ is an increasing function of w; whereas gðwþ is a decreasing function of w: The minimum of maxf f ðwþ; gðwþg is at the intersection of f ðwþ and gðwþ so that W 1;sp XpðB w max ðp pþ=pþ: To prove the upper bounds, we can start with W 1;sp pf ðwþ ¼pðB þ wþ; which holds when L q ¼ B þ w for q ¼ 1; y; p: The condition W sp þ1;nxðp pþðb þ w w max Þ; however, ensures feasibility of B f ¼ B þ w; since PROBEðBÞ can always load eachof the remaining ðp pþ processors with B þ w w max : Thus, we also have W 1;sp pgðwþ ¼W tot ðp pþðb þ w w max Þ: Here, f ðwþ is an increasing function of w; whereas gðwþ is a decreasing function of w; which yields W 1;sp ppðb þ w max ðp pþ=pþ: & P Corollary 4.2. The separator range weights are DW p ¼ SHp i¼sl p w i ¼ W 1;SHp W 1;SLp ¼ 2w max pðp pþ=p with a maximum value Pw max =2 at p ¼ P=2: Applying this corollary requires finding w max ; which entails an overhead equivalent to that of the prefix-sum operation, and hence should be avoided. In this work, we adopt a practical scheme to construct the bounds on separator indices. We run the RB heuristic to find a
8 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) hopefully good bottleneck value B RB ; and use B RB as an upper bound for bottleneck values, i.e., UB ¼ B RB : Then we run LR-PROBEðB RB Þ and RL-PROBEðB RB Þ to construct two mappings P 1 ¼ /h 1 0 ; h1 1 ; y; h1 P S and P 2 ¼ /c 2 0 ; c2 1 ; y; c2 P S with CðP1 Þ; CðP 2 ÞpB RB : Here, LR-PROBE denotes the left-to-right probe given in Fig. 3, whereas RL-PROBE denotes a right-to-left probe function, which can be considered as the dual of the LR-PROBE: RL-PROBE exploits the greedy-choice property from right to left. That is, RL-PROBE assigns subchains from the right end towards the left end of the task chain to processors in the order P P ; P P 1 ; y; P 1 : From these two mappings, lower and upper bound values for s p separator indices are constructed as SL p ¼ c 2 p and SH p ¼ h 1 p ; respectively. These bounds are further refined by running LR-PROBEðB Þ and RL-PROBEðB Þ to construct two mappings P 3 ¼ /c 3 0 ; c3 1 ; y; c3 P S and P4 ¼ /h 4 0 ; h4 1 ; y; h4 PS; and then defining SL p ¼ maxfsl p ; c 3 p g and SH p ¼ minfsh p ; h 4 p g for 1ppoP: Lemmas 4.3 and 4.4 prove correctness of these bounds. Lemma 4.3. For a given CCP problem instance ðw; N; PÞ and a feasible bottleneck value B f ; let P 1 ¼ /h 1 0 ; h1 1 ; y; h1 P S and P2 ¼ /c 2 0 ; c2 1 ; y; c2 PS be the partitions constructed by LR-PROBEðB f Þ and RL-PROBEðB f Þ; respectively. Then any partition P ¼ /s 0 ; s 1 ; y; s P S of cost CðPÞ¼BpB f satisfies c 2 p ps pph 1 p : Proof. By the property of LR-PROBEðB f Þ; h 1 p is the largest index suchthat T 1;h 1 p can be partitioned into p parts without exceeding B f : If s p 4h 1 p ; then the bottleneck value will exceed B f and thus B: By the property of RL-PROBEðB f Þ; c 2 p is the smallest index where T c 2 p can be partitioned into P p parts without exceeding ;N B f : If s p oc 2 p ; then the bottleneck value will exceed B f and thus B: & Lemma 4.4. For a given CCP problem instance ðw; N; PÞ; let P 3 ¼ /c 3 0 ; c3 1 ; y; c3 P S and P4 ¼ /h 4 0 ; h4 1 ; y; h4 PS be the partitions constructed by LR-PROBEðB Þ and RL-PROBEðB Þ; respectively. Then for any feasible bottleneck value B f ; there exists a partition P ¼ /s 0 ; s 1 ; y; s P S of cost CðPÞpB f that satisfies c 3 p ps pph 4 p : Proof. Consider the partition P ¼ /s 0 ; s 1 ; y; s P S constructed by LR-PROBEðB f Þ: It is clear that this partition already satisfies the lower bounds, i.e., s p Xc 3 p : Assume s p4h 4 p ; then partition P0 obtained by moving s p back to h 4 p also yields a partition withcost CðP 0 ÞpB f ; since T h 4 p þ1;n can be partitioned into P p parts without exceeding B : & The difference between Lemmas 4.3 and 4.4 is that the former ensures the existence of all partitions with costpb f within the given separator-index ranges, whereas the latter ensures only the existence of at least one such partition within the given ranges. The following corollary combines the results of these two lemmas. Corollary 4.5. For a given CCP problem instance ðw; N; PÞ and a feasible bottleneck value B f ; let P 1 ¼ /h 1 0 ; h1 1 ; y; h1 P S; P2 ¼ /c 2 0 ; c2 1 ; y; c2 P S; P3 ¼ /c 3 0 ; c3 1 ; y; c3 P S; and P4 ¼ /h 4 0 ; h4 1 ; y; h4 PS be the partitions constructed by LR-PROBEðB f Þ; RL-PROBEðB f Þ; LR-PROBEðB Þ; and RL-PROBEðB Þ; respectively. Then for any feasible bottleneck value B in the range ½B ; B f Š; there exists a partition P ¼ /s 0 ; s 1 ; y; s P S of cost CðPÞpB with SL p ps p psh p ; for 1ppoP; where SL p ¼ maxfc 2 p ; c3 p g and SH p ¼ minfh 1 p ; h4 p g: Corollary 4.6. The separator range weights become DW p ¼ 2 minf p; ðp pþgw max in the worst case, with a maximum value Pw max at p ¼ P=2: Lemma 4.1 and Corollary 4.5 infer the following theorem since B pb opt pb þ w max : Theorem 4.7. For a given CCP problem instance ðw; N; PÞ; and SL p and SH p index bounds constructed according to Lemma 4.1 or Corollary 4.5, there exists an optimal partition P opt ¼ /s 0 ; s 1 ; y; s P S with SL p p s p psh p ; for 1ppoP: Comparison of separator range weights in Lemma 4.1 and Corollary 4.5 shows that separator range weights produced by the practical scheme described in Corollary 4.5 may be worse than those of Lemma 4.1 by a factor of two. This is only the worst-case behavior however, and the practical scheme normally finds much better bounds, since order in the chain usually prevents the worst-case behavior and B RB ob þ w max : Experimental results in Section 6 justify this expectation Complexity analysis models Corollaries 4.2 and 4.6 give bounds on the weights of the separator-index ranges. However, we need bounds on the sizes of these separator-index ranges for computational complexity analysis of the proposed CCP algorithms. Here, the size DS p ¼ SH p SL p þ 1 denotes the number of tasks within the pthrange ½SL p ; SH p Š: Miguet and Pierson [24] propose the model w i ¼ yðw avg Þ for i ¼ 1; 2; y; N to prove that their H1 and H2 heuristics allocate yðn=pþ tasks to each processor, where w avg ¼ W tot =N is the average task weight. This assumption means that the weight of each task is not too far away from the average task weight. Using Corollaries 4.2 and 4.5, this model induces DS p ¼ OðPw max =w avg Þ: Moreover, this model can be exploited to induce the optimistic bound DS p ¼ OðPÞ: However,
9 982 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) we find their model too restrictive, since the minimum and maximum task weights can deviate substantially from w avg : Here, we establisha looser and more realistic model on task weights so that for any subchain T i;j withweight W i;j sufficiently larger than w max ; the average task weight within subchain T i;j satisfies Oðw avg Þ: That is, D i;j ¼ j i þ 1 ¼ OðW i;j =w avg Þ: This model, referred to here as model M; directly induces DS p ¼ OðPw max =w avg Þ; since DW p pdw P=2 ¼ Pw max =2 for p ¼ 1; 2; y; P 1: 4.2. Dynamic-programming algorithm with static separator-index bounding The proposed DP algorithm, referred to here as the DP+ algorithm, exploits bounds on the separator indices for an efficient solution. Fig. 6 illustrates the proposed DP+ algorithm, where input parameters SL and SH denote the index bound arrays, each of size P; computed according to Corollary 4.5 with B f ¼ B RB : Note that SL P ¼ SH P ¼ N; since only B½P; NŠ needs to be computed in the last row. As seen in Fig. 6, only B p j values for j ¼ SL p ; SL p þ 1; y; SH p are computed at eachrow p by exploiting Corollary 4.5, which ensures existence of an optimal partition P opt ¼ /s 0 ; s 1 ; y; s P S with SL p ps p psh p : Thus, these B p j values will suffice for correct computation of B pþ1 i values for i ¼ SL pþ1 ; SL pþ1 þ 1; y; SH pþ1 at the next row p þ 1: As seen in Fig. 6, explicit range checking is avoided in this algorithm for utmost efficiency. However, the j- index may proceed beyond SH p to SH p þ 1 within the repeat until-loop while computing B pþ1 i with SL pþ1 pipsh pþ1 in two cases. In bothcases, functions W jþ1;i and B p j intersect in the open interval ðsh p ; SH p þ 1Þ so that B p SH p ow SHp þ1;i and B p SH p þ1 XW SH p þ2;i: In the first case, i ¼ SH p þ 1 so that W jþ1;i and B p j intersect in ði 1; iþ; which implies that B pþ1 i ¼ W i 1;i ; with j pþ1 i ¼ SL p ; since W i 1;i ob p i ; as mentioned in Section 3.2. In the second case, i4sh p þ 1; for which Corollary 4.5 guarantees that B pþ1 i ¼ W SLp þ1;ipb p SH p þ1 ; and thus we can safely select j pþ1 i ¼ SL p : Note that W SLp þ1;i ¼ B p SH p þ1 may correspond to a case leading to another optimal partition with j pþ1 i ¼ s pþ1 ¼ SH p þ 1: As seen in Fig. 6, bothcases are efficiently resolved simply by storing N to B p SH p þ1 as a sentinel. Hence, in suchcases, the condition W SHp þ1;iob p SH p þ1 ¼ N in the if then statement following the repeat until-loop is always true so that the j-index automatically moves back to SH p : The scheme of computing B p SH p þ1 for eachrow p; which seems to be a natural solution, does not work since correct computation of B pþ1 SH pþ1 þ1 may necessitate more than one B p j value beyond the SH p index bound. A nice feature of the DP approach is that it can be used to generate all optimal partitions by maintaining a P N matrix to store the minimum j p i index values defining the B p i values at the expense of increased execution time and increased asymptotic space requirement. Recall that index bounds SL and SH computed according to Corollary 4.5 restrict the search space for at least one optimal solution. The index bounds can be computed according to Lemma 4.4 for this purpose, since the search space restricted by Lemma 4.4 includes all optimal solutions. The running time of the proposed DP+ algorithm is OðN þ P log NÞþ P P p¼1 yðds pþ: Here, OðNÞ cost comes from the initial prefix-sum operation on the W array, and OðP log NÞ cost comes from the running time of the RB heuristic and computing the separator-index bounds SL and SH according to Corollary 4.5. Under model M; DS p ¼ OðPw max =w avg Þ; and hence the complexity is OðN þ P log N þ P 2 w max = w avg Þ: The algorithm becomes linear in N when the separator-index ranges do not overlap, which is guaranteed by the condition w max ¼ Oð2W tot =P 2 Þ: 4.3. Iterative refinement algorithms In this work, we improve the MS algorithm and propose a novel CCP algorithm, namely the bidding algorithm, which is run-time efficient for small-tomedium number of processors. The main difference between the MS and the bidding algorithms is as follows: the MS algorithm moves along a series of feasible bottleneck values, whereas the bidding algorithm moves along a sequence of infeasible bottleneck values so that the first feasible bottleneck value becomes the optimal value. Fig. 6. Dynamic-programming algorithm with static separator-index bounding Improving the MS algorithm The performance of the MS algorithm strongly depends on the initial partition. The initial partition proposed by Manne and S^revik [23] satisfies the leftist
10 partition constraint, but it leads to very poor run-time performance. Here, we propose using the partition generated by PROBEðB Þ as an initial partition. This partition is also a leftist partition, since moving any separator to the left will not decrease the load of the bottleneck processor. This simple observation leads to significant improvement in run-time performance of the algorithm. Also, using a heap as a priority queue does not give better run-time performance than using a running maximum despite its superior asymptotic complexity. In our implementation, we use a running maximum. A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Bidding algorithm This algorithm increases the bottleneck value gradually, starting from the ideal bottleneck value B ; until it finds a feasible partition, which is also optimal. Consider a partition P t ¼ /s 0 ; s 1 ; y; s P S constructed by PROBEðB t Þ for an infeasible B t : After detecting the infeasibility of this B t value, the point is to determine the next larger bottleneck value B to be investigated. Clearly, the separator indices of the partitions to be constructed by future PROBEðBÞ calls with B4B t will never be to the left of the respective separator indices of P t : Moreover, at least one of the separators should move right for feasibility, since the load of the last processor determines infeasibility of the current B t value (i.e., L P 4B t ). To avoid missing the smallest feasible bottleneck value, the next larger B value is selected as the minimum of processor loads that will be obtained by moving the end-index of every processor to the right by one position. That is, the next larger B value is equal to minfmin 1ppoP fl p þ w sp þ1g; L P g: Here, we call the L p þ w sp þ1 value the bid of processor P p ; which refers to the load of P p if the first task t sp þ1 of the next processor is augmented to P p : The bid of the last processor P P is equal to the load of the remaining tasks. If the smallest bid B comes from processor P b ; probing withnew B is performed only for the remaining processors /P b ; P bþ1 ; y; P P S in the suffix W sb 1 þ1:n of the W array. The bidding algorithm is presented in Fig. 7. Th e innermost while loop implements a linear probing scheme, such that the new positions of the separators are determined by moving them to the right, one by one. This linear probing scheme is selected because new positions of separators are likely to be in a close neighborhood of previous ones. Note that binary search is used only for setting the separator indices for the first time. After the separator index s p is set for processor P p during linear probing, the repeat until-loop terminates if it is not possible to partition the remaining subchain T sp þ1;n into P p processors without exceeding the current B value, i.e., rbid ¼ L r =ðp pþ4b; where L r denotes the weight of the remaining subchain. In this case, the next larger B value is determined by considering the best bid among the first p processors and rbid. Fig. 7. Bidding algorithm. As seen in Fig. 7, we maintain a prefix-minimum array BIDS for computing the next larger B value. Here, BIDS is an array of records of length P; where BIDS½ pš:b and BIDS½ pš:b store the best bid value of the first p processors and the index of the defining processor, respectively. BIDS½0Š helps the correctness of the running prefix-minimum operation. The complexity of the bidding algorithm for integer task weights under model M is OðN þ P log N þ Pw max þ P 2 ðw max =w avg ÞÞ: Here, OðNÞ cost comes from the initial prefix-sum operation on the W array, and OðP log NÞ cost comes from initial settings of separators through binary search. The B value is increased at most B opt B ow max times, and eachtime the next B value can be computed in OðPÞ time, which induces the cost OðPw max Þ: The total area scanned by the separators is at most OðP 2 ðw max =w avg ÞÞ: For noninteger task weights, complexity can reach OðP log N þ P 3 ðw max =w avg ÞÞ in the worst case, which occurs when only one separator index moves to the right by one position at each B value. We should note here that using a min-heap for finding the next B value enables terminating a repeat-loop iteration as soon as a separator-index does not move. The trade-off in this scheme is the Oðlog PÞ cost incurred at eachseparator-index move due to respective key-update operations on the heap. We implemented this scheme as well, but observed increased execution times.
11 984 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Parametric search algorithms In this work, we apply theoretical findings given in Section 4.1 for an improved probe algorithm. The improved algorithm, which we call the restricted probe (RPROBE), exploits bounds computed according to Corollary 4.5 (with B f ¼ B RB ) to restrict the search space for s p separator values during binary searches on the W array. That is, BINSRCHðW; SL p ; SH p ; BsumÞ in RPROBE searches W in the index range ½SL p ; SH p Š to find the index SL p ps p psh p suchthat W½s p ŠpBsum and W½s p þ 1Š4Bsum via binary search. This scheme and Corollaries 4.2 and 4.6 reduce the complexity of an individual probe to P P p¼1 yðlog D pþ¼oðp log P þ P logðw max =w avg ÞÞ: Note that this complexity reduces to OðP log PÞ for sufficiently large P where P ¼ Oðw max = w avg Þ: Figs illustrate RPROBE algorithms tailored for the respective parametric-search algorithms Approximate bisection algorithm with dynamic separator-index bounding The proposed bisection algorithm, illustrated in Fig. 8, searches the space of bottleneck values in range ½B ; B RB Š as opposed to ½B ; W tot Š: In this algorithm, if PROBEðB t Þ¼TRUE; then the search space is restricted to BpB t values, and if PROBEðB t Þ¼FALSE; then the search space is restricted to B4B t values. In this work, we exploit this simple observation to propose and develop a dynamic probing scheme that increases the efficiency of successive PROBE calls by modifying separator index-bounds depending on success and failure of the probes. Let P t ¼ /t 0 ; t 1 ; y; t P S be the partition constructed by PROBEðB t Þ: Any future PROBEðBÞ call with BpB t will set the s p indices with s p pt p : Thus, the search space for s p can be restricted to those indices pt p : Similarly, any future PROBEðBÞ call with BXB t will set s p indices Xt p : Thus, the search space for s p can be restricted to those indices Xt p : As illustrated in Fig. 8, dynamic update of separatorindex bounds can be performed in yðpþ time by a for loop over SL or SH arrays, depending on failure or success, respectively, of RPROBE ðb t Þ: In our implementation, however, this update is efficiently achieved in Oð1Þ time through the pointer assignment SL P or SH P depending on failure or success of RPROBE ðb t Þ: Fig. 8. Bisection as an e-approximation algorithm with dynamic separator-index bounding. Fig. 9. Exact bisection algorithm with dynamic separator-index bounding.
12 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Fig. 10. Nicol s algorithm with dynamic separator-index bounding. Similar to the e-bisect algorithm, the proposed e-bisect+ algorithm is also an e-approximation algorithm for general workload arrays. However, both the e-bisect and e-bisect+ algorithms become exact algorithms for integer-valued workload arrays by setting e ¼ 1: As shown in Lemma 3.1, B RB ob þ w max : Hence, for integer-valued workload arrays the maximum number of probe calls in the e-bisect+ algorithm is log w max ; and thus the overall complexity is OðN þ P log N þ logðw max ÞðP log P þ P logðw max = w avg ÞÞÞ under model M: Here, OðNÞ cost comes from the initial prefix-sum operation on W and OðP log NÞ cost comes from the running time of the RB heuristic and computing the separator-index bounds SL and SH according to Corollary Bisection as an exact algorithm In this section, we will enhance the bisection algorithm to be an exact algorithm for general workload arrays by clever updating of lower and upper bounds after eachprobe. The idea is, after eachprobe moving upper and lower bounds on the value of an optimal solution to a realizable bottleneck value (total weight of a subchain of W). This reduces the search space to a finite set of realizable bottleneck values, as opposed to an infinite space of bottleneck values defined by a range ½LB; UBŠ: Eachbisection step is designed to eliminate at least one candidate value, and thus the algorithm terminates in finite number of steps to find the optimal bottleneck value. After a probe RPROBE ðb t Þ; the current upper bound value UB is modified if RPROBE ðb t Þ succeeds. Note that RPROBE ðb t Þ not only determines the feasibility of B t ; but also constructs a partition P with costðp t ÞpB t : Instead of reducing the upper bound UB to B t ; we can further reduce UB to the bottleneck value B ¼ costðp t ÞpB t of the partition P t constructed by RPROBE ðb t ). Similarly, the current lower bound LB is modified when RPROBE ðb t Þ fails. In this case, instead of increasing the bound LB to B t ; we can exploit the partition P t constructed by RPROBE ðb t Þ to increase LB further to the smallest realizable bottleneck value B greater than B t : Our bidding algorithm already describes how to compute B ¼ min min 1ppoP fl p þ w sp þ1g; L P ; where L p denotes the load of processor P p in P t : Fig. 9 presents the pseudocode of our algorithm. Eachbisection step divides the set of candidate realizable bottleneck values into two sets, and eliminates one of them. The initial set can have a size between 1 and N 2 : Assuming the size of the eliminated set can be anything between 1 and N 2 ; the expected complexity of
13 986 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) the algorithm is TðNÞ ¼ 1 N 2 X N2 i¼1 TðiÞþOðP log P þ P logðw max =w avg ÞÞ; which has the solution OðP log P log N þ P log N logðw max =w avg ÞÞ: Here, OðP log P þ P logðw max = w avg ÞÞ is the cost of a probe operation, and log N is the expected number of probes. Thus, the overall complexity becomes OðN þ P log P log N þ P log N logðw max = w avg ÞÞ; where the OðNÞ cost comes from the initial prefix-sum operation on the W array Improving Nicol s algorithm as a divide-andconquer algorithm Theoretical findings of previous sections can be exploited at different levels to improve performance of Nicol s algorithm. A trivial improvement is to use the proposed restricted probe function instead of the conventional one. The careful implementation scheme given in Fig. 5(b) enables use of dynamic separatorindex bounding. Here, we exploit the bisection idea to design an efficient divide-and-conquer approachbased on Nicol s algorithm. Consider the sequence of probes of the form PROBEðW 1;j Þ performed by Nicol s algorithm for processor P 1 to find the smallest index j ¼ i 1 suchthat PROBEðW 1;j Þ¼TRUE: Starting from a naive bottleneck-value range ðlb 0 ¼ 0; UB 0 ¼ W tot Þ; success and failure of these probes can narrow this range to ðlb 1 ; UB 1 Þ: That is, each PROBEðW 1;j Þ¼TRUE decreases the upper bound to W 1;j and each PROBEðW 1;j Þ¼FALSE increases the lower bound to W 1;j : Clearly, we will have ðlb 1 ¼ W 1;i1 1; UB 1 ¼ W 1;i1 Þ at the end of this search for processor P 1 : Now consider the sequence of probes of the form PROBEðW i1 ;jþ performed for processor P 2 to find the smallest index j ¼ i 2 suchthat PROBEðW i1 ;jþ ¼TRUE: Our key observation is that the partition P t ¼ /0; t 1 ; t 2 ; y; t P 1 ; NS to be constructed by any PROBEðB t Þ with LB 1 ob t ¼ W i1 ;joub 1 will satisfy t 1 ¼ i 1 1; since W 1;i1 1oB t ow 1;i1 : Hence, probes with LB 1 ob t oub 1 for processor P 2 can be restricted to be performed in W i1 :N; where W i1 :N denotes the ðn i 1 þ 1Þthsuffix of the prefix-summed W array. This simple yet effective scheme leads to an efficient divide-and-conquer algorithm as follows. Let T P p i denote the CCP subproblem of ðp pþ-way partitioning of the ðn i þ 1Þthsuffix T i;n ¼ /t i ; t iþ1 ; y; t N S of the task chain T onto the ðp pþthsuffix P p;p ¼ /P pþ1 ; P pþ2 ; y; P P S of the processor chain P: Once the index i 1 for processor P 1 is computed, the optimal bottleneck value B opt can be defined by either W 1;i1 or the bottleneck value of an optimal ðp 1Þ-way partitioning of the suffix subchain T i1 ;N: That is, B opt ¼ minfb 1 ¼ W 1;i1 ; CðP P 1 i 1 Þg: Proceeding in this way, once the indices /i 1 ; i 2 ; y; i p S for the first p processors /P 1 ; P 2 ; y; P p S are determined, then B opt ¼ minfmin 1pbpp fb b ¼ W ib 1 ;i b g; CðP P p i p Þg: This approach is presented in Fig. 10. At th e bth iteration of the outer for loop, given i b 1 ; i b is found in the inner while loop by conducting probes on W ib 1 :N to compute B b ¼ W ib 1 ; i b : The dynamic bounds on the separator indices are exploited in two distinct ways according to Theorem 4.7. First, the restricted probe function RPROBE is used for probing. Second, the search spaces for the bottleneck values of the processors are restricted. That is, given i b 1 ; the binary search for i b over all subchain weights of the form W ib 1 þ1;j for i b 1 ojpn is restricted to W ib 1 þ1;j values for SL b pjpsh b : Under model M; the complexity of this algorithm is OðN þ P log N þ w max ðp log P þ P logðw max =w avg ÞÞÞ for integer task weights, because the number of probes cannot exceed w max ; since there are at most w max distinct bound values in the range ½B ; B RB Š: For noninteger task weights, the complexity can be given as OðN þp log N þw max ðp log PÞ 2 þ w max P 2 log P logðw max = w avg ÞÞ; since the algorithm makes Oðw max P log PÞ probes. Here, OðNÞ cost comes from the initial prefix-sum operation on W; and OðP log NÞ cost comes from the running time of the RB heuristic and computing the separator-index bounds SL and SH according to Corollary Load balancing applications 5.1. Parallel sparse matrix vector multiplication Sparse matrix vector multiplication (SpMxV) is one of the most important kernels in scientific computing. Parallelization of repeated SpMxV computations requires partitioning and distribution of the matrix. Two possible 1D sparse-matrix partitioning schemes are rowwise striping (RS) and columnwise striping (CS). Consider parallelization of SpMxV operations of the form y ¼ Ax in an iterative solver, where A is an N N sparse matrix and y and x are N-vectors. In RS, processor P p owns the pthrow stripe A r p of A and is responsible for computing y p ¼ A r p x; where y p is the pth stripe of vector y: In CS, processor P p owns the pth column stripe A c p of A and is responsible for computing y p ¼ A c p x; where y ¼ P P p¼1 yp : All vectors used in the solver are divided conformably withrow (column) partitioning in the RS (CS) scheme, to avoid unnecessary communication during linear vector operations. RS and CS schemes require communication before or after local SpMxV computations, thus they can also be considered as pre- and post-communication schemes, respectively. In RS, eachtask t i AT corresponds to the
14 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) atomic task of computing the inner-product of row i of matrix A withcolumn vector x: In CS, eachtask t i AT corresponds to the atomic task of computing the sparse DAXPY operation y ¼ y þ x i a i ; where a i is the ith column of A: Eachnonzero entry in a row and column of A incurs a multiply-and-add operation, thus the computational load w i of task t i is the number of nonzero entries in row i (column i) in the RS (CS) scheme. This defines how load balancing problem for rowwise and columnwise partitioning of a sparse matrix witha given ordering can be modeled as a CCP problem. In RS (CS), by allowing only row (column) reordering, load balancing problem can be described as the number partitioning problem, which is NP-Hard [9]. By allowing bothrow and column reordering, the problem of minimizing communication overhead while maintaining load balance can be described as graphand hypergraph partitioning problems [5,14], which are NP-Hard [10,21] as well. However, possibly high preprocessing overhead involved in these models may not be justified in some applications. If the partitioner is to be used as part of a run-time library for a parallelizing compiler for a data-parallel programming language [33,34], row and column reordering lead to high memory requirement due to the irregular mapping table and extra level of indirection in locating distributed data during eachmultiply-and-add operation [35]. Furthermore, in some applications, the natural row and column ordering of the sparse matrix may already be likely to induce small communication overhead (e.g., banded matrices). The proposed CCP algorithms are surprisingly fast so that the initial prefix-sum operation dominates their execution times in sparse-matrix partitioning. In this work, we exploit the standard compressed row storage (CRS) and compressed column storage (CCS) data structures for sparse matrices to avoid the prefix-sum operation. In CRS, an array DATA of length NZ stores nonzeros of matrix A; in row-major order, where NZ ¼ W tot denotes the total number of nonzeros in A: An index array COL of length NZ stores the column indices of respective nonzeros in array DATA: Another index array ROW of length N þ 1 stores the starting indices of respective rows in the other two arrays. Hence, any subchain weight W i;j can be efficiently computed using W i;j ¼ ROW½ j þ 1Š ROW½iŠ in Oð1Þ time without any preprocessing overhead. CCS is similar to CRS with rows and columns interchanged, thus W i;j is computed using W i;j ¼ COL ½ j þ 1Š COL½iŠ: A better load balancing model for iterative solvers The load balancing problem for parallel iterative solvers has usually been stated considering only the SpMxV computations. However, linear vector operations (i.e., DAXPY and inner-product computations) involved in iterative solvers may have a considerable effect on parallel performance withincreasing sparsity of the coefficient matrix. Here, we consider incorporating vector operations into the load-balancing model as muchas possible. For the sake of discussion, we will investigate this problem for a coarse-grain formulation [2,3,32] of the conjugate-gradient (CG) algorithm. Each iteration of CG involves, in order of computational dependency, one SpMxV, two inner-products, and three DAXPY computations. DAXPY computations do not involve communication, whereas inner-product computations necessitate a post global reduction operation [19] on results of the two local inner-products. In rowwise striping, pre-communication operations needed for SpMxV and the global reduction operation constitute pre- and post-synchronization points, respectively, for the aggregate of one local SpMxV and two local innerproduct computations. In columnwise striping, the global reduction operation in the current iteration and post-communication operations needed for SpMxV in the next iteration constitute the pre- and post-synchronization points, respectively, for an aggregate of three local DAXPY and one local SpMxV computations. Thus, columnwise striping may be favored for a wider coverage of load balancing. Eachvector entry incurs a multiply-and-add operation during eachlinear vector operation. Hence, DAXPY computations can easily be incorporated into the load-balancing model for the CS scheme by adding a cost of three to the computational weight w i of atomic task t i representing column i of matrix A: The initial prefix-sum operation can still be avoided by computing a subchain weight W i;j as W i;j ¼ COL½ j þ 1Š COL½iŠþ3ð j i þ 1Þ in constant time. Note that two local inner-product computations still remain uncovered in this balancing model Sort-first parallel direct volume rendering Direct volume rendering (DVR) methods are widely used in rendering unstructured volumetric grids for visualization and interpretation of computer simulations performed for investigating physical phenomena in various fields of science and engineering. A DVR application contains two interacting domains: object space and image space. Object space is a 3D domain containing the volume data to be visualized. Image space (screen) is a 2D domain containing pixels from which rays are shot into the 3D object domain to determine the color values of the respective pixels. Based on these domains, there are basically two approaches for data parallel DVR: image- and object-space parallelism, which are also called as sort-first and sort-last parallelism according to the taxonomy based on the point of data redistribution in the rendering pipeline [25]. Pixels or pixel blocks constitute the atomic tasks in sort-first
15 988 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) parallelism, whereas volume elements (primitives) constitute the atomic tasks in sort-last parallelism. In sort-first parallel DVR, screen space is decomposed into regions and eachregion is assigned to a separate processor for local rendering. The primitives, whose projection areas intersect more than one region, are replicated. Sort-first parallelism has an advantage of processors generating complete images for their local screen subregion, but it faces load-balancing problems in the DVR of unstructured grids due to uneven onscreen primitive distribution. Image-space decomposition schemes for sort-first parallel DVR can be classified as static and adaptive [20]. Static decomposition is a view-independent scheme, and the load-balancing problem is solved implicitly by scattered assignment of pixels or pixel blocks. Loadbalancing performance of this scheme depends on the assumption that neighbor pixels are likely to have equal workload since they are likely to have similar views of the volume. As the scattered assignment scheme assigns adjacent pixels or pixel blocks to different processors, it disturbs image-space coherency and increases the amount of primitive replication. Adaptive decomposition is a view-dependent scheme, and the load-balancing problem is solved explicitly by using the primitive distribution on the screen. In adaptive image-space decomposition, the number of primitives withbounding-box approximation is taken to be the workload of a screen region. Primitives constituting the volume are tallied to a 2D coarse mesh superimposed on the screen. Some primitives may intersect multiple cells. The inverse-area heuristic [26] is used to decrease the amount of error due to counting suchprimitives multiple times. Eachprimitive increments the weight of each cell it intersects by a value inversely proportional to the number of cells the primitive intersects. In this heuristic, if we assume that there are no shared primitives among screen regions, then the sum of the weights of individual mesh cells forming a region gives the number of primitives in that region. Shared primitives may still cause some errors, but sucherrors are muchless than counting such primitives multiple times while adding mesh-cell weights. Minimizing the perimeter of the resulting regions in the decomposition is expected to minimize the communication overhead due to the shared primitives. 1D decomposition, i.e., horizontal or vertical striping of the screen, suffers from unscalability. A Hilbert space-filling curve [31] is widely used for 2D decomposition of 2D nonuniform workloads. In this scheme [20], th e 2D coarse meshsuperimposed on the screen is traversed according to the Hilbert curve to map the 2D coarse meshto a 1D chain of meshcells. The load-balancing problem in this decomposition scheme then reduces to the CCP problem. Using a Hilbert curve as the spacefilling curve is an implicit effort towards reducing the total perimeter, since the Hilbert curve avoids jumps during the traversal of the 2D coarse mesh. Note that the 1D workload array used for partitioning is a realvalued array because of the inverse-area heuristic used for computing weights of the coarse-mesh cells. 6. Experimental results All algorithms were implemented in the C programming language. All experiments were carried out on a workstation equipped witha 133 MHz PowerPC and 64 MB of memory. We have experimented with P ¼ 16-, 32-, 64-, 128-, and 256-way partitioning of eachtest data. Table 2 presents the test problems we have used in our experiments. In this table, w avg ; w min ; and w max columns display the average, minimum, and maximum task weights. The dataset for the sparse-matrix decomposition comes from matrices of linear programming test problems from the Netlib suite [11] and the IOWA Optimization Center [22]. The sparsity patterns of these matrices are obtained by multiplying the respective rectangular constraint matrices withtheir transposes. Note that the number of tasks in the sparse-matrix (SpM) dataset also refers to the number of rows and columns of the respective matrix. The dataset for imagespace decomposition comes from sort-first parallel DVR of curvilinear grids blunt-fin and post representing the results of computational fluid dynamic simulations, which are commonly used in volume rendering. The raw grids consist of hexahedral elements and are converted into an unstructured tetrahedral data format by dividing each hexahedron into five tetrahedrons. Triangular faces of tetrahedrons constitute the primitives mentioned in Section 5.2. Three distinct 1D workload arrays are constructed bothfor blunt-fin and post as described in Section 5.2 for coarse meshes of resolutions ; ; and superimposed on a screen of resolution : The properties of these six workload arrays are displayed in Table 2. The number of tasks is much less than coarse-mesh resolution because of the zero-weight tasks, which can be compressed to retain only nonzeroweight tasks. The following abbreviations are used for the CCP algorithms: H1 and H2 refer to Miguet and Pierson s [24] heuristics, and RB refers to the recursive-bisection heuristic, all described in Section 3.1. DP refers to the OððN PÞPÞ-time dynamic-programming algorithm in Fig. 1. MS refers to Manne and S^revik s iterativerefinement algorithm in Fig. 2. ebs refers to the e-approximate bisection algorithm in Fig. 4. NC- and NC refer to the straightforward and careful implementations of Nicol s parametric-searchalgorithm in
16 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 2 Properties of the test set Sparse-matrix dataset Direct volume rendering (DVR) dataset Name No. of tasks N Workload: No. of nonzeros ex. time Name No. of tasks N Workload Total W tot Per row/col (task) SpMxV Total Per task w avg w min w max (ms) W tot w avg w min w max NL blunt K cre-d blunt K CQ blunt K ken post K mod post K world post K Figs. 5(a) and (b), respectively. Abbreviations ending with + are used to represent our improved versions of these algorithms. That is, DP+, ebsþ; NC+ refer to our algorithms given in Figs. 6, 8, and 10, respectively, and MS+ refers to the algorithm described in Section BID refers to our bidding algorithm given in Fig. 7. EBS refers to our exact bisection algorithm given in Fig. 9. Both ebs and ebsþ algorithms are effectively used as exact algorithms for the SpM dataset with e ¼ 1 for integer-valued workload arrays in the SpM dataset. However, these two algorithms were not tested on the DVR dataset, since they remain approximation algorithms due to the real-valued task weights in DVR. Table 3 compares load-balancing quality of heuristics and exact algorithms. In this table, percent loadimbalance values are computed as 100 ðb B Þ=B ; where B denotes the bottleneck value of the respective partition and B ¼ W tot =P denotes ideal bottleneck value. OPT values refer to load-imbalance values of optimal partitions produced by exact algorithms. Table 3 clearly shows that considerably better partitions are obtained in bothdatasets by using exact algorithms instead of heuristics. The quality gap between exact algorithms and heuristics increases with increasing P: The only exceptions to these observations are 256- way partitioning of blunt256 and post256, for which the RB heuristic finds optimal solutions. Table 4 compares the performances of the static separator-index bounding schemes discussed in Section 4.1. The values displayed in this table are the sums of the sizes of the separator-index ranges normalized withrespect to N; i.e., P P 1 p¼1 DS p=n; where DS p ¼ SH p SL p þ 1: For eachccp instance, ðn PÞP represents the size of the search space for the separator indices and the total number of table entries referenced and computed by the DP algorithm. The columns labeled L1; L3; and C5 display total range sizes obtained according to Lemma 4.1, Lemma 4.3 and Corollary 4.5, respectively. As seen in Table 4, proposed practical scheme C5 achieves substantially better separator-index bounds than L1; despite its inferior worst-case behavior (see Corollaries 4.2 and 4.6). Comparison of columns L3 and C5 shows the substantial benefit of performing leftto-right and right-to-left probes with B according to Lemma 4.4. Comparison of ðn PÞP and the C5 column reveals the effectiveness of the proposed separator-index bounding scheme in restricting the searchspace for separator indices in bothspm and DVR datasets. As expected, the performance of index bounding decreases withincreasing P because of decreasing N=P values. The numbers for the DVR dataset are better than those for the SpM dataset because of the larger N=P values. In Table 4, values less than 1 indicate that the index bounding scheme achieves nonoverlapping index ranges. As seen in the table, scheme C5 reduces the total separator-index range sizes below N for eachccp instance withpp64 in boththe SpM and DVR datasets. These results show that the proposed DP+ algorithm becomes a linear-time algorithm in practice. The efficiency of the parametric-search algorithms depends on two factors: the number of probes and the cost of eachprobe. The dynamic index bounding schemes proposed for parametric-search algorithms reduce the cost of an individual probe. Table 5 illustrates how the proposed parametric-search algorithms reduce the number of probes. To compare performances of EBS and ebsþ on the DVR dataset, we forced the ebsþ algorithm to find optimal partitions by running it with e ¼ w min and then improving the resulting partition using the BID algorithm. Column ebs þ &BID refers to this scheme, and values after + denote the number of additional bottleneck values tested by the BID algorithm. As seen in Table 5, exactly one final bottleneck-value test was needed by BID to reach an optimal partition in eachccp instance. In Table 5, comparison of the NC- and NC columns shows that dynamic bottleneck-value bounding drastically decreases the number of probes in Nicol s algorithm. Comparison of the ebs and ebsþ columns in the SpM dataset shows that using B RB instead of W tot
17 990 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 3 Percent load imbalance values Sparse-matrix dataset DVR dataset CCP instance Heuristics OPT CCP instance Heuristics OPT Name P H1 H2 RB Name P H1 H2 RB NL blunt cre-d blunt CQ blunt ken post mod post world post Averages over P for the upper bound on the bottleneck values considerably reduces the number of probes. Comparison of the ebsþ and EBS columns reveals two different behaviors on SpM and DVR datasets. The discretized dynamic bottleneck-value bounding used in EBS produces only minor improvement on the SpM dataset because of the already discrete nature of integer-valued workload arrays. However, the effect of discretized dynamic bottleneck-value bounding is significant on the realvalued workload arrays of the DVR dataset. Tables 6 and 7 display the execution times of CCP algorithms on the SpM and DVR datasets, respectively. In Table 6, the execution times are given as percents of single SpMxV times. For the DVR dataset, actual execution times (in msecs) are split into prefix-sum times and partitioning times. In Tables 6 and 7, execution times of existing algorithms and their improved versions are listed in the same order under each respective classification so that improvements can be seen easily. In bothtables, BID is listed separately since it is a new algorithm. Results of both ebs and ebsþ are listed in Table 6, since they are used as exact algorithms on SpM dataset with e ¼ 1: Since neither ebs nor ebsþ can be used as an exact algorithm on the DVR dataset, EBS, as
18 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 4 Sizes of separator-index ranges normalized withrespect to N Sparse-matrix dataset DVR dataset CCP instance ðn PÞP L1 L3 C5 CCP instance ðn PÞP L1 L3 C5 Name P Name P NL blunt cre-d blunt CQ blunt ken post mod post world post Averages over K L1; L3 and C5 denote separator-index ranges obtained according to results of Lemmas 4.1, 4.3 and Corollary 4.5. an exact algorithm for general workload arrays, is listed separately in Table 7. As seen in Tables 6 and 7, therb heuristic is faster than both H1 and H2 for bothspm and DVR datasets. As also seen in Table 3, RB finds better partitions than both H1 and H2 for bothdatasets. These results reveal RB s superiority to H1 and H2: In Tables 6 and 7, relative performance comparison of existing exact CCP algorithms shows that NC is two orders of magnitude faster than both DP and MS for bothspm and DVR datasets, and ebs is considerably faster than NC for the SpM dataset. These results show that among existing algorithms the parametric-search approach leads to faster algorithms than both the dynamic-programming and the iterative-improvement approaches. Tables 6 and 7 show that our improved algorithms are significantly faster than the respective existing algorithms. In the dynamic-programming approach, DP+ is two-to-three orders of magnitude faster than DP so that
19 992 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 5 Number of probes performed by parametric searchalgorithms Sparse-matrix dataset DVR dataset CCP instance Parametric searchalgorithms CCP instance Parametric searchalgorithms Name P NC NC NC+ ebs ebs+ EBS Name P NC NC NC+ ebs+&bid EBS NL blunt cre-d blunt CQ blunt ken post mod post world post Averages over P DP+ is competitive withthe parametric-searchalgorithms. For the SpM dataset, DP+ is 630 times faster than DP on average in 16-way partitioning, and this ratio decreases to 378, 189, 106, and 56 with increasing number of processors. For the DVR dataset, if the initial prefix-sum is not included, DP+ is 1277, 578, 332, 159, and 71 times faster than DP for P ¼ 16; 32; 64; 128; and 256, respectively, on average. This decrease is expected because the effectiveness of separator-index bounding decreases withincreasing P: These experimental findings agree with the variation in the effectiveness of separator-index bounding values seen in Table 4. In the iterative refinement approach, MS+ is also one-to-three orders of magnitude faster than MS, where this drastic improvement simply depends on the scheme used for finding an initial leftist partition. As Tables 6 and 7 reveal, significant improvement ratios are also obtained for the parametric search algorithms. On average, NC+ is 4.2, 3.5, 3.1, 3.7, and 3.7 times faster than NC for P ¼ 16; 32, 64, 128, and 256, respectively, for the SpM dataset. For the DVR dataset, if the initial prefix-sum time is not included, NC+ is 4.2, 3.2, 2.6, 2.5, and 2.7 times faster than NC for P ¼ 16; 32; 64; 128; and 256, respectively. For the
20 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 6 Partitioning times for sparse-matrix dataset as percents of SpMxV times CCP instance Heuristics Exact algorithms Name P H1 H2 RB Existing Proposed DP MS ebs NC DP+ MS+ ebs+ NC+ BID NL cre-d CQ ken mod world Averages over P SpM dataset, ebsþ is 3.4, 2.5, 1.8, 1.6, and 1.3 times faster than ebs for P ¼ 16; 32, 64, 128, and 256, respectively. These improvement ratios in the execution times of the parametric search algorithms are below the improvement ratios in the numbers of probes displayed in Table 5. Overhead due to the RB call and initial settings of the separator indices contributes to this difference in bothnc+ and ebs þ : Furthermore, costs of initial probes withvery large bottleneck values are very cheap in ebs: In Table 6, relative performance comparison of the proposed exact CCP algorithms shows that BID is the clear winner for small to moderate P values (i.e., Pp64) in the SpM dataset. Relative performance of BID degrades withincreasing P so that both ebsþ and NC+ begin to run faster than BID for PX128 in general, where ebsþ becomes the winner. For the DVR dataset, NC+ and EBS are clear winners as seen in Table 7. NC+ runs slightly faster than EBS for Pp128; but EBS runs considerably faster than NC+ for P ¼ 256: BID can compete withthese two algorithms only for 16- and 32-way partitioning of grid blunt-fin (for all meshresolutions). As seen in Table 6, BID takes less than 1% of a single SpMxV time
21 994 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Table 7 Partitioning times (in msecs) for DVR dataset CCP instance Prefix Heuristics Exact algorithms Name P sum H1 H2 RB Existing Proposed DP MS NC DP+ MS+ NC+ EBS BID blunt blunt blunt post post post Averages normalized w.r.t. RB times ( prefix-sum time not included ) Averages normalized w.r.t. RB times ( prefix-sum time included ) for Pp64 on average. For the DVR dataset (Table 7), the initial prefix-sum time is considerably larger than the actual partitioning time of the EBS algorithm in all CCP instances except 256-way partitioning of post256. As seen in Table 7, EBS is only 12% slower than the RB heuristic in 64-way partitionings on average. These experimental findings show that the proposed exact CCP algorithms should replace heuristics.
22 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) Conclusions We proposed runtime efficient chains-on-chains partitioning algorithms for optimal load balancing in 1-D decompositions of nonuniform computational domains. Our main idea was to run an effective heuristic, as a preprocessing step, to find a good upper bound on the optimal bottleneck value, and then exploit lower and upper bounds on the optimal bottleneck value to restrict the search space for separator-index values. This separator-index bounding scheme was exploited in a static manner in the dynamic-programming algorithm, drastically reducing the number of table entries computed and referenced. A dynamic separator-index bounding scheme was proposed for parametric search algorithms to narrow separator-index ranges after each probe. We enhanced the approximate bisection algorithm to be exact by updating lower and upper bounds into realizable values after eachprobe. We proposed a new iterative-refinement scheme, that is very fast for small-to-medium numbers of processors. We investigated two distinct applications for experimental performance evaluation: 1D decomposition of irregularly sparse matrices for parallel matrix vector multiplication, and decomposition for image-space parallel volume rendering. Experiments on the sparse matrix dataset showed that 64-way decompositions can be computed 100 times faster than a single sparse matrix vector multiplication, while reducing the load imbalance by a factor of four over the most effective heuristic. Experimental results on the volume rendering dataset showed that exact algorithms can produce 3.8 times better 64-way decompositions than the most effective heuristic, while being only 11% slower, on average. 8. Availability The methods proposed in this work are implemented in C programming language and are made publicly available at References [1] S. Anily, A. Federgruen, Structured partitioning problems, Oper. Res. 13 (1991) [2] C. Aykanat, F. Ozguner, Large grain parallel conjugate gradient algorithms on a hypercube multiprocessor in: Proceedings of the 1987 International Conference on Parallel Processing, Penn State University, University Park, PA, 1987, pp [3] C. Aykanat, F. Ozguner, F. Ercal, P. Sadayappan, Iterative algorithms for solution of large sparse systems of linear equations on hypercubes, IEEE Trans. Comput. 37 (12) (1988) [4] S.H. Bokhari, Partitioning problems in parallel, pipelined, and distributed computing, IEEE Trans. Comput. 37 (1) (1988) [5] U.V. -Catalyurek, C. Aykanat, Hypergraph-partitioning-based decomposition for parallel sparse-matrix vector multiplication, IEEE Trans. Parallel Distributed Systems 10 (7) (1999) [6] H. Choi, B. Narahari, Algorithms for mapping and partitioning chain structured parallel computations, in: Proceedings of the 1991 International Conference on Parallel Processing, Austin, TX, 1991 pp. I-625 I-628. [7] G.N. Frederickson, Optimal algorithms for partitioning trees and locating p-centers in trees, Technical Report CSD-TR-1029, Purdue University (1990). [8] G.N. Frederickson, Optimal algorithms for partitioning trees in: Proceedings of the Second ACM-SIAM Symposium Discrete Algorithms, Orlando, FL, [9] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, San Fransisco, CA, [10] M.R. Garey, D.S. Johnson, L. Stockmeyer, Some simplified npcomplete graphproblems, Theoret. Comput. Sci. 1 (1976) [11] D.M. Gay, Electronic mail distribution of linear programming test problems, Mathematical Programming Society COAL Newsletter. [12] Y. Han, B. Narahari, H.-A. Choi, Mapping a chain task to chained processors, Inform. Process. Lett. 44 (1992) [13] P. Hansen, K.W. Lih, Improved algorithms for partitioning problems in parallel, pipelined and distributed computing, IEEE Trans. Comput. 41 (6) (1992) [14] B. Hendrickson, T. Kolda, Rectangular and structurally nonsymmetric sparse matrices for parallel processing, SIAM J. Sci. Comput. 21 (6) (2000) [15] M.A. Iqbal, Efficient algorithms for partitioning problems, in: Proceedings of the 1990 International Conference on Parallel Processing, Urbana, Champaign, IL, 1990, pp. III [16] M.A. Iqbal, Approximate algorithms for partitioning and assignment problems, Int. J. Parallel Programming 20 (5) (1991) [17] M.A. Iqbal, S.H. Bokhari, Efficient algorithms for a class of partitioning problems, IEEE Trans. Parallel Distributed Systems 6 (2) (1995) [18] M.A. Iqbal, J.H. Saltz, S.H. Bokhari, A comparative analysis of static and dynamic load balancing strategies in: Proceedings of the 1986 International Conference on Parallel Processing, Penn State Univ University Park, PA, 1986, pp [19] V. Kumar, A. Grama, A. Gupta, G. Karypis, Introduction to Parallel Computing, Benjamin, Cummings, Redwood City, CA, [20] H. Kutluca, T.M. Kur@, C. Aykanat, Image-space decomposition algorithms for sort-first parallel volume rendering of unstructured grids, J. Supercomput. 15 (1) (2000) [21] T. Lengauer, Combinatorial Algorithms for Integrated Circuit Layout, Wiley, Chichester, UK, [22] Linear programming problems, Technical Report, IOWA Optimization Center, ftp://col.biz.uiowa.edu:pub/testprob/lp/gondzio. [23] F. Manne, T. S^revik, Optimal partitioning of sequences, J. Algorithms 19 (1995) [24] S. Miguet, J.M. Pierson, Heuristics for 1d rectilinear partitioning as a low cost and high quality answer to dynamic load balancing, Lecture Notes in Computer Science, Vol. 1225, Springer, Berlin, 1997, pp [25] S. Molnar, M. Cox, D. Ellsworth, H. Fuchs, A sorting classification of parallel rendering, IEEE Comput. Grap. Appl. 14 (4) (1994) [26] C. Mueller, The sort-first rendering architecture for highperformance graphics, in: Proceedings of the 1995 Symposium on Interactive 3D Graphics, Monterey, CA, 1995, pp [27] D.M. Nicol, Rectilinear partitioning of irregular data parallel computations, J. Parallel Distributed Computing 23 (1994) [28] D.M. Nicol, D.R. O Hallaron, Improved algorithms for mapping pipelined and parallel computations, Technical Report 88-2, ICASE, [29] D.M. Nicol, D.R. O Hallaron, Improved algorithms for mapping pipelined and parallel computation, IEEE Trans. Comput. 40 (3) (1991)
23 996 A. Pınar, C. Aykanat / J. Parallel Distrib. Comput. 64 (2004) [30] B. Olstad, F. Manne, Efficient partitioning of sequences, IEEE Trans. Comput. 44 (11) (1995) [31] J.R. Pilkington, S.B. Baden, Dynamic partitioning of nonuniform structured workloads withspacefilling curves, IEEE Trans. Parallel Distributed Systems 7 (3) (1996) [32] Y. Saad, Practical use of polynomial preconditionings for the conjugate gradient method, SIAM J. Sci. Statist. Comput. 6 (5) (1985) [33] M.U. Ujaldon, E.L. Zapata, B.M. Chapman, H.P. Zima, Vienna- Fortran/hpf extensions for sparse and irregular problems and their compilation, IEEE Trans. Parallel Distributed Systems 8 (10) (1997) [34] M.U. Ujaldon, E.L. Zapata, S.D. Sharma, J. Saltz, Parallelization techniques for sparse matrix applications, J. Parallel Distributed Computing 38 (1996) [35] M.U. Ujaldon, E.L. Zapata, S.D. Sharma, J. Saltz, Experimental evaluation of efficient sparse matrix distributions, in: Proceedings of the ACM International Conference of Supercomputing Philadelphia, PA, (1996) pp Ali Pinar s researchinterests are combinatorial scientific computing the boundary between scientific computing and combinatorial algorithms and high performance computing. He received his B.S. and M.S. degrees in Computer Science from Bilkent University, Turkey, and his Ph.D. degree in Computer Science withthe option of Computational Science and Engineering from University of Illinois at Urbana-Champaign. During his Ph.D. studies he frequently visited Sandia National Laboratories in New Mexico, which had a significant influence on his education and research. He joined the Computational ResearchDivision of Lawrence Berkeley National Laboratory in October, 2001, where he currently works as a research scientist. Cevdet Aykanat received the B.S. and M.S. degrees from Middle East Technical University, Ankara, Turkey, bothin electrical engineering, and the Ph.D. degree from Ohio State University, Columbus, in electrical and computer engineering. He was a Fulbright scholar during his Ph.D. studies. He worked at the Intel Supercomputer Systems Division, Beaverton, Oregon, as a researchassociate. Since 1989, he has been affiliated with the Department of Computer Engineering, Bilkent University, Ankara, Turkey, where he is currently a professor. His researchinterests mainly include parallel computing, parallel scientific computing and its combinatorial aspects, parallel computer graphics applications, parallel data mining, graph and hypergraph-partitioning, load balancing, neural network algorithms, high performance information retrieval and GIS systems, parallel and distributed web crawling, distributed databases, and grid computing. He is a member of the ACM and the IEEE Computer Society. He has been recently appointed as a member of IFIP Working Group 10.3 (Concurrent Systems).
Fast Optimal Load Balancing Algorithms for 1D Partitioning
Fast Optimal Load Balancing Algorithms for D Partitioning Ali Pınar Department of Computer Science University of Illinois at Urbana-Champaign [email protected] Cevdet Aykanat Computer Engineering Department
Sparse Matrix Decomposition with Optimal Load Balancing
Sparse Matrix Decomposition with Optimal Load Balancing Ali Pınar and Cevdet Aykanat Computer Engineering Department, Bilkent University TR06533 Bilkent, Ankara, Turkey apinar/aykanat @cs.bilkent.edu.tr
Solution of Linear Systems
Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three
Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition
Integrating Benders decomposition within Constraint Programming
Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP
A Constraint Programming based Column Generation Approach to Nurse Rostering Problems
Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
Algorithm Design and Analysis
Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;
Discrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
Fairness in Routing and Load Balancing
Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria
Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs
Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute
THE SCHEDULING OF MAINTENANCE SERVICE
THE SCHEDULING OF MAINTENANCE SERVICE Shoshana Anily Celia A. Glass Refael Hassin Abstract We study a discrete problem of scheduling activities of several types under the constraint that at most a single
A Note on Maximum Independent Sets in Rectangle Intersection Graphs
A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada [email protected] September 12,
Applied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
Transportation Polytopes: a Twenty year Update
Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,
24. The Branch and Bound Method
24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no
Scheduling Single Machine Scheduling. Tim Nieberg
Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe
Factoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
Approximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
Lecture 4 Online and streaming algorithms for clustering
CSE 291: Geometric algorithms Spring 2013 Lecture 4 Online and streaming algorithms for clustering 4.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line
ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.
A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of
Load Balancing. Load Balancing 1 / 24
Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait
A Piggybacking Design Framework for Read-and Download-efficient Distributed Storage Codes
A Piggybacing Design Framewor for Read-and Download-efficient Distributed Storage Codes K V Rashmi, Nihar B Shah, Kannan Ramchandran, Fellow, IEEE Department of Electrical Engineering and Computer Sciences
On-line machine scheduling with batch setups
On-line machine scheduling with batch setups Lele Zhang, Andrew Wirth Department of Mechanical Engineering The University of Melbourne, VIC 3010, Australia Abstract We study a class of scheduling problems
a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.
Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given
OPRE 6201 : 2. Simplex Method
OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2
1 Sets and Set Notation.
LINEAR ALGEBRA MATH 27.6 SPRING 23 (COHEN) LECTURE NOTES Sets and Set Notation. Definition (Naive Definition of a Set). A set is any collection of objects, called the elements of that set. We will most
Clustering and scheduling maintenance tasks over time
Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating
Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:
CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm
Lecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013
Dynamic programming Doctoral course Optimization on graphs - Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NP-hard and we usually
Scheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
Load-Balancing Spatially Located Computations using Rectangular Partitions
Load-Balancing Spatially Located Computations using Rectangular Partitions Erik Saule a,, Erdeniz Ö. Başa,b, Ümit V. Çatalyüreka,c a Department of Biomedical Informatics. The Ohio State University b Department
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
Mathematical finance and linear programming (optimization)
Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may
MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research
MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With
School Timetabling in Theory and Practice
School Timetabling in Theory and Practice Irving van Heuven van Staereling VU University, Amsterdam Faculty of Sciences December 24, 2012 Preface At almost every secondary school and university, some
4.5 Linear Dependence and Linear Independence
4.5 Linear Dependence and Linear Independence 267 32. {v 1, v 2 }, where v 1, v 2 are collinear vectors in R 3. 33. Prove that if S and S are subsets of a vector space V such that S is a subset of S, then
JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
Scheduling Algorithm with Optimization of Employee Satisfaction
Washington University in St. Louis Scheduling Algorithm with Optimization of Employee Satisfaction by Philip I. Thomas Senior Design Project http : //students.cec.wustl.edu/ pit1/ Advised By Associate
How To Solve A Minimum Set Covering Problem (Mcp)
Measuring Rationality with the Minimum Cost of Revealed Preference Violations Mark Dean and Daniel Martin Online Appendices - Not for Publication 1 1 Algorithm for Solving the MASP In this online appendix
ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu
ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a
Compact Representations and Approximations for Compuation in Games
Compact Representations and Approximations for Compuation in Games Kevin Swersky April 23, 2008 Abstract Compact representations have recently been developed as a way of both encoding the strategic interactions
Introduction to Scheduling Theory
Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France [email protected] November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling
Labeling outerplanar graphs with maximum degree three
Labeling outerplanar graphs with maximum degree three Xiangwen Li 1 and Sanming Zhou 2 1 Department of Mathematics Huazhong Normal University, Wuhan 430079, China 2 Department of Mathematics and Statistics
On the Interaction and Competition among Internet Service Providers
On the Interaction and Competition among Internet Service Providers Sam C.M. Lee John C.S. Lui + Abstract The current Internet architecture comprises of different privately owned Internet service providers
Static Load Balancing of Parallel PDE Solver for Distributed Computing Environment
Static Load Balancing of Parallel PDE Solver for Distributed Computing Environment Shuichi Ichikawa and Shinji Yamashita Department of Knowledge-based Information Engineering, Toyohashi University of Technology
1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.
Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S
1 Solving LPs: The Simplex Algorithm of George Dantzig
Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul Renaud-Goud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems
Lecture 6 Online and streaming algorithms for clustering
CSE 291: Unsupervised learning Spring 2008 Lecture 6 Online and streaming algorithms for clustering 6.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line
Factorization Theorems
Chapter 7 Factorization Theorems This chapter highlights a few of the many factorization theorems for matrices While some factorization results are relatively direct, others are iterative While some factorization
By choosing to view this document, you agree to all provisions of the copyright laws protecting it.
This material is posted here with permission of the IEEE Such permission of the IEEE does not in any way imply IEEE endorsement of any of Helsinki University of Technology's products or services Internal
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem
Classification - Examples
Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking
MATH2210 Notebook 1 Fall Semester 2016/2017. 1 MATH2210 Notebook 1 3. 1.1 Solving Systems of Linear Equations... 3
MATH0 Notebook Fall Semester 06/07 prepared by Professor Jenny Baglivo c Copyright 009 07 by Jenny A. Baglivo. All Rights Reserved. Contents MATH0 Notebook 3. Solving Systems of Linear Equations........................
Integer Factorization using the Quadratic Sieve
Integer Factorization using the Quadratic Sieve Chad Seibert* Division of Science and Mathematics University of Minnesota, Morris Morris, MN 56567 [email protected] March 16, 2011 Abstract We give
11. APPROXIMATION ALGORITHMS
11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005
Class constrained bin covering
Class constrained bin covering Leah Epstein Csanád Imreh Asaf Levin Abstract We study the following variant of the bin covering problem. We are given a set of unit sized items, where each item has a color
7. LU factorization. factor-solve method. LU factorization. solving Ax = b with A nonsingular. the inverse of a nonsingular matrix
7. LU factorization EE103 (Fall 2011-12) factor-solve method LU factorization solving Ax = b with A nonsingular the inverse of a nonsingular matrix LU factorization algorithm effect of rounding error sparse
CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma
CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are
Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows
TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents
Single machine parallel batch scheduling with unbounded capacity
Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University
CONQUEST: A Coarse-Grained Algorithm for Constructing Summaries of Distributed Discrete Datasets 1
Algorithmica (2006) OF1 OF25 DOI: 10.1007/s00453-006-1218-x Algorithmica 2006 Springer Science+Business Media, Inc. CONQUEST: A Coarse-Grained Algorithm for Constructing Summaries of Distributed Discrete
The Goldberg Rao Algorithm for the Maximum Flow Problem
The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }
Row Ideals and Fibers of Morphisms
Michigan Math. J. 57 (2008) Row Ideals and Fibers of Morphisms David Eisenbud & Bernd Ulrich Affectionately dedicated to Mel Hochster, who has been an inspiration to us for many years, on the occasion
Solving Systems of Linear Equations
LECTURE 5 Solving Systems of Linear Equations Recall that we introduced the notion of matrices as a way of standardizing the expression of systems of linear equations In today s lecture I shall show how
INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models
Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is
11 Ideals. 11.1 Revisiting Z
11 Ideals The presentation here is somewhat different than the text. In particular, the sections do not match up. We have seen issues with the failure of unique factorization already, e.g., Z[ 5] = O Q(
1 VECTOR SPACES AND SUBSPACES
1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such
Matrix Multiplication
Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32 Outline 1 Matrix operations Importance Dense and sparse
Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach
Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach S. M. Ashraful Kadir 1 and Tazrian Khan 2 1 Scientific Computing, Royal Institute of Technology (KTH), Stockholm, Sweden [email protected],
Notes on Determinant
ENGG2012B Advanced Engineering Mathematics Notes on Determinant Lecturer: Kenneth Shum Lecture 9-18/02/2013 The determinant of a system of linear equations determines whether the solution is unique, without
Optimization Modeling for Mining Engineers
Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2
Cost Models for Vehicle Routing Problems. 8850 Stanford Boulevard, Suite 260 R. H. Smith School of Business
0-7695-1435-9/02 $17.00 (c) 2002 IEEE 1 Cost Models for Vehicle Routing Problems John Sniezek Lawerence Bodin RouteSmart Technologies Decision and Information Technologies 8850 Stanford Boulevard, Suite
Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths
Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths Satyajeet S. Ahuja, Srinivasan Ramasubramanian, and Marwan Krunz Department of ECE, University of Arizona, Tucson,
Towards Optimal Firewall Rule Ordering Utilizing Directed Acyclical Graphs
Towards Optimal Firewall Rule Ordering Utilizing Directed Acyclical Graphs Ashish Tapdiya and Errin W. Fulp Department of Computer Science Wake Forest University Winston Salem, NC, USA nsg.cs.wfu.edu Email:
NOTES ON LINEAR TRANSFORMATIONS
NOTES ON LINEAR TRANSFORMATIONS Definition 1. Let V and W be vector spaces. A function T : V W is a linear transformation from V to W if the following two properties hold. i T v + v = T v + T v for all
Chapter 6: Episode discovery process
Chapter 6: Episode discovery process Algorithmic Methods of Data Mining, Fall 2005, Chapter 6: Episode discovery process 1 6. Episode discovery process The knowledge discovery process KDD process of analyzing
Systems of Linear Equations
Systems of Linear Equations Beifang Chen Systems of linear equations Linear systems A linear equation in variables x, x,, x n is an equation of the form a x + a x + + a n x n = b, where a, a,, a n and
A Comparison of General Approaches to Multiprocessor Scheduling
A Comparison of General Approaches to Multiprocessor Scheduling Jing-Chiou Liou AT&T Laboratories Middletown, NJ 0778, USA [email protected] Michael A. Palis Department of Computer Science Rutgers University
AN ALGORITHM FOR DETERMINING WHETHER A GIVEN BINARY MATROID IS GRAPHIC
AN ALGORITHM FOR DETERMINING WHETHER A GIVEN BINARY MATROID IS GRAPHIC W. T. TUTTE. Introduction. In a recent series of papers [l-4] on graphs and matroids I used definitions equivalent to the following.
Policy Distribution Methods for Function Parallel Firewalls
Policy Distribution Methods for Function Parallel Firewalls Michael R. Horvath GreatWall Systems Winston-Salem, NC 27101, USA Errin W. Fulp Department of Computer Science Wake Forest University Winston-Salem,
Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)
Sorting revisited How did we use a binary search tree to sort an array of elements? Tree Sort Algorithm Given: An array of elements to sort 1. Build a binary search tree out of the elements 2. Traverse
Chapter 13: Binary and Mixed-Integer Programming
Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery
MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.
MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column
The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,
The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints
Research Statement Immanuel Trummer www.itrummer.org
Research Statement Immanuel Trummer www.itrummer.org We are collecting data at unprecedented rates. This data contains valuable insights, but we need complex analytics to extract them. My research focuses
