• 沒有找到結果。

Optimal k-copies Task Assignment Reliability in Distributed Systems, via a Genetic Algorithm

N/A
N/A
Protected

Academic year: 2021

Share "Optimal k-copies Task Assignment Reliability in Distributed Systems, via a Genetic Algorithm"

Copied!
20
0
0

加載中.... (立即查看全文)

全文

(1)Optimal k-copies Task Assignment Reliability in Distributed Systems, via a Genetic Algorithm Chin-Ching Chiu* and Chung-Hsien Hsu Department of Management Information System Private Takming College, Taipei, Taiwan, R.O.C. TEL: 886-2-26585801 ext 393 E-mail: chiu@mis.takming.edu.tw *Correspondence and reprints should be sent to Chin-Ching Chiu. Abstract The reliability-oriented task assignment problem, which is NP-hard, is to find a task distribution such that the program reliability or system reliability is maximized. In this paper, we have developed a reliability oriented task allocation scheme, based on a genetic algorithm, for distributed systems to find an approximate solution. The simulation shows that, in most test cases, the algorithm finds sub-optimal solutions efficiently; therefore, it is a desirable approach to solve these problems.. Keywords: Distributed system reliability; Task assignment; Distributed program reliability; Genetic algorithm. 1.

(2) 1.. INTRODUCTION. Distributed systems (DS) have become increasingly popular in recent years. The potential reliability improvement of a distributed system is possible because of program and data-file redundancy. Reliability evaluations of distributed systems have been widely published [1-8]. To evaluate the reliability of a distributed system, including a given distribution of programs and data-files, it is important to obtain a global reliability measure that describes the degree of system reliability [10-15]. For a given distribution of programs and data files in a DS, distributed program reliability (DPR) [9] is the probability that a given program can be run successfully and will be able to access all of the files it requires from remote sites in spite of faults occurring among the processing elements and communication links. The second measure, DSR, is defined as the probability that all of the programs in the system can be run successfully. Kumar, Hariri, Raghavendra [9] has also shown that redundancy in resources such as computers, programs, and data-files can improve the reliability of distributed systems [9]. Therefore, the study of program and data-file assignment with redundancy considerations is important in improving the DSR. Assume that there are n processing nodes, P programs, F data files and k copies. Then the total number of possible assignment are nk(P+F). Thus, the optimal allocation of programs and files on the processing nodes is a problem of exponential complexity [15]. This implies that optimum solutions can be found only for small problems. For larger problems it is necessary to introduce heuristics to produce algorithms, which generate near-optimum solutions. Genetic algorithm (GA) can be applied to search large, complex problem spaces [19]. The main steps for GA are reproduction, selection, crossover, and mutation. The process of. 2.

(3) selection, crossover, and mutation is repeated until the termination condition is satisfied [16-20]. Hwang and Tseng proposed the k-DTA problem. The k-DTA models the assignment of k copies of both distributed programs and their data-files to maximize the DSR under some resource constraints. Since the k-DTA problem is NP-hard [13], this study proposed an algorithm based upon genetic algorithm [19] to find an approximate solution.. 2.. COMPUTING OPTIMAL RELIABILITY. In this section, we describe the problem addressed herein for convenience and clarification of our research objectives.. 2.1 Notations and Definitions The following notations, and definitions are used hereinafter. NOTATIONS. G=(V,E). an undirected DS graph where. MFST(pi). Associated with program pi.. V denotes a set of processing elements, and E represents a set of. set of minimal file spanning trees. FST. file spanning tree consisting of the. communication links.. root node (processing element that. n. the number of nodes in G, n=|V|.. runs the program) and some other. vi. an ith node represents the ith. nodes which hold all the files needed. processing element.. for the program held in the root node. c(vi). the capacity of the ith node.. under consideration.. e. the number of links in G, e=|E|. sneed(vi). the total capacity requires from vi.. ei,j. an edge represents a communica-. ng. generation of GA, for ng=0,…,tng.. tion link between vi and vj.. mr, cr. mutation rate, crossover rate.. 3.

