1. Trang chủ
  2. » Thể loại khác

DSpace at VNU: A Parallel Strategy for the Logical-probabilistic Calculus-based Method to Calculate Two-terminal Reliability

15 144 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 1,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

A Parallel Strategy for the Logical-probabilistic Calculus-based Method to Calculate Two-terminal Reliability The theory of network reliability has been applied to many complicated netwo

Trang 1

A Parallel Strategy for the Logical-probabilistic Calculus-based Method to Calculate

Two-terminal Reliability

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 thefirst study to implement an algorithm for estimating terminal-pair reliability in parallel on multi-core 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

1 Introduction

Network reliability evaluation has been successfully applied to many real-world systems, such as information systems,1,2

manufacturing systems,3,4telecommunication systems,5,6and transportation systems.7,8These 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.9Recently, numerous algorithms have been proposed for calculating the reliability between two terminals They can be classified into three main approaches

• Approach 1 (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 2 (Approximation): Approximation methods were proposed to reduce execution time and computational complexity These approaches use lower and upper bounds of reliability16–18or sampling techniques (Monte Carlo Simulation methods19–21)

to estimate the results

• Approach 3 (Binary decision diagram (BDD) technique): To overcome the weakness of the first approach, BDD-based methods have been proposed by various authors.22–24A 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

b

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

Trang 2

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 3 The proposed algorithm based

on LPC and its parallel version is presented in Section 4 Section 5 analyzes experimental results Conclusions and suggestions for future work are given in Section 6

2 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).9In 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.25Let xeindicate the state of an element If this element is operational, then xe= 1 Otherwise, xe= 0 means that this element is failed The state of the whole system is represented as a vectorx that includes the values xeof elements Each xecontains a random value, each of which is mutually exclusive Let peand qebe the probabilities of success and failure of an element, respectively peis the probability of xe= 1 (denoted as Pr(xe= 1)), and qeis the probability of xe= 0 (denoted as Pr(xe= 0) = 1 pe)

In general, the reliability of a network is the probability of successful operations For two-terminal reliability Rst, we have

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.26Multi-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 Figure 1 Multi-core processor‡

‡Source: http://www.cse.wustl.edu/~jain/cse567-11/ftp/multcore/.

Trang 3

(SMP) architecture However, while many symmetric processor systems use the non-uniform memory access architecture, multi-core processors use the uniform memory access architecture This means that all multi-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,36and image processing.37–39

Although many studies have developed parallel algorithms for data mining, skyline computation, and image processing for multi-core 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

3 Related work

This section briefly reviews some methods that use SDP for calculating two-terminal reliability

Methods that use SDPfirst enumerate minimal tie sets (minimal paths) and then apply SDP to disjoin the tie terms.9,13,40,41A 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 T1þ T2þ ⋯ þTm

(1:2) where Rstis 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 2 The minimal tie sets between two nodes s = 0 and t = 1 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 0 → 2 → 1 means that source node‘0’ reaches target node ‘1’ through node ‘2’

The reliability between nodes‘0’ and ‘1’ is calculated as follows:

Equation (1.3) is the probability of a union of events To expand Eq (1.3), the inclusion–exclusion formula can be used.40However, 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

Thefirst 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 Abraham11developed an algorithm using Boolean algebra tofind 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

Table I Minimal tie sets between‘0’ and ‘1’ for network in Figure 2

Figure 2 Four-node network with source node ‘0’ and target node ‘1’

Trang 4

preprocessing strategy was mentioned by Balan and Traldi.41Heidtmann12,45compared his algorithm with Abraham’s in terms of statistics and characteristics Younes and Girgis46developed a simple approach forfinding the two-terminal network reliability based

on the link matrix Several approaches13,14for 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

4 Proposed algorithms for calculating two-terminal reliability

As mentioned in Section 3, SDP-based methods have two phases In thefirst 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 algorithm49to discover minimal paths 4.1 Logical-probabilistic calculus-based algorithm

Definition 150

