09.09.2014 Views

13th International Conference on Membrane Computing - MTA Sztaki

13th International Conference on Membrane Computing - MTA Sztaki

13th International Conference on Membrane Computing - MTA Sztaki

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

H. ElGindy, R. Nicolescu, H. Wu<br />

paths between two nodes are important in many fields. They are fundamental<br />

in biological remodelling, e.g., of nervous or vascular systems [5]. Multipath<br />

routing provides effective bandwidth in networks [17]. Disjoint paths are sought<br />

in streaming multi-core applicati<strong>on</strong>s to avoid sharing communicati<strong>on</strong> links between<br />

processors [15]. The maximum matching problem in a bipartite graph<br />

can be transformed to the disjoint paths problem [9]. For n<strong>on</strong>-complete graphs,<br />

Byzantine agreement requires at least 2k + 1 node-disjoint paths, between each<br />

pair of nodes to ensure that a distributed c<strong>on</strong>sensus can occur, with up to k<br />

failures [10].<br />

All distributed algorithms discussed in this paper are distributed, totally<br />

message-based (no shared memory) and work synchr<strong>on</strong>ously: for brevity, we call<br />

them distributed, implicitly assuming their other characteristics. In this paper,<br />

Algorithm A is a distributed versi<strong>on</strong> of the classical edge-disjoint algorithm,<br />

based <strong>on</strong> Ford-Fulkers<strong>on</strong>’s maximum flow algorithm [6] and the classical distributed<br />

DFS [16]. Algorithm A ∗ is its slightly improved versi<strong>on</strong>, proposed by<br />

Dinneen et al. [3].<br />

Recently, we proposed an improved distributed algorithm [12], here called<br />

Algorithm B. Algorithm B improved Algorithms A and A ∗ by (a) using Cid<strong>on</strong>’s<br />

distributed DFS [2, 16], which avoids revisiting cells in the same round, and (b)<br />

a novel idea, discarding “dead” cells detected during failed rounds, i.e. cells that<br />

will never appear in a successful search.<br />

In this paper, we present two new distributed algorithms: (1) Algorithm C,<br />

which, using a different idea, discards “dead” cells identified in both successful<br />

and failed rounds, and (2) Algorithm D, which combines the benefits of Algorithms<br />

B and C.<br />

Briefly, in all our algorithms, B, C, and D, search rounds explore unvisited<br />

cells and arcs. Cells and arcs encountered during the search are tentatively<br />

marked as temporarily visited. Temporarily visited cells and arcs which are detected<br />

“dead” are marked as permanently visited and ignored in the next search<br />

round. At the end of each search round, remaining temporarily visited cells and<br />

arcs revert to the unvisited status and can be revisited by next search round.<br />

Our algorithms differ (1) in the rules used to detect “dead” cells and (2) in<br />

the process used to discard these “dead” cells for the next rounds. Our previous<br />

Algorithm B detects “dead” cells at the end of failed search rounds (<strong>on</strong>ly) and<br />

discards them in “real-time”, <strong>on</strong> shortest paths. Our new Algorithm C can detect<br />

“dead” cells during any kind of search round (regardless if it is failed or successful)<br />

but discards these <strong>on</strong> the current search path trace, which is typically l<strong>on</strong>ger<br />

than the shortest path possible (especially in digraphs). In c<strong>on</strong>trast, classical<br />

algorithms, such as Algorithms A and A ∗ , do not discard any cell, and reset all<br />

cells as unvisited, at each search round end.<br />

We also c<strong>on</strong>sider a restricted versi<strong>on</strong> of Algorithm C, called Algorithm C ∗ ,<br />

where we intenti<strong>on</strong>ally omit to discard “dead” cells found in failed rounds: in<br />

this sense, Algorithm C ∗ is the opposite of Algorithm B. We can thus better<br />

assess the power of the main new idea behind Algorithm C: even its restricted<br />

versi<strong>on</strong>, C ∗ , still detects a superset of all “dead” cells detected by Algorithm B.<br />

172

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!