(4) ai,j. the probability of success of link ei,j mc, cc. mutation count, crossover count.. bi,j. the probability of failure of link ei,j. population size. represents total. d(vi). the number of links connected to the tng node vi.. ps. number of generation when GA end.. xn(P+F)-,…,x0 a binary string with a length n(P+F). w(vi). the weight of the ith node.. represent an chromosome, where xi=1. w(ei,j). the weight of the link ei,j.. if vi is selected, otherwise xi=0,. F. total number of files in the DS.. for i=0, …,n(P+F)-1.. P. total number of programs in the DS.. pi. distributed program i.. fi. file i.. s(pi). the size of program pi.. some in a generation, i.e.,. s(fi). the size of data file fi.. SUMFT= ∑ ips=1 FTi.. pfi. distributed program or file i.. k. the number of copies of pfi.. sized of chromosome i in a generation,. AFL(pi). list of files required for pi to. i.e., RFTi = FTi / SUMFT.. complete its execution. DPR(pi). distributed program reliability of pi.. MFST. minimal FST containing no subset. FTi. the actual fitness value of a chromosome i in a generation.. SUMFT. RFTi. roulettei. total fitness value of all the chromo-. a proportion of a roulette-wheel slot-. accumulation of FTi,i.e., roulettei = ∑ ki =1 FTi.. AVGFT. file spanning tree.. average fitness value, i.e., AVGFT= SUMFT /ps.. Definitions Definition 1. A dependent set is defined as a set S of distributed programs and files such that there does not exist a partition which divides S into two disjoint subsets S1 and S2, where S1 ∪ S2=S, and S1 ∩ S2= ∅ , such that each program and the files required are within the same subset [13].. 4.

(5) Definition 2. A DTA problem is defined as to find an assignment for a dependent set under some resource constraints in the distributed system such that the distributed system reliability is maximal [13]. Definition 3. A k-DTA problem is defined as to determine assignments for k copies of a dependent set to maximize the DSR under some resource constraints in the distributed system [13]. Definition 4. A mask string is defined as a string with a length n(P+F) in which each bit indicates whether the capacity of a node is sufficient to be allocated a program or data file.. 2.2 Problem Statements A distributed system can be modeled by a simple undirected graph. For a topology of the DS with four nodes and five links, if two programs and three data files that should be allocated, the number of different combinations of programs and data files for allocation is 45, that is 1024. The program p1 requires data files f1, f2, and p2 requires data files f1, f2, f3, for completing execution. Assume that these files are allocated as shown in figure 1.. f3 v2 p1, f1 v1. e1,2. e2,4. p2. e2,3 e3,4. v4. e1,3. v3 f2 Fig. 1. The DS with four nodes and five links For program p1, there are three MFSTs, such as v1 v3 e1,3, v1 v3 e1,2 e2,3, v1 v3 e1,2 e2,4 e3,4. Therefore, DPR(p1) = pr( Ui3=1 MFST i ). Once all of the minimal files spanning trees have been generated, the next step is to find the probability that at least one MFST is working. 5.

(6) which means that all of the edges and vertices included in it are operational. The reliability of program p1 can be computed by means of a sum of mutually disjoint terms [4]. DPR(p1) = b1,2 a1,3 + a1,2 a1,3 b2,3 b2,4 + a1,2 a1,3 b2,3 a2,4 b3,4 + a1,2 a2,3 a2,4 b3,4 + a1,2 a2,3 b2,4 + a1,2 a2,4 a3,4. Assume that the probability of each link is 0.9. Then DPR(p1) = 0.98829. In the same way, DPR(p2) = pr( Ui8=1 MFST i ) = 0.97686. Therefore, the results of DSR is pr( I iP=1 p i ) = pr( I iP=1 MFST ( p i ) ) = 0.97686. A reliability-oriented task assignment problem can be characterized as follows: Given : distributed system parameters, memory capacity of each node, memory requirement of each program and data file, number of copies of each program and data file, files required by each distributed program for execution. Object: Maximize DSR = Pr  I E ( p i ) P.  i =1. P. P+ F. j =0. j=P. . subject to: ( ∑ ps j −1 x n× j + ∑ fs j x n× j ) ≤ C i , i=1, …, n n. ∑ x j×n +i = k , xi , j = 0 or 1, j = 1,..., P + F , k is the number of copies of pf i .. i =1. 3. GENETIC ALGORITHM BASED RELIABILITY-ORIENTED TASK ASSIGNMENT METHODOLOGY. The GA search space is composed of possible solutions (chromosomes) to the problem. Each chromosome has an associated objective function value called a fitness value which denotes its strength. A set of chromosomes and their associated fitness values are called the population. This population at a given stage of GA is referred to as a generation.. 6.

