Research Article (wileyonlinelibrary.com) DOI: 10.1002/qre.1937 Published online in Wiley Online Library A Parallel Strategy for the Logical-probabilistic Calculus-based Method to Calculate Two-terminal Reliability Dang Nguyen,a,b Bay Voa,b*† and Duc-Lung Vuc The theory of network reliability has been applied to many complicated network structures, such as computer and communication networks, piping systems, electricity networks, and traffic networks The theory is used to evaluate the operational performance of networks that can be modeled by probabilistic graphs Although evaluating network reliability is an Non-deterministic Polynomial-time hard problem, numerous solutions have been proposed However, most of them are based on sequential computing, which under-utilizes the benefits of multi-core processor architectures This paper addresses this limitation by proposing an efficient strategy for calculating the two-terminal (terminal-pair) reliability of a binary-state network that uses parallel computing Existing methods are analyzed Then, an efficient method for calculating terminal-pair reliability based on logical-probabilistic calculus is proposed Finally, a parallel version of the proposed algorithm is developed This is the first study to implement an algorithm for estimating terminal-pair reliability in parallel on multicore processor architectures The experimental results show that the proposed algorithm and its parallel version outperform an existing sequential algorithm in terms of execution time Copyright © 2015 John Wiley & Sons, Ltd Keywords: network reliability; terminal-pair reliability; sum of disjoint products technique; parallel computing; multi-core processors Introduction etwork reliability evaluation has been successfully applied to many real-world systems, such as information systems,1,2 manufacturing systems,3,4 telecommunication systems,5,6 and transportation systems.7,8 These systems can be modeled by a combinatorial graph in which the vertices represent the components and the edges represent the communication among components Terminal-pair reliability is measured in terms of the probability that two selected nodes (terminal nodes) can communicate through at least one path of working edges It determines the reliability of a binary-state network because nodes and edges are assumed to be in binary states (operational or failed) Although the nodes are assumed to be perfectly reliable and the edge states are independent, this problem has been shown to be NP-hard.9 Recently, numerous algorithms have been proposed for calculating the reliability between two terminals They can be classified into three main approaches N • Approach (Sum of disjoint products (SDP) technique): In methods that use SDP, minimal ties/cuts are enumerated, and then the SDP technique is then applied to disjoin the tie and cut terms.10–15 This approach is easy to implement; its performance, however, degrades for large networks because of the exponential growth of minimal tie/cut sets • Approach (Approximation): Approximation methods were proposed to reduce execution time and computational complexity These approaches use lower and upper bounds of reliability16–18 or sampling techniques (Monte Carlo Simulation methods19–21) to estimate the results • Approach (Binary decision diagram (BDD) technique): To overcome the weakness of the first approach, BDD-based methods have been proposed by various authors.22–24 A BDD is considered as an efficient data structure for storing large numbers of Boolean terms.23 Among these approaches, the SDP technique is widely studied for calculating two-terminal reliability because of its easy implementation However, most existing algorithms are implemented using sequential strategies, making their runtime performance poor for complex networks The evaluation of large and complex networks is a challenging and time-consuming problem The present study proposes an efficient algorithm for calculating two-terminal reliability based on logical-probabilistic calculus (LPC) Recently, computers with multi-core processors have made parallel computing a feasible tool for processing large networks at low cost Thus, a Division of Data Science, Ton Duc Thang University, Ho Chi Minh City, Vietnam Faculty of Information Technology, Ton Duc Thang University, Ho Chi Minh City, Vietnam c Department of Computer Engineering, University of Information Technology, Vietnam National University, Ho Chi Minh City, Vietnam *Correspondence to: Bay Vo, Division of Data Science, Ton Duc Thang University, Ho Chi Minh City, Vietnam † E-mail: vodinhbay@tdt.edu.vn b Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Figure Multi-core processor‡ this paper also develops a parallel version of the proposed method, which can be executed efficiently on computers with multi-core processors The response time of the parallel method is much better that those of its sequential counterpart and an existing method Experimental results show that the proposed parallel algorithm can achieve an improvement of up to 63,257× in terms of the execution time compared with that of an existing algorithm The main contributions of this paper are as follows: • We propose an efficient method for computing two-terminal reliability The proposed method uses LPC to convert the probability of the union to the sum of the individual event probabilities • We develop a parallel version of the proposed method that takes advantage of multi-core processor architectures to reduce execution time for complex and large networks The rest of this paper is organized as follows In Section 2, the preliminary concepts of terminal-pair reliability and multi-core processor architectures are briefly given Work related to the SDP technique is introduced in Section The proposed algorithm based on LPC and its parallel version is presented in Section Section analyzes experimental results Conclusions and suggestions for future work are given in Section Preliminary concepts This section gives fundamental information about the network model, two-terminal reliability, and multi-core processor architectures It also provides some applications of parallel computing on multi-core processor architectures 2.1 Network model and two-terminal reliability Many physical problems, for example, computer networks, piping systems, and power grids, can be modeled as a network This means that a physical problem can be modeled as a graph composed of nodes and edges (directed or undirected) A network G is represented as a graph G(V, E), where V is a set of nodes, and E is a set of edges Each element takes on one of two states: operational or failed A subset of nodes K (K ⊆ V) (called terminals) are operating components The number of terminals can range from a minimum of two to a maximum of |V| (the entire node set being terminals).9 In the two-terminal problem, data are transferred from source node s to target node t Two-terminal reliability is defined as the presence of one or more operating paths between s and t The problem of two-terminal reliability has been extensively studied since the 1960s.25 Let xe indicate the state of an element If this element is operational, then xe = Otherwise, xe = means that this element is failed The state of the whole system is represented as a vector x that includes the values xe of elements Each xe contains a random value, each of which is mutually exclusive Let pe and qe be the probabilities of success and failure of an element, respectively pe is the probability of xe = (denoted as Pr(xe = 1)), and qe is the probability of xe = (denoted as Pr(xe = 0) = À pe) In general, the reliability of a network is the probability of successful operations For two-terminal reliability Rst, we have Rst ¼ Prðnodes s and t are connectedÞ (1:1) 2.2 Multi-core processor architectures A multi-core processor, shown in Figure 1, is a single computing component with two or more independent cores in the same physical package.26 Multi-core processors became mainstream when Intel and AMD introduced their commercial multi-core chips27 in 2008 The memory is not distributed, as carried out in a computer cluster, but rather shared, as in a symmetric multi-processor ‡ Source: http://www.cse.wustl.edu/~jain/cse567-11/ftp/multcore/ Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU (SMP) architecture However, while many symmetric multi-processor systems use the non-uniform memory access architecture, multicore processors use the uniform memory access architecture This means that all cores have equal access time to memory.28 Multi-core processor architectures allow higher performance at lower energy consumption and cost Therefore, parallel computation on multi-core processors has been widely adopted in many research fields, such as data mining,28–34 skyline computation,35,36 and image processing.37–39 Although many studies have developed parallel algorithms for data mining, skyline computation, and image processing for multicore processor architectures, none have reported a parallel algorithm for network reliability Therefore, the present study develops a parallel version of an LPC-based algorithm for calculating two-terminal reliability that can be executed efficiently on multi-core processor architectures Related work This section briefly reviews some methods that use SDP for calculating two-terminal reliability Methods that use SDP first enumerate minimal tie sets (minimal paths) and then apply SDP to disjoin the tie terms.9,13,40,41 A tie set is defined as a group of edges that form a path between s and t The term ‘minimal’ implies that no node or edge is traversed more than once Another definition is that a minimal tie set has no subset which is also a tie set If there are m minimal tie sets between s and t, then the reliability expression is given as the expansion of the following: Rst ẳ Pr T ỵ T þ ⋯ þT m (1:2) where Rst is the two-terminal reliability of two nodes s and t, and Pr(T1 + T2 + ⋯ + Tm) is the probability of minimal tie sets Note that the symbol ‘+’ stands for the union of two sets We now apply the SDP method to the graph shown in Figure The minimal tie sets between two nodes s = and t = are described in Table I T2 = {4, 1} (or T2 = 41 for short) means that source node ‘0’ uses edges ‘4’ and ‘1’ to reach target node ‘1’ Minimal path → → means that source node ‘0’ reaches target node ‘1’ through node ‘2’ The reliability between nodes ‘0’ and ‘1’ is calculated as follows: R01 ẳ PrT ỵ T ỵ T ỵ T ỵ T ị (1:3) 40 Equation (1.3) is the probability of a union of events To expand Eq (1.3), the inclusion–exclusion formula can be used However, this method requires much time and effort and is difficult to implement Therefore, many methods have been proposed to convert the probability of a union of events to a sum of individual event probabilities The first SDP algorithm to calculate two-terminal reliability was introduced by Aggarwal et al.42 Since then, numerous methods have been proposed to solve the same problem Backtracking-based algorithms10 for terminal-pair reliability analysis have been proposed Abraham11 developed an algorithm using Boolean algebra to find the probability of communication between a pair of nodes in a network Rai et al conducted several experiments on the preprocessing of path/cut terms in SDP.43,44 Another Figure Four-node network with source node ‘0’ and target node ‘1’ Table I Minimal tie sets between ‘0’ and ‘1’ for network in Figure No Minimal tie set Minimal path 0→1 0→2→1 0→2→3→1 0→3→1 0→3→2→1 Copyright © 2015 John Wiley & Sons, Ltd T1 = {0} T2 = {4, 1} T3 = {4, 2, 5} T4 = {3, 5} T5 = {3, 2, 1} Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU preprocessing strategy was mentioned by Balan and Traldi.41 Heidtmann12,45 compared his algorithm with Abraham’s in terms of statistics and characteristics Younes and Girgis46 developed a simple approach for finding the two-terminal network reliability based on the link matrix Several approaches13,14 for calculating terminal-pair reliability based on SDP have also been developed Although many sequential SDP-based algorithms for two-terminal reliability evaluation have been proposed, there have been very few publications related to parallel solutions Only two studies on parallelizing SDP algorithms were found in the literature.47,48 However, they were developed on a distributed memory architecture, which needs to synchronize data among processors Hence, a parallel implementation of an LPC-based algorithm on multi-core processor computers is proposed in the present study Proposed algorithms for calculating two-terminal reliability As mentioned in Section 3, SDP-based methods have two phases In the first phase, they find all minimal paths between the source and target nodes In the second phase, they calculate the two-terminal reliability using Eq (1.2) This section describes an efficient algorithm based on LPC that disjoins the minimal path terms in the equation A parallel version that can be executed efficiently on multi-core processor architectures is also developed Note that we use a backtracking-based algorithm49 to discover minimal paths 4.1 Logical-probabilistic calculus-based algorithm Definition 150 A function y that maps a binary element state vector x = (x1, x2, …, xn) into the network state is called the function of operational capabilities of a network Assume that the state of an element is either good or bad: & if x is an operational network state y x ị ẳ if x is a failed network state Definition 251 A minimal path Ti is an implicant of the function y(x) because the whole network operates whenever the components in Ti operate, irrespective of the state of the remaining components According to previous studies,52–54 y(x) can be represented as a disjunctive normal form (DNF): m y x ị ẳ T i (1:4) i¼1 Definition 350 The network reliability of two nodes s and t is computed as follows: m Rst ¼ Prðy ðx Þ ¼ 1Þ ¼ Pr ∨ T i ẳ (1:5) y x ị ẳ T ∨T T ∨T T T ∨…∨T T …T mÀ1 T m (1:6) i¼1 Equation (1.4) can be represented as50,51 Equation (1.6) is equivalent to53 y x ị ẳ T ∨T T ∨T … T mÀ1 ∨T mÀ1 T m … (1:7) À Á Equation (1.7) is easier to implement compared with Eq (1.4) because it is a recursion of T iÀ1 ∨T iÀ1 T i , where each Ti is a minimal path Equation (1.7) is an orthogonal disjunctive normal form (ODNF)51 because all its members are orthogonal in pairs Recall that two elementary conjunctions are orthogonal if their product is equal to zero.54 Applying the theorem of sum of individual event probabilities52,53 yields the following: X m m Rst ¼ Prðy x ị ẳ 1ị ẳ Pr T i ẳ ẳ PrT i ẳ 1ị (1:8) iẳ1 iẳ1 when events T1, T2, …, Tm are mutually exclusive Definition 454 Assume that Ki = z1 ∧ z2 ∧ … ∧ zh is an elementary conjunction The inversion of Ki (denoted by K i ) is calculated as follows: K i ¼ z ∨ðz1 ∧z2 Þ∨…∨ðz1 ∧z2 ∧…∧zhÀ1 ∧z h Þ (1:9) Note 1: In this paper, we represent a DNF in matrix form in which conjunctions stand in rows, and disjunctions stand between rows of the matrix Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU For example, consider a DNF Φ = (z1 ∧ z2) ∨ (z3 ∧ z4 ∧ z5) ∨ z6 Φ can be denoted as follows: z1 z2 Φ ¼ z3 z4 z5 z6 The flowchart of the LPC-based algorithm (LPCA) is shown in Figure In general, the proposed algorithm transforms the probability of the union of events in Eq (1.4) into the ODNF in Eq (1.7), which can be calculated based on Eq (1.8), where W is a matrix form that contains all minimal paths; C is a matrix form that contains common components included in all paths between nodes s and t; K is a matrix form that contains row i w.r.t Ti in Eq (1.7); m is the number of rows in K (i.e., the number of minimal paths); and R is a matrix form that stores the results The proposed algorithm has five main steps • Step 1: LPCA sorts W (to W′), which contains all minimal paths between two terminal nodes To minimize the number of generated disjoint paths, we sort W in cardinality order and lexicographic order, as performed by Soh and Rai.43 • Step 2: LPCA converts W′ into two matrix forms C and K C contains the common nodes stored in all paths K contains rows of W′ after the common nodes have been excluded • Step 3: LPCA initializes a matrix form R and a variable i = m (m is the number of rows in K) • Step 4: LPCA checks whether i ≥ • Step 5: If the result in Step holds true, three sub-steps are executed: calculate the inversion of Ki À (denoted by K iÀ1 ) using Eq (1.9) calculate the multiplication of K iÀ1 and R (K iÀ1 :R) regarding distributive law54 calculate the addition of Ki À and K iÀ1 :R (K iÀ1 ∨K iÀ1 :R) regarding associative law54 Figure Flowchart of logical-probabilistic calculus-based algorithm Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU The result of LPCA is an algebra equation In this equation, the symbol ‘+’ stands for addition instead of the union in Eq (1.2) To convert the obtained algebra equation into a probability expression, we replace xi by pi and x i by (1 À pi) We then compute the twoterminal reliability 4.2 An example We apply the proposed algorithm to the sample network in Figure to illustrate its basic ideas Assume that the reliability of each node is pi = 1.0 and that the reliability of each edge is qj = 0.9 (0 ≤ i ≤ and ≤ j ≤ 5) We calculate the reliability between nodes ‘0’ and ‘1’ (R01) First, we use a backtracking-based algorithm49 to obtain a set of minimal paths: → 1, → → 1, → → → 1, → → 1, and → → → To create W, the algorithm converts edges on the minimal path into nodes and assigns each new node with an ID = k + EdgeID (k is the number of nodes in the network, and EdgeID is the ID of the edge) For example, consider the first minimal path → (i.e., node ‘0’ reaches node ‘1’ using edge ‘0’) We have four nodes in the network (k = 4) Thus, edge ‘0’ is converted into a node with ID ‘4’ (ID = + = 4) The first row of W is [0 1] Similarly, the second row of W is [0 1] As a result, W is obtained as follows: 60 6 W¼6 60 40 8 9 7 17 7 Then, the algorithm executes step 1, in which W is sorted in cardinality order and lexicographic order Let W′ be a matrix form after W has been sorted 60 7 W’ ¼ 7 40 95 In step 2, the algorithm converts W′ into a matrix form C, which contains common components, and a matrix form K, which contains the remaining components In step 3, the algorithm initializes values for R and i m ẳ 5; R ẳ K ẳ ẵ ; i ¼ m ¼ Because i = ≥ 0, the algorithm jumps to step It computes the following: The inversion of K4 (denoted by K ) using Eq (1.9) Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Note that À2 means negation of (2) Note that the product of row of K and R is zero because the former includes À2 and the later includes Similarly, the product of rows and of K and R are also zero Finally, R is obtained in an ODNF: 6 6 À2 6 R¼6 6 6 2 À4 À4 À4 À5 À4 À8 À4 À5 À7 À4 9 7 7 7 7 7 À8 À9 To compute the reliability, we compute the probability of each row in R We replace each element in row by pi if it is a node or qj if it is an edge If an element is negative, it means that this item was inverted, and it is replaced by À pi or À qj For example, consider the first row of R This row contains element ‘4’, meaning that this is edge ‘0’ Recall that after edge ‘0’ was converted into a node, its ID became ‘4’ Thus, the probability of the first row is Pr(1) = q0 = 0.9 The probability of the second row is Pr(2) = p2 × (1 À q0) × q1 × q4 = 0.081 Similarly, we have Pr(3) = 0.0, Pr(4) = 0.0081, Pr(5) = 0.00729, Pr(6) = 0.000729, and Pr(7) = 0.000729 We then compute the two-terminal reliability of R01 by summing the probabilities of the rows R01 ẳ Pr1ị þ Prð2Þ þ Prð3Þ þ Prð4Þ þ Prð5Þ þ Prð6Þ ỵ Pr7ị ẳ 0:997848 Finally, we multiply R01 by the probability of each node in C R01 ¼ R01 Âp0 Âp1 ¼ 0:997848 ≈ 0:99785 4.3 Parallel implementation of logical-probabilistic calculus-based algorithm In this section, we propose a parallel strategy for LPCA The parallel algorithm (called P-LPCA) is implemented based on the parallelism model in Microsoft NET Framework 4.0 Instead of using threads, the algorithm uses tasks, which have advantages over threads First, tasks consume less memory Second, whereas a single thread runs on a single core, tasks are designed to be aware of multi-core processors, and thus, multiple tasks can be executed on a single core Finally, using threads induces an overhead because the operating system has to allocate data structures for threads, initialize and destroy them, and perform context switches between threads Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Logical-probabilistic calculus-based algorithm is easily adapted to a parallel version Instead of using Eq (1.7), we use Eq (1.6) to generate the matrix form R We distribute each part of Eq (1.6) to a single task, which processes its assigned part independently The parallel process for Eq (1.6) is illustrated in Figure 4, where tasks t1, t2, t3,…, tm À are denoted by solid blocks The flowchart of P-LPCA is shown in Figure Figure Parallel process for Eq (1.6) Figure Flowchart of parallel-logical-probabilistic calculus-based algorithm Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Experiments We conducted experiments to show the efficiency of the proposed algorithms All experiments were performed on a computer with an Intel Core i7-2600 CPU at 3.40 GHz and GB of RAM running OS Windows Enterprise SP1 (64-bit) This CPU has four cores and supports hyper-threading The algorithms were coded in C# using MS Visual Studio NET Premium 2013 (.NET Framework 4.5.50938) 5.1 Experimental networks The number of testing networks was 14, in which the smallest network had four nodes and six edges and the largest network had 21 nodes and 26 edges Table II shows some characteristics (number of nodes, number of edges, number of minimal paths, and reliability) of the experimental networks Network is obtained from Shooman’s book.40 Networks 2–9, 11, and 13–14 are from the paper of Soh and Rai.43 Network 10 is from the study of Rai et al.44, and Network 12 is from Rocco and Muselli’s paper.55 Table II Characteristics of experimental networks (MPs: minimal paths) Network # of nodes # of edges # of MPs Network Network Network Network Network Network Network Network Network Network Network Network Network Network 10 11 12 13 14 6 8 10 11 21 13 8 12 12 12 12 13 14 14 21 26 22 13 13 24 20 25 29 32 44 18 44 281 Reliabilitya Figure 0.99785 0.96843 0.99763 0.97718 0.96485 0.97512 0.98407 0.99749 0.99622 0.94435 0.97415 0.99408 0.90458 0.98739 Figure Figure Figure Figure Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 a The reliabilities of nodes and edge are 1.0 and 0.9, respectively Figure Network with s = and t = Figure Network with s = and t = Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Figure Network with s = and t = Figure Network with s = and t = Figure 10 Network with s = and t = Figure 11 Network with s = and t = Figure 12 Network with s = and t = Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Figure 13 Network with s = and t = Figure 14 Network with s = and t = Figure 15 Network 10 with s = and t = Figure 16 Network 11 with s = and t = Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Figure 17 Network 12 with s = and t = Figure 18 Network 13 with s = and t = Figure 19 Network 14 with s = and t = 5.2 Execution time comparison§ Table III compares the execution times of the Simple Algorithm for Computing Network Reliability (SACNR),46 LPCA, and P-LPCA for each network in Table II The first three columns represent the runtimes of the three algorithms, and the last two columns indicate the speed up of P-LPCA over LPCA and SACNR Parallel LPCA is always the fastest algorithm SACNR has the worst performance For Networks 1–5, the execution times of the three algorithms are similar (all under 0.1 s) This is because these networks are very simple and small For Network 6, the execution time of SACNR increased slightly (reaching 0.751 s), with those for LPCA and P-LPCA being much lower (0.009 and 0.002 s, respectively) For Networks 7–9, the gap among the three algorithms increased The execution time of SACNR increased significantly from 12.378 to 379.544 s, whereas those for LPCA and P-LPCA only slightly increased For Network 9, P-LPCA was 63,257× faster than SACNR and § Executable files of SACNR, LPCA, P-LPCA, and experimental networks can be downloaded from http://goo.gl/vONFRN Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Table III Execution times of three algorithms (in seconds) Network SACNR (1) LPCA (2) Network Network Network Network Network Network Network Network Network Network Network Network Network Network 10 11 12 13 14 0.001 0.001 0.001 0.013 0.006 0.751 12.378 22.817 379.544 N/A N/A 0.296 N/A N/A 0.001 0.001 0.001 0.001 0.005 0.009 0.016 0.013 0.034 0.054 0.085 0.099 10.278 142.385 P-LPCA (3) 0.001 0.001 0.001 0.001 0.001 0.002 0.003 0.002 0.006 0.018 0.023 0.074 2.167 11.109 Speed up 1 1 4.5 5.3 6.5 5.7 3.7 1.3 4.7 12.8 ð2Þ ð3Þ Speed up ð1Þ ð3Þ 1 13 375.5 4,126 11,408.5 63,257.3 N/A N/A N/A N/A SACNR, Simple Algorithm for Computing Network Reliability; LPCA, logical-probabilistic calculus-based algorithm; P-LPCA, parallellogical-probabilistic calculus-based algorithm 5.7× faster than LPCA In addition, SACNR could not provide results for Networks 10–11 and 13–14 (the runtimes were too long) LPCA and P-LPCA were able to finish their computations for these networks For example, consider Network 14 LPCA took 142.385 s to calculate the reliability, whereas P-LPCA took only 11.109 s, a speed up of 12.8× Conclusion and future work This study proposed an efficient algorithm for computing two-terminal reliability based on LPC It also developed a parallel version of the proposed method that executes efficiently on multi-core processor architectures To validate the efficiency of the proposed algorithms, a series of experiments was conducted on 14 networks The experimental results show that the proposed methods outperform an existing method in terms of runtime The execution time improvement was up to 63,257× In the future, we will expand this study to the problem of calculating k-terminal reliability and all-terminal reliability We will also study how to apply parallel computing to find all minimal paths between two nodes in a network We will apply parallel computing to the problem of computing the terminal-pair reliability in an incremental network (i.e., a network modified via the insertion of edges or nodes) References Chen S-G, Lin Y-K On performance evaluation of ERP systems with fuzzy mathematics Expert Systems with Applications 2009; 36:6362–6367 Lin Y-K, Chang P-C Maintenance reliability estimation for a cloud computing network with nodes failure Expert Systems with Applications 2011; 38:14185–14189 Lin Y-K, Chang P-C Reliability evaluation for a manufacturing network with multiple production lines Computers & Industrial Engineering 2012; 63:1209–1219 Lin Y-K, Chang P-C, Chen J Reliability evaluation for a waste-reduction parallel-line manufacturing system Journal of Cleaner Production 2012; 35:93–101 Lin Y-K, Yeh C-T Determining the optimal double-component assignment for a stochastic computer network Omega 2012; 40:120–130 Rai S, Soh S A computer approach for reliability evaluation of telecommunication networks with heterogeneous link-capacities IEEE Transactions on Reliability 1991; 40:441–451 Lin Y-K A novel algorithm to evaluate the performance of stochastic transportation systems Expert Systems with Applications 2010; 37:968–973 Jane CC, Laih YW Evaluating cost and reliability integrated performance of stochastic logistics systems Naval Research Logistics 2012; 59:577–586 Ball M, Colbourn C, Provan S Network reliability Handbooks in operations research and management science 1995; 7:673–762 10 Ball M, Van Slyke R Backtracking algorithms for network reliability analysis Annals of Discrete Mathematics 1977; 1:49–64 11 Abraham J An improved algorithm for network reliability IEEE Transactions on Reliability 1979; 28:58–61 12 Heidtmann K Statistical comparison of two sum-of-disjoint-product algorithms for reliability and safety evaluation In Computer Safety, Reliability and Security Springer, Springer-Verlag Berlin Heidelberg, 2002; 70–81 13 Yeh W-C A simple heuristic algorithm for generating all minimal paths IEEE Transactions on Reliability 2007; 56:488–494 14 Xing J, Feng C, Qian X, Dai P A simple algorithm for sum of disjoint products In: The reliability and maintainability symposium (RAMS 2012) IEEE; 2012 15 Mishra R, Saifi M, Chaturvedi S Enumeration of minimal cutsets for directed networks with comparative reliability study for paths or cuts Quality and Reliability Engineering International 2015; DOI: 10.1002/qre.1772 16 Dotson W, Gobien J A new analysis technique for probabilistic graphs IEEE Transactions on Circuits and Systems 1979; 26:855–865 17 Lê M, Walter M, Weidendorfer J A Memory-efficient Bounding Algorithm for the Two-terminal Reliability Problem Electronic Notes in Theoretical Computer Science 2013; 291:15–25 Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU 18 Sebastio S, Trivedi K, Wang D, Yin X Fast computation of bounds for two-terminal network reliability European Journal of Operational Research 2014; 238:810–823 19 Yeh W-C, Lin Y-C, Chung YY Performance analysis of cellular automata Monte Carlo simulation for estimating network reliability Expert Systems with Applications 2010; 37:3537–3544 20 Hui K-P, Bean N, Kraetzl M, Kroese D The tree cut and merge algorithm for estimation of network reliability Probability in the Engineering and Informational Sciences 2003; 17:23–45 21 Jiang Y, Li R, Kang R, Huang N The method of network reliability and availability simulation based on Monte Carlo In The international conference on quality, reliability, risk, maintenance, and safety engineering (ICQR2MSE 2012): IEEE; 2012 22 Singh H, Vaithilingam S, Anne R, Anneberg L Terminal reliability using binary decision diagrams Microelectronics Reliability 1996; 36:363–365 23 Kuo S-Y, Lu S-K, Yeh F-M Determining terminal-pair reliability based on edge expansion diagrams using OBDD IEEE Transactions on Reliability 1999; 48:234–246 24 Le M, Walter M, Weidendorfer J Improving the Kuo-Lu-Yeh Algorithm for Assessing Two-Terminal Reliability In: The tenth European dependable computing conference (EDCC 2014) IEEE; 2014 25 Barlow R, Proschan F Mathematical Theory of Reliability, Vol 17 Society for Industrial and Applied Mathematics (SIAM), Philadelphia, USA, 1965 26 Andrew B Multi-core processor architecture explained Available at: http://software.intel.com/en-us/articles/multi-core-processor-architectureexplained 27 Casali A, Ernst C Extracting correlated patterns on multicore architectures In Availability, Reliability, and Security in Information Systems and HCI, Vol 8127 Springer, 2013; 118–133 28 Laurent A, Négrevergne B, Sicard N, Termier A Efficient parallel mining of gradual patterns on multicore processors In Advances in Knowledge Discovery and Management, Springer, 2012; 398:137–151 29 Liu L, Li E, Zhang Y, Tang Z Optimization of frequent itemset mining on multiple-core processor In: The 33rd international conference on very large data bases: VLDB Endowment; 2007 30 Tatikonda S, Parthasarathy S Mining tree-structured data on multicore systems Proceedings of the VLDB Endowment 2009; 2:694–705 31 Negrevergne B, Termier A, Méhaut J-F, Uno T Discovering closed frequent itemsets on multicore: Parallelizing computations and optimizing memory accesses In: International conference on high performance computing and simulation (HPCS 2010): IEEE; 2010 32 Schlegel B, Karnagel T, Kiefer T, Lehner W Scalable frequent itemset mining on many-core processors In: The 9th international workshop on data management on new hardware: ACM; 2013 33 Nguyen D, Vo B, Le B Efficient strategies for parallel mining class association rules Expert Systems with Applications 2014; 41:4716–4729 34 Vo B, Nguyen D, Nguyen T-L A parallel algorithm for frequent subgraph mining In Advanced Computational Methods for Knowledge Engineering, Springer: 173, Springer International Publishing Switzerland, 2015; 358:163 35 Park S, Kim T, Park J, Kim J, Im H Parallel skyline computation on multicore architectures In: The 25th international conference on data engineering (ICDE 2009): IEEE; 2009 36 Im H, Park J, Park S Parallel skyline computation on multicore architectures Information Systems 2011; 36:808–823 37 Hartley T, Catalyurek U, Ruiz A, Igual F, Mayo R, Ujaldon M Biomedical image analysis on a cooperative cluster of GPUs and multicores In: The 22nd annual international conference on supercomputing: ACM; 2008 38 Wang H, Zhao J, Li H, Wang J Parallel clustering algorithms for image processing on multi-core CPUs In: International conference on computer science and software engineering: IEEE; 2008 39 Zhao J, Yang Y, Li G Real-time image processing system based on multi-core processor In: The third international symposium on intelligent information technology application (IITA 2009): IEEE; 2009 40 Shooman M Reliability of Computer Systems and Networks: Fault Tolerance, Analysis, and Design John Wiley & Sons, Inc., New York, USA, 2002 41 Balan A, Traldi L Preprocessing minpaths for sum of disjoint products IEEE Transactions on Reliability 2003; 52:289–295 42 Aggarwal K, Misra K, Gupta J A fast algorithm for reliability evaluation IEEE Transactions on Reliability 1975; 24:83–85 43 Soh S, Rai S Experimental results on preprocessing of path/cut terms in sim of disjoint products technique IEEE Transactions on Reliability 1993; 42:24–33 44 Rai S, Veeraraghavan M, Trivedi K A survey of efficient reliability computation using disjoint products approach Networks 1995; 25:147–163 45 Heidtmann K Smaller sums of disjoint products by subproduct inversion IEEE Transactions on Reliability 1989; 38:305–311 46 Younes A, Girgis M A tool for computing computer network reliability International Journal of Computer Mathematics 2005; 82:1455–1465 47 Deo N, Medidi M Parallel algorithms for terminal-pair reliability IEEE Transactions on Reliability 1992; 41:201–209 48 Tsuchiya T, Kajikawa T, Kikuno T Parallelizing SDP (Sum of disjoint products) algorithms for fast reliability analysis IEICE Transactions on Information and Systems 2000; 83:1183–1186 49 Chen S-G, Lin Y-K Search for all minimal paths in a general large flow network IEEE Transactions on Reliability 2012; 61:949–956 50 Crama Y, Hammer P Boolean Models and Methods in Mathematics, Computer Science, and Engineering, Vol Cambridge University Press, New York, USA, 2010 51 Crama Y, Hammer PL Boolean Functions: Theory, Algorithms, and Applications Cambridge University Press, New York, USA, 2011 52 Ryabinin I Reliability and safety of structure-complex systems Saint Petersburg: Politecknika 2000 53 Ryabinin I Logical-probabilistic calculus: a tool for studying the reliability and safety of structurally complex systems Automation and Remote Control 2003; 64:1177–1185 54 Solojentsev E Scenario Logic and Probabilistic Management of Risk in Business and Engineering, Vol 20 Springer Science & Business Media, LLC, New York, USA, 2009 55 Rocco C, Muselli M A machine learning algorithm to estimate minimal cut and path sets from a Monte Carlo simulation In Probabilistic Safety Assessment and Management Springer-Verlag, London, 2004 Authors' biographies Dang Nguyen is a researcher at the Division of Data Science at the Ton Duc Thang University, Vietnam He was awarded a Postgraduate Research Scholarship of Deakin University (Australia) and has been working as a PhD student in Computer Science at Deakin University, Australia since May 2015 He holds a Master degree in Computer Science from the University of Information Technology (Vietnam National University of Ho Chi Minh) in 2009 His Master thesis involves in developing efficient algorithms for searching all minimal paths in a network and evaluating the network reliability Recently, he has published four articles in Elsevier and Wiley journals and four papers in Springer proceedings related to parallel computing, data mining, and its applications in the public health field His current research interests are network reliability, data mining, machine learning, and their applications to medical data sets Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 D NGUYEN, B VO AND D.-L VU Bay Vo is an Associate Professor since 2015 He received his PhD degree in Computer Science from the University of Science, Vietnam National University of Ho Chi Minh in 2011 He is a dean of Faculty of Information Technology, Ho Chi Minh City University of Technology His research interests include association rule mining, classification, incremental mining, distributed databases, and privacy preserving in data mining Prof Bay serves as an associate editor of ICIC Express Letters, Part B: Applications (indexed by Scopus and EI), a member in review board of International Journal of Applied Intelligence (Springer, indexed by SCI, Scopus and EI), and an editor of International Journal of Engineering and Technology Innovation He also served as co-chairs of several special sessions such as ICCCI 2012; ACIIDS 2013, 2014, 2015, 2016; KSE 2013, 2014; SMC 2015; reviewers of many international journals and conferences such as IEEE-TKDE, IEEE-SMC: Systems, Information Sciences, Knowledge-Based Systems, Soft Computing, PLOS ONE, etc He has published around 70 journal/conference publications including 28 SCI(E) articles Duc-Lung Vu received BS and MS degrees in Computer Engineering from the Saint Petersburg State Polytechnical University in 1998 and 2000, respectively He got his PhD degree in Computer Science from Saint Petersburg Electrotechnical University in 2006 He has been working at the University of Information Technology, Vietnam National University of Ho Chi Minh as a lecturer since 2006 His research interests include machine learning, human-computer interaction, and FPGA technology Copyright © 2015 John Wiley & Sons, Ltd Qual Reliab Engng Int 2015 ... researcher at the Division of Data Science at the Ton Duc Thang University, Vietnam He was awarded a Postgraduate Research Scholarship of Deakin University (Australia) and has been working as a PhD... 63,257.3 N /A N /A N /A N /A SACNR, Simple Algorithm for Computing Network Reliability; LPCA, logical-probabilistic calculus-based algorithm; P-LPCA, parallellogical-probabilistic calculus-based algorithm... algorithm to evaluate the performance of stochastic transportation systems Expert Systems with Applications 2010; 37:968–973 Jane CC, Laih YW Evaluating cost and reliability integrated performance