A function y that maps a binary element state vectorx = (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:

yð Þ ¼x 1 ifx is an operational network state

0 ifx is a failed network state



Definition 251

A minimal path Tiis an implicant of the function y(x) because the whole network operates whenever the components in Tioperate, irrespective of the state of the remaining components

According to previous studies,52–54y(x) can be represented as a disjunctive normal form (DNF):

yð Þ ¼ ∨x m

i¼1Ti (1:4)

Definition 350

The network reliability of two nodes s and t is computed as follows:

Rst¼ Pr y xð ð Þ ¼ 1Þ ¼ Pr ∨m

i¼1Ti¼ 1

(1:5) Equation (1.4) can be represented as50,51

Equation (1.6) is equivalent to53

yð Þ ¼ Tx 1∨T1 T2∨T2… T m1∨Tm1Tm

(1:7) Equation (1.7) is easier to implement compared with Eq (1.4) because it is a recursion of T i1∨Ti1Ti

, where each Tiis a minimal path Equation (1.7) is an orthogonal disjunctive normal form (ODNF)51because 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,53yields the following:

Rst ¼ Pr y xð ð Þ ¼ 1Þ ¼ Pr ∨m

i¼1Ti¼ 1

¼Xm

i¼1

when events T1, T2,…, Tmare mutually exclusive

Definition 454

Assume that Ki= z1∧ z2∧ … ∧ zhis an elementary conjunction The inversion of Ki(denoted by Ki) is calculated as follows:

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

Trang 5

For example, consider a DNFΦ = (z1∧ z2)∨ (z3∧ z4∧ z5)∨ z6.Φ can be denoted as follows:

Φ ¼

z1 z2

z3 z4 z5

z6

2 6

3 7

Theflowchart of the LPC-based algorithm (LPCA) is shown in Figure 3 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 Tiin 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 hasfive 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 ≥ 0

• Step 5: If the result in Step 4 holds true, three sub-steps are executed:

1 calculate the inversion of Ki  1(denoted by Ki1) using Eq (1.9)

2 calculate the multiplication of Ki1and R (Ki1:R) regarding distributive law54

3 calculate the addition of Ki  1and Ki1:R (Ki1∨Ki1:R) regarding associative law54

Figure 3 Flowchart of logical-probabilistic calculus-based algorithm

Trang 6

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 xiby piand xiby (1 pi) We then compute the two-terminal reliability

4.2 An example

We apply the proposed algorithm to the sample network in Figure 2 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 ≤ 3 and 0 ≤ j ≤ 5) We calculate the reliability between nodes ‘0’ and ‘1’ (R01) First, we use a backtracking-based algorithm49to obtain a set of minimal paths: 0→ 1, 0 → 2 → 1, 0 → 2 → 3 → 1, 0 → 3 → 1, and

0→ 3 → 2 → 1

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 thefirst minimal path 0 → 1 (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 + 0 = 4) The first row of W is [0 4 1] Similarly, the second row of W is [0 8 2 5 1] As a result, W is obtained as follows:

2 6 6 6 4

3 7 7 7 5

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

W’ ¼

2 6 6 6 4

3 7 7 7 5

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 ¼ K5¼ 2 3 5 6 7½ ; i ¼ m ¼ 5 Because i = 5≥ 0, the algorithm jumps to step 5 It computes the following:

1 The inversion of K4(denoted by K4) using Eq (1.9)

Trang 7

Note that2 means negation of 2 (2).

Note that the product of row 1 of K4and R is zero because the former includes2 and the later includes 2 Similarly, the product of rows 2 and 3 of K4and R are also zero

Finally, R is obtained in an ODNF:

4

2 6 6 6 6 6 6

3 7 7 7 7 7 7

To compute the reliability, we compute the probability of each row in R We replace each element in row by piif 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 1 pi or 1 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 R01by summing the probabilities of the rows

R01¼ Pr 1ð Þ þ Pr 2ð Þ þ Pr 3ð Þ þ Pr 4ð Þ þ Pr 5ð Þ þ Pr 6ð Þ þ Pr 7ð Þ ¼ 0:997848 Finally, we multiply R01by the probability of each node in C

R01¼ R01p0p1¼ 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

Trang 8

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  1are denoted by solid blocks.

Theflowchart of P-LPCA is shown in Figure 5

Figure 5 Flowchart of parallel-logical-probabilistic calculus-based algorithm

Figure 4 Parallel process for Eq (1.6)

Trang 9

5 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 4 GB of RAM running OS Windows 7 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 1 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)

aThe reliabilities of nodes and edge are 1.0 and 0.9, respectively

Figure 6 Network 1 with s = 0 and t = 1

Figure 7 Network 2 with s = 0 and t = 3

Trang 10

Figure 8 Network 3 with s = 0 and t = 4

Figure 9 Network 4 with s = 0 and t = 3

Figure 10 Network 5 with s = 0 and t = 3

Figure 11 Network 6 with s = 0 and t = 4

Figure 12 Network 7 with s = 0 and t = 3

Ngày đăng: 16/12/2017, 11:32

TỪ KHÓA LIÊN QUAN