(7) 3.1 Development of GAROTA. The development of GAROTA is described in the following subsections.. 3.1.1 Chromosomal-coding scheme If P, F and n represent the number of programs, data files and nodes, respectively, that a chromosome, say X, with a length n×(P+F) of the following type:. fF vn-1. vn-2. … … v0. f1. … vn-1. pP. vn-2. …. … v0 vn-1 vn-2 … v0. p1. … vn-1 vn-2 … v0. x(P+F)n-1x(P+F)n-2 … x(P+F-1)n … x(P+1)n-1 x(P+1)n-2 … xPn xPn-1 xPn-2 …x(P-1)n … xn-1 xn-2 … x0. Each bit indicates whether a program or file is allocated in a node, where xi =1, if it is occurrs, otherwise xi =0. For example, if n=5, P=1, F=2, k=2. <---------f2------- > <---------f1------- > <---------p1------- > x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 1 0 0. 1. 0. 0. 1. 0. 1. 0. 0. 0. 1. 0. 1. This chromosome shows p1 is allocated in node v2 and v0, f1 is allocated in node v3 and v1, and f2 is allocated in node v4 and v1.. 3.1.2 Valid Chromosomes. The most reliable assignment for k copies of some program or data file is to assign these copies to k distinct nodes [13]. For a valid chromosome, it must possess two characteristics as follows:. 7.

(8) (1) For each sub-string, say si = x(i+1)×n+1, …, xi×n, of a chromosome, where i is in the range (0, P+F-1), the number of bits whose value is 1 is equal to the k. (2) The summation of the programs and files size, which is assigned to same node is at most as large as the capacity of the node.. 3.1.3 Initialization approach The initial population can be randomly created or well adapted [20]. GAROTA was randomly created to generate an unbiased population at initialization. The size and format of a mask string, say M, is same as those of a chromosome. This string can avoid generating an invalid chromosome and speed up the GA generation initialization. In our simulation case, if the mask string is omitted, about 80~100 invalid strings shall be generated before obtain a valid chromosome. For each bit of M, say mi×n+j, the value is set as follows:  1 if c j ≥ psi , and i < P,  mi×n + j = 1 if c j ≥ fsi − P , and i ≥ P, ,  0 othrewise . where 0 < i <P+F, 0< j <N.. When a chromosome is generated according to the mask string M, we could always obtain a valid chromosome and could omit checking whether it is a valid chromosome. The chromosome satisfies our requirement and is appended to the population.. 3.1.4 The object function The number of ports at each node (degree of a node) and number of links directly impact the system reliability. Reliability decreases with a decrease in the number of links [5]. Therefore, we employed a simple means for computing the node weight, which takes less time and can quickly compute the weight of every node. 8.

(9) d ( vi ). (1). w ( v i ) = 1 − ∏ b i ,t z z =1. In the network, two nodes may contain many paths between them. The length of a path is between one and n-1. To reduce the computational time, we considered a path in which the length is not greater than three. The following recursive formula was used to evaluate the weight of 2-terminals. 0 , initialize ,  w 2 term ( v i ,v j ) =  w 2 term ( v , v ) + ( 1 − w 2 term ( v i ,v j )) × A , i j . (2). where A is a probability of a path that select from the sets S1, S2 and S3 one after another, S1={ai,j | if ei,j is exists}, S2={ai,tat,j | if ei,t, et,j is exist}, Vs2={vt | if ei,t, et,j is exist}, S3={ai,xax,yay,j | if ei,x, ex,y, ey,j is exist, vx, vy ∉ Vs2 and vx, vy has not occurred}. We can obtain the 2-terminal access weight of all pairs according to formula 2. w2termaccess (v i ,v j ) = [w2term (v i ,v j ) + w (v i ) + w (v j )]/ 3. (3). If a program pi is allocated in vx and a file fi is allocated in vy, the file fi is needed when pi is run. If the set SS(pi) represents all of the pairs (vx, vy), i.e. SS(pi)={ (vx, vy) | vx holds a copy of program pi, vy hold a copy of data file fj, fi ∈AFL(pi), x ≠ y}, we can use the following formula to compute the access weight of each program as follows. AW(px) = ∏w2termaccess (v x ,v y ). (4). where (vx, vy) ∈ SS(pi).. Therefore, the access weight of chromosome X which denotes all the programs and data files allocated in some node is computed as follows. AW(X) = ∏w2termaccess (v x ,v y ). (5). 9.

(10) where (vx, vy) ∈ U iP=1 SS ( p i ) and if both of pairs (vx, vy), (vy, vx) are exist, discard (vy, vx).. According to the access weight of chromosome X, the object function to compute the fitness value of X is constructed as follows: FTi = AW(X) × AW(X). (6). The object function used to compute the fitness value of each ith chromosome X in generation j. Fitness values indicate which chromosomes are to be carried into the next generation. The reason for using the value of the square of AW(X) as the fitness value is expansion of the difference between two chromosomes. This will lead to a speed up of the population convergence.. 3.1.5 Genetic reproduction and selection The process for selecting potentially good strings from the current generation is to be carried into the next generation. This is achieved by assigning a proportionately higher fitness value [16,18]. A “biased” roulette wheel [20] is used for chromosome selection into the mating pool.. 3.1.6 Genetic crossover operators The crossover is performed at the boundaries of the node bits. First, two chromosomes are randomly selected from the mating pool. Next, using a random number generator, an integer is generated in the range (1, P+F-1). This number is used as the crossover site. The result produces two new chromosomes with information from their parents. For example,. <---------f2------- > | <---------f1------- > <---------p1------- > x14 x13 x12 x11 x10 | x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 10.

(11) String1 1 0 0. 1. 0 | 0. 1. 0. 1. 0. 0. 0. 1. 0. 1. String2 0 1 1. 0. 0 | 0. 0. 1. 1. 0. 0. 0. 0. 1. 1. If the crossover site is 2, the information exchange occurs as: <---------f2------- > | <---------f1------- > <---------p1------- > x14 x13 x12 x11 x10 | x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 Child1 1 0 0. 1. 0 | 0. 0. 1. 1. 0. 0. 0. 0. 1. 1. Child2 0 1 1. 0. 0 | 0. 1. 0. 1. 0. 0. 0. 1. 0. 1. The crossover operator sometimes generates an invalid chromosome. For example, If the size of each node is 5, the size of p1 is 2, f1 is 3 and f2 is 2, respectively. Because p1, f1 and f2 should be allocated to v1 in child1, the summation size is 7 which is exceeds the capacity of v1. This anomaly is just discarded.. 3.1.7 Genetic mutation operator This operator is used to improve the global optimal solution, if it is appreciably reduced by the crossover operation. First, using a random number generator, three integers (say x, y, z) are generated. The value of x is in the range (0, ps-1), which indicates the mutation chromosome. The value of y is in the range (0, P+F-1) which indicates the bits between y×n and ((y+1)×n)-1 of the mutation chromosome. The value of z is in the range (0, n-1) which indicates the mutation bit, i.e., the (y×n+z)th bit of the mutation chromosome and mutates it. Ensures that the copy of each program and data file is correct, we select a bit randomly in the range (y×n, y×(n+1)-1) bit of the mutation chromosome and adjust it. The mutation operator sometimes generates a chromosome, which does not represent a valid task assignment. When this situation occurs, the original chromosome is reserved and another chromosome is selected for mutation. 11.

(12) 3.1.8 Replacement strategy and termination rules The most common replacement strategy is to probabilistically-replace the poorest performing chromosome in the previous generation [20]. On the other hand, the elitist strategy appends the best performing chromosome from the previous generation to the current population and, thereby, ensures that the chromosome with the best objective function value always survives to the next generation. Our GAROTA combines both of these concepts. Each offspring generated after crossover is added to the new generation if it has a better objective function value than both of its parents. If the objective function value of an offspring is better than only one of the parents, a chromosome is randomly selected from the better of the two parents and the offspring. If the offspring is worse than both parents, any one of the parents is selected at random for the next generation. This ensures that the best chromosome is carried into the next generation, while the worst is not. GAROTA execution can be terminated when the average and maximum fitness values of the strings in a generation become the same.. 3.2 Complete Algorithm of GAROTA The algorithm begins with an initial generation of valid chromosomes, which satisfy the constraint. The initial generation contains a finite number of valid strings selected by random. The number of strings in any generation, population size, is kept an even number to ease the crossover. The detail steps for GAROTA are described as follows:. Algorithm GAROTA step 0 /*Initialize DS, GA, and task parameters */ Read parameters: n, e, ai,j, c(vi), ps, cr, mr, ng, tgn, k, P, F, s(pi), s(fi), AFL(pi).. 12.

(13) step 1 Compute each node weight using Eq. (1), all 2-terminal weight using Eq. (2) and all 2-terminal access weight using Eq. (3). step 2 /* Generate each chromosome of the initial population. */ 2.1 Initialize the mask string M for generating chromosomes quickly. 2.2 ng=0. /* generation 0 */ 2.3 /* generate each valid chromosome and compute its fitness value for generation 0. */ for (i=0; i < ps; i++){ generate a valid chromosome chromi. FTi = evaluate access weight of chromi using Eq. (5) } step 3 Generate roulette-wheel area of each chromosome according to its fitness value.. step 4 /*Reproduction/Selection for mating pool*/ Select ps chromosomes randomly according to roulette-wheel and generate the mating pool.. step 5 /*Crossover for next generation. */ cc = cr × ps / 2 . /* set the crossover count. */ Dowhile ( cc-- > 0 ) generate two valid chromosomes, say tmp1 and tmp2, by crossover the two chromosomes, say pool_chromx and pool_chromy, which are random select from mating pool. evaluate access weight of tmp1 and tmp2 using Eq. (5). relpace pool_chromx, pool_chromy by the chromosomes which are related to the two maximized fitness values of these four chromosomes. Enddowhile. step 6 /* Mutate for next generation. */ mc = mr × ps  . /* Set the mutation count. */. 13.

(14) Dowhile ( mc-- > 0 ) generate a valid chromosome, say tmp3, by mutate an arbitrary bit of the chromosome, say pool_chromx, which are random select from mating pool. evaluate access weight of tmp3 using Eq. (5) replace pool_chromx by tmp3 if its fitness value better. Enddowhile. step 7 Replacement and creation a new population step 8 /*Test for terminating condition*/ ng = ng + 1. /* next generation */ if ( ng ≤ tng and some FTi ≠ AVGFT ) go to step 3.. step 9 /*Compute the DSR and output the best task assignment.*/ Compute the reliability of the final result task assignment indicate at the first chromosome of the population using SYREL [4] and Output the task assignment. End GAROTA. 3.3 An Illustrate Example. v2. e2,4. v4 e4,6. v1. e1,2 e1,3. e3,5 v3. c(v2)=4 c(v5)=5. c(v3)=6 c(v6)=5. v6 a1,2=0.70 a1,3=0.80 a2,3=0.90 a2,4=0.75 a3,5=0.95. e4,5. e2,3. c(v1)=5 c(v4)=6. a4,5=0.85. a4,6=0.90. a5,6=0.95. e5,6 v5 Fig. 2. The DS with six nodes and eight links. In figure 2, if there are two programs, p1, p2, and three data files, f1, f2, f3, the size of p1, p2, f1, f2, f3 is 2, 3, 2, 3 and 3, respectively. The program p1 needs f1, f2, and program p2 needs f1, f2,. 14.

(15) f3 for complete execution, e.g., AFL(p1) is {f1, f2}, AFL(p2) is {f1, f2, f3}. Our problem is to find the maximal distributed system reliability under the allocated programs and files. In step 1, after evaluating each 2-terminal pair’s weight using Eq. 3, the weight of (v1 ,v2), (v1 ,v3), …, (v1 ,v6), (v2 ,v3), …, (v2 ,v6), …, (v5 ,v6) is 0.9495, 0.9550, 0.9227, 0.9356, 0.9295, 0.9914, 0.9735, 0.9799, 0.9754, 0.9776, 0.9924, 0.9852, 0.9960, 0.9907 and 0.9943, respectively. In step 2, initialize population. In step 3, each chromosome’s fitness value, ratio of fitness value, and roulette-wheel area are derived. The average fitness value is 0.490881. The algorithm executes statements between step 4 and step 8. They are reproduction and selection for the mating pool, crossover and mutation for the next generation, replacement and creation of the new generation, and testing for the termination condition. In addition, step 3 is executed again. The average fitness value of generation 1 is 0.537424. In the same way, the average fitness value of generation 10, …, 80 is obtained as shown in Fig. 3. In generation 80, all chromosomes are 100100011000100010001100010010 and the fitness value is 0.748307. The average fitness value is 0.748307. Figure 3 illustrates the average fitness value for every generation. Because the termination condition is satisfied, the algorithm goes to step 9. In step 9, the program and file assignments in the chromosomes of the population are shown in Fig. 4. The algorithm computes the DSR using SYREL and Outputs the task assignment. The reliability is 0.9994969. The reliability count is equal to 1.. 15.

(16) average fitness value. 0.8 0.7 0.6 0.5 0.4 0. 10. 20. 30. 40. 50. 60. 70. 80. The number of generation (ng). Fig. 3. The average fitness value of every generation of DS with six nodes and eight links with P = 2, F = 3, AFL(p1)={f1, f2}, AFL(p2)={ f1, f2, f3}.. p1, f1. p2, f2 f1, f3. p2, f3. p1, f2. Fig. 4. The results of programs and data files assignment. 4.. RESULTS AND DISCUSSION. Table 1 presents the data on the results obtained using three different methods for various DS topologies with different allocated programs and data files.. Table 1. The results obtained using the exhaustive method, Hwang&Tseng method and our proposed method for various DS topologies and k-DTAs. Size. k-DTA. AFL. Global. Exhaust. 16. Hwang&Tseng. Proposed method.

(17) Optimal n. e. k P F. p1. p2. p3. time. time. NR. (sec). (sec). C. time. (sec). solution. tng. absolute err. NRC. ps absolute err. 6. 8. 1 2 3 f1,f2. f1,f3. -. 0.9883041. 4032. 16. 0.11 0.0099509. 0.97. 1. 190 100. 0. 6. 8. 1 2 4 f1,f2,f3. f3,f4. -. 0.9883041. 18756. 145. 0.11 0.0099509. 0.72. 1. 90. 100. 0. 6. 8. 1 3 3 f1,f2. f2,f3. f1,f3. 0.9883041. 13968. 55. 0.16 0.0207249. 1.39. 1. 100 100. 0. 6. 8. 1 3 5 f1,f3,f4. f2,f3,f5. f1,f4. 0.9745220. 210168. 1072. 0.22 0.0055219. 1.07. 1. 70. 0. 6. 8. 2 2 3 f1,f2,f3. f1,f3. -. 0.9998719. 21312. 97. 0.16 0.0146482. 0.77. 1. 190 100 0.0002047. 6. 8. 2 2 3 f1,f2,f3. f1,f2,f3. -. 0.9992175. 21312. 34. 0.22 0.0137254. 0.99. 1. 90. 6. 8. 2 2 4 f1,f2,f3. f1,f2,f3,f4 -. 0.9984149. 11691. 19. 0.38 0.0003736. 0.72. 1. 100 100 0.0002877. 6. 8. 2 2 3 f2,f3. f1,f2. -. 0.9998719. 21312. 104. 0.22 0.0002890. 0.54. 1. 60. 6. 8. 2 3 3 f2,f3. f1,f2. f1,f3. 0.9998698. 3699. 24. 0.27 0.0053454. 0.38. 1. 100 100 0.0004042. NRC: the number of reliability computation. Exhaust: the exhaustive method. k: the number of copies of programs and data files if k=1, then c(v1)=5, c(v2)=4, c(v3)=6, c(v4)=6, c(v5)=5, c(v6)=5, s(p1)=2,s(p2)=3, s(p3)=3, s(f1)=2, s(f2)=3, s(f3)=3, s(f4)=2, s(f5)=2, if k=2, then c(v1)=6, c(v2)=5, c(v3)=7, c(v4)=7, c(v5)=6, c(v6)=6, s(p1)=2,s(p2)=3, s(p3)=3, s(f1)=2, s(f2)=3, s(f3)=3, s(f4)=2, s(f5)=2,. In this paper, we proposed a new technique for solving the k-DTA reliability problem. The complexity of the proposed algorithm is O(n3+tng×ps×k×n(P+F)2+m2). Results obtained from our algorithm were compared with those from the exhaustive method and the Hwang&Tseng method [13]. Although the exhaustive method, which the time complexity is O(m2nk(P+F)), can yield the optimal solution, it cannot effectively reduce the number of reliability computations and the time complexity. An application occasionally requires an efficient algorithm for computing reliability owing to resource considerations. Under this circumstance, deriving the optimal reliability may not be a promising option. Instead, an efficient algorithm yielding approximate reliability is preferred. The time complexity of the method of Hwang and Tseng [13] is O(n3+k×n(P+F)+m2), which is slightly quicker than our. 17. 100. 100 0.0001706. 100 0.0002574.

(18) method, but the deviation from exact solution is not ideal [13]. The accuracy and efficiency of the proposed algorithm were verified by implementing simulation programs in C language executed in Pentium III with 128M-DRAM on MS-Windows 98. In our simulation case, the number of reliability computations for the proposed algorithm was constant. The exact solution can be obtained when the number of copies of programs and files is one. In almost every case, if the number of copies of programs and files exceeds one, the proposed method can obtain an approximate solution, in which the average deviation from the exact solution is under 0.001. Because the proposed algorithm uses the elitist strategy at replacement and uses the access weight instead of the reliability of two-terminal for computing fitness value, in a few cases, it cannot obtain the exact solution.. 5.. CONCLUSION. This paper has presented a genetic algorithm based reliability-oriented task assignment methodology for computing the k-DTA reliability problem. Our numerical results show that the proposed algorithm may obtain the exact solution in most cases and the computation time seems to be significantly shorter than that needed for the exhaustive method. When the proposed method fails to give an exact solution, the deviation from the exact solution appears very small. REFERENCES. [1] K.K. Aggarwal, S. Rai, “Reliability evaluation in computer communication networks”, IEEE trans. Reliability, vol R-30, 1981 Jun, pp 32-35. [2] K.K. Aggarwal, Y.C. Chopra, J.S. Bajwa, “Topological layout of links for optimizing the S-T reliability in a computer communication system”, Microelectron. Reliab., vol 22, num 3, 1982, pp 341-345. [3] A. Satyanarayna, J.N. Hagstrom, “New algorithm for reliability analysis of multiterminal networks”, IEEE Trans. Reliability, vol R-30, 1981 Oct, pp 325-333.. 18.

(19) [4] S. Hariri, C.S. Raghavendra, “SYREL: A symbolic reliability algorithm based on path and cuset methods”, IEEE Trans. Computers, vol C-36, 1987 Oct, pp 1224-1232. [5] F. Altiparmak, B. Dengiz, A.E. Smith, “Reliability optimization of computer communication networks using genetic algorithms”, Proc IEEE int conf syst man cybern 5, 1998 Oct, pp 4676-4680. [6] D.W. Coit, A.E. Smith, “Reliability optimization of series-parallel systems using a genetic algorithm”, IEEE Trans. Reliability, vol R-45, 1996 Jun, pp 254-260. [7] D. Torrieri, “Calculation of node-pair reliability in large networks with unreliable nodes”, IEEE Trans. On Reliability, vol R-43, 1994 Sep, pp 375-377. [8] D.J. Chen, T.H. Huang, “Reliability analysis of distributed systems based on a fast reliability algorithm”, IEEE Trans. on Parallel and Distributed Systems, vol 3, 1992 mar, pp 139-154. [9] V.K.P. Kumar, C.S. Raghavendra, Hariri, “Distributed program reliability analysis”, IEEE Trans. Software Engineering, vol SE-12, 1986 Jan, pp 42-50. [10] A. Kumar, D.P. Agrawal, “A generalized algorithm for evaluation distributed program reliability”, IEEE Trans. Reliability, vol R-42, 1993 Sep, pp 416-426. [11] D.J. Chen, R.S. Chen, T.H. Huang, “Heuristic approach to generating file spanning trees for reliability analysis of distributed computing systems”, Journal of Computers Math. with Applic. vol 34, 1997 Nov, pp 115-131. [12] P. Tom, C.R. Murthy, “Algorithms for reliability-oriented module allocation in distributed computing systems”, Journal of Systems and Software, vol 40, 1998 Feb, pp 125-138. [13] G.J. Hwang, S.S. Tseng, “A heuristic task assignment algorithm to maximize reliability of a distributed system”, IEEE Trans. Reliability, vol R-42, 1993 Sep, pp 408-415. [14] M. Kafil, I. Ahmad, “Optimal task assignment in heterogeneous distributed computing systems”, IEEE Concurrency, vol 6, 1998 Sep, pp 42-51. [15] A. Kumar, R.M. Pathak, Y.P. Gupta, “Genetic algorithm based approach for file allocation on distributed systems”, Computers Ops Res., vol 22, num 1, 1995, pp 41-54. [16] L. Davis, et al, “Genetic algorithms and simulated annealing: An overview”, Genetic Algorithms and Simulated Annealing (L. Davis, Ed), 1987, Morgan Kaufman. [17] K.A. De Jong, “An analysis of the behavior of a class of genetic adaptive systems”, PhD Thesis, 1975, (microfilm -76-9381); Univ. of Michigan. [18] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, 1989; Addison-Wesley.. 19.

(20) [19] J.H. Holland, “Genetic algorithm and the optimal allocation of trials”, SIAM J. Comput., vol 2, num 2, 1973 Jun, pp 88-105. [20] G.E. Liepins, M.R. Hilliard, “Genetic algorithms: Foundations and applications”, Annals of Operations Research, vol 21, 1989, pp 31-58.. 20.

(21)

數據

Fig. 1. The DS with four nodes and five links
Fig. 2. The DS with six nodes and eight links
Fig. 3. The average fitness value of every generation of DS with six nodes and eight links with  P = 2, F = 3, AFL(p 1 )={f 1 , f 2 }, AFL(p 2 )={ f 1 , f 2 , f 3 }

參考文獻

相關文件

 Machine language ( = instruction set) can be viewed as a programmer- oriented abstraction of the hardware platform.  The hardware platform can be viewed as a physical means

 Machine language ( = instruction set) can be viewed as a programmer- oriented abstraction of the hardware platform.  The hardware platform can be viewed as a physical means

Shang-Yu Su, Chao-Wei Huang, and Yun-Nung Chen, “Dual Supervised Learning for Natural Language Understanding and Generation,” in Proceedings of The 57th Annual Meeting of

• Each row corresponds to one truth assignment of the n variables and records the truth value of φ under that truth assignment. • A truth table can be used to prove if two

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

Show that the requirement in the definition of uniform continuity can be rephrased as follows, in terms of diameters of sets: To every  &gt; 0 there exists a δ &gt; 0 such that

Solution: pay attention on the partial input object each time Problem: larger memory implies more parameters in RNN. Solution: long-term memory increases memory size without

– For each k, the faster, smaller device at level k serves as a cache for the larger, slower device at level k+1. • Why do memory