1120 1999 68-77 68 $\bullet$ A Distributed Sorting Algorithm on a Line Network Adopting the Viewpoint of Sequential and Parallel Sorting Atsushi SASAKI NTT $=$ 619-0237 2-4 $\mathrm{n}\mathrm{t}\mathrm{t}\mathrm{c}\mathrm{o}$ atsushi@cslabkecl jp $\text{ }\mathrm{k}\mathrm{s}$ 1 Zaks [1] Zaks[l] - \check / Hofstee [ 2
$\ovalbox{\tt\small REJECT}$ $\iota$ 69 1 - Hofstee $nk$ [2] $n$ $B_{i}^{I}$ $=$ $k$ $\langle v_{1}^{i} v_{2}^{i} \ldots v_{k_{i}}^{i}\rangle$ Hofstee [2] $\forall j$ $1\leq$ $k=1$ $j<k_{i}$ $v_{j}^{i}\leq v_{j+1}^{i}$ $B_{i}^{I}$ 3 $\max$ $\min$ 1 4 Hofstee [2] $B_{i}^{F}$ 5 $\forall i$ 6 1 $1\leq i<n$ $\max\{v_{j}^{i} 1\leq j\leq k_{i}\}\leq$ 2 $\min\{v_{j}^{i+1} 1\leq j\leq k_{i+1}\}$ $v_{1^{+1}}$ $v_{k}^{i}\cdot$ $\leq$ $\forall i$ 2 $ B_{i}^{F} = B_{i}^{I} $ $P_{1}$ $P_{2}$ $P_{n}$ $\leq$ $\ldots$ (1 $i$ $<$ $n)$ +++1 $t$ $B_{i}^{t}$ [3] $P_{1}$ lefl right $\forall i$ 3 $k_{i}=1$ $(P_{1})$ 31 $left=$ null $(P_{n})$ right $=null$ lefl right 1 1 $i$ $n$ [1] $[3 4]$
$\mathrm{f}$ 1 70 $n$ 1 $-7^{\mathrm{K}\mathrm{s}}$ DBS $n-1$ $2n-1$ [5] $2n(n-1)$ [1] $n-1$ $2n-1^{\uparrow}$ [61 4 $\forall i$ $k_{i}\geq 2$ 1 DBS $u$ $v_{1}$ $v_{2}$ Hofstee [2] DBS (distributed bubble sort) $\forall i$ $k_{i}=k$ $\forall i$ $k_{i}\geq 2$ 32 DBS $2n$ 1 2 $n$ $v_{1}=v_{2}$ $n-1$ DBS $n$ - $2(n-1)$ $2(n-1)$ $2n(n-1)$ $\frac{n^{2}}{2}$ 42 1 DBS $\frac{3}{2}n$ $v_{k_{i-1}}^{i-1}$ } $\max\{v_{j}^{i-1} 1\leq j\leq k_{i-1}\}p$min $\{v_{j}^{i} 1\leq j\leq$ $v_{1}^{i}$
$P_{\frac{n}{2}}$ $i^{\gamma}$ 71 2 $\max\{v_{j}^{i} 1\leq j\leq k_{i}\}k\min\{v_{j}^{i+1} 1\leq j\leq$ $k_{i+1}\}$ $v_{k}^{i}\cdot$ $v_{1}^{i+1}$ $S(1 \frac{n}{2}0)$ $P_{\frac{n}{2}}$ $P_{\frac{n}{2}+1}$ 41 $ S(1 \frac{n}{2}0) =\frac{nk}{2}$ DBS $n$ P ( ) $n$ $S(ij r)b_{i^{t}}\cup B_{i+1}^{f}\cup\cdots\cup B_{j}^{r}$ $i\leq j$ $j>n$ $S(ij r)=$ $S(1 \lceil\frac{n}{2}\rceil-10)$ $P_{\lceil\frac{n}{2}\rceil}$ $S(i n r)$ $S_{i}^{+}(r)$ $S_{i}^{-}(r)$ $e_{i\backslash }(S)$ $w_{i}$ $P_{i+1}$ $P_{i-1}$ ( ) $n$ $P_{\frac{n}{2}}$ $P_{\frac{n}{2}+1}$ $\text{ }-$ 1 $\lfloor\frac{n}{2}\rfloor k+1$ $P_{\lceil\frac{n}{2}\rceil}$ $S$ $i$ 2 $\geq$ 2 $\exists j>i$ $e_{i}(s)=e_{j}(s)$ $e_{i}(s)$ $\frac{m-d}{2}+f$ $\exists i$ $e_{j}(s)$ $i$ $w_{i}=e_{i}(s(1 n 0))$ $M(S ij)\{e_{i}(s) e_{i+1}(s) e_{j}(s)\}$ 42 \langle $m= \sum_{i=1}^{n}k_{i}$ $d= \min_{1\leq j<n}\{ \sum_{i=1}^{j}k_{i}-\sum_{i=j+1}^{n}k_{i} \}$ $f=\{$ $ \sum_{i=1}^{a}k_{i}-\sum_{i=a+1}^{n}k_{i} = \sum_{i=1}^{b}k_{i}-\sum_{i=b+1}^{n}k_{i} \square$ 1 $0$ $\forall i$ $k_{i}=k$ otherwise DBS $\forall i$ $k_{i}=k$ 1 $k$ lefl 1 $n$ $\frac{nk}{2}$ $\mathit{2}$ $n$ rig $\mathrm{l}\frac{n}{2}$ $k+1$ 1 $\exists a$ $\exists b>a$ $st$ $d=$
$v_{1}^{i}$ 72 3 $x\in S_{i}^{+}(r)\backslash S_{i+1}^{-}(r)$ m\ in $B_{i}^{f}\leq x$ $r=0$ $S_{i-1}^{+}(0)=S_{i}^{-}(0)=\emptyset$ $x\in S_{i}^{+}(_{\backslash }r)\backslash S_{i+1}^{-}(r)$ ( ) $x\in$ $S(1 i 0)$ $x\in S(i+1 n r)$ $x$ +++1 $P_{i+1}$ $r $ $x\underline{\backslash \prime}y$ $x= \min\{s(i+1 i+r 0)\cup+S_{i}^{+}(r-1)\}\backslash S_{i+1}^{-}(r-1)$ $P_{i+1}$ $x$ 3 $x$ $\forall y\in S_{i}^{+}(r)\backslash S_{i+1}^{-}(r)$ $x\leq y$ $n>i+r$ 1 $P_{i+1}$ $B_{i}^{t}\backslash v_{k}^{i}$ $r \leq t\leq r$ $x\geq y$ $\forall y\in$ $B_{i^{\Gamma}}\leq x$ rnin $S_{i+1}^{-}(r)\subseteq S(i+$ $x$ $P_{i+2}$ $1$ $i+r_{}0)\cup+s_{i}^{+}(r)$ $\min S_{i+1}^{-}(r)\leq x$ $\min S_{i+1}^{-}(r)=\min S(i+1 i+r 0)\cup+S_{i}^{+}(r\rangle$ le $=$ $\min S(i i r)$ $\min\{s(i i 0)\cup+S_{i-1}^{+}(r)\oplus\iota\text{\c}_{i+1\backslash }^{-/}r_{\grave{j}}\}$ $ (\cup$ $=$ $\backslash \{S_{i\backslash }^{+}(r)\cup+s_{i}^{-}(r)\}$ 4 1 $n-i$ $v_{1}^{i}= \min\{s_{(i\perp r0)\cdot(r)\}^{\backslash _{\backslash }}S_{i}^{-}(r)} \dot{7}_{j1} -\cdot!\mathrm{q}+arrow i-\underline{\rceil}f$ $S(i i 0)$ $B_{i}^{I}$ $i$ $1<i\leq n$ $r-1$ $r-1$ $P_{i+1}$ $x$ $P_{i+1}$ $\forall y\in B_{i}^{r }\backslash v_{k}^{i}$ $r \leq r$ $x$ 2 $r\geq n-i$ $1<i $\forall z\in S_{i+r}^{+}(r)\backslash S_{i+r+1}^{-}(r)$ $x\leq z$ $x\leq \mathrm{x}\mathrm{l}\mathrm{i}\mathrm{n}\{s(i+1 i+r 0)\cup+S_{i}^{+}(r)\}\backslash S_{i+1}^{-}(r)$ $=$ $\min\{s(i i 0)\cup+S_{i-1}^{+} (r)$ $\cup+s(i+1 i+r0)\}\backslash S_{i}^{-} (r)$ $=$ $\min$ { $S(i$ $i+r$ $0)$ $S_{i-1}^{+}(r)$ } $\backslash S_{i}^{-}(r)$ 3 4 \underline{<}\lfloor\frac{n}{2}\rfloor$ -1 \acute -\sim Pi-l ( ) $r\geq n-i$ $S(- i i+r 0)=$ $w_{k(i-1)}$ $S(i n 0)$ $x\in M(S(i n 0) 1 k(i-1))$ Pi-l $\{S(i i+r 0)\cup+S_{\dot{\mathrm{t}}-1}^{+}(r)\}\backslash S_{i}^{-}(r)=S(i n r)$ $n-2(i-1)$ $k(i-1)$ $\max_{\mathrm{r}}\{ S_{i}^{-}(r)\backslash S_{i-1}^{+}(r) \}$ $ S(1 i-10) $ $r<n-i$ $r<n-i$ $P_{n}$ $k(i-1)$ $P_{n-i+2}$ $P_{n-i+3}$ $\ldots$
$\not\in$ $S(i 73 $\forall x\in M(S(i n 0) 1 k(i-1))$ -1 $n-2(i-1)+k(i-1)=n+(k-2)(i-1)$ $n+(k-2)(i-1)$ $n-2i+1$ $M(S(i n 0) 1 k(i-1))$ $n-2(i-\rceil\perp)-1$ $x\in M(S(i n 0) 1 k(i-1))$ $n+(k-2)(i-$ $n+(k-2)(i-$ 61 $<$ $i$ $\leq$ $1 \frac{n}{2}$ $w_{k(i-1)+1}$ $B_{i}^{n+(k-2)(i-1\rangle-1}$ $n+i(k-2)$ ( ) $n_{s}= \{w_{h} h\leq k(i-1) w_{h}\in S(i n 0)\} $ $n_{s}<k(i-1)$ $M(S(i n 0) k(i-1)+1 ki)$ $x\in M(S(i n 0) 1 n_{s})$ -1 $P_{i-1}$ $=$ $n-(i-1)-\mathrm{r}^{\underline{n}_{\overline{k}^{\iota}}}\rceil$ $M(S(i n 0) 1 k(i-1))$ $r=n-(i-1)-\lceil_{k}^{\underline{n}_{\mathrm{a}}}\rceil\geq i-1$ $n-$ 4 $2(i-1)$ $P_{i-1}$ $S(1 i-1 r )$ $r \geq i-1$ $n-2(i-1)-1$ $e_{k(i-1\rangle+1}(s(i n 0))$ $r=n-(i-1)-$ $1)-1$ $\lceil_{k}^{\underline{n}_{\mathrm{a}}}\rceil<i-1$ $1)$ $e_{k(i-1)+1}(s(i?\mathrm{t} 0))$ $S(1 i-10)$ $n+(k-2)(i-1)$ $k(i-1)-n_{s}$ $i-1$ $S(1 i-2 r)$ $e_{k(i-1)+1}(s(i n 0))$ $P_{i-1}$ $P_{i-1}$ $e_{k(i-1)+1}(s(i n 0))$ $n+(k-$ $(k-1)(i-1)-n_{s}$ $2)(i-1)-1$ $\{n-(i-1)-\lceil\frac{n}{k}\mathrm{l}\rceil\}+\{(k-1)(i-1)-n_{s}\}=$ $k-1$ $\forall x\in$ $n+(k-2)(i-1)-n_{s}-\mathrm{r}_{\frac{n}{k}\mathrm{t}}\rceil$ $\forall w_{j}j\leq k(i-1)$ $M(S(i n 0) k(i-1)+1 ki)$ $P_{i-1}$ $n+(k-2)(i-$ $w_{j}j\leq k(i-1)$ $1)-n_{s}- \lceil\frac{n}{k}\mathrm{l}\rceil<n+(k-2)(i-1)-1$ $w_{j}\in S(i n 0)$ $P_{i-1}$ 5 $w_{k(i-1)}$ 5 6 1 6 $i$ 51 $<$ $\leq$ $\mathrm{l}\frac{n}{2}$ $\forall w_{j}j$ $\leq$ 1 $\in$ $k(i-1)$ $w_{j}$ $S(i n 0)$ $\in$ $k\geq 2$ $w_{k_{\mathrm{e}}(i-1)+1}$ $B_{i}^{n+(k-2)(i-1)-1}$ $n+i(k-2)$ $DBS$ $w_{j}$ n 0)$ % 1 $\frac{nk}{2}$ 1 $n$ $\leq$ $j$ $\leq$ $k(i-1)$ 2 $n$ $\lfloor\frac{\rho_{\vee}}{2}\rfloor k+1$ $P_{i-1}$ $P_{l}$ $w_{k(i-1)}$ ( ) $P_{1}$ $P_{n}$ $r\iota-\perp!$ $P_{i-1}$ $w_{k(i-1)}$ $k-1$ $n+k-2$ -1 6 $i=1$ 6 5 $n+i(k-2)$ $1<i \leq 1\frac{n}{2}$ $P_{1}$ $P_{\lfloor\frac{n}{2}\rfloor}$ $\in$
$\frac{nk}{2}$ $\sum_{\dot{\mathrm{l}}^{-}}^{n_{\overline{2}}}\underline{k_{i}}$ 74 $\max\{n+i(k-2) 1\leq i\leq\lfloor\frac{n}{2}\rfloor\}$ 2 $=$ $n+ \lfloor\frac{n}{2}\rfloor(k-2)$ n $=$ $\{$ $\lfloor\frac{n}{2}\rfloor k+1$ n $n$ $n$ $O(n)$ $i \geq \mathrm{r}\frac{n}{2}\rceil+1$ $n$ $n$ 2 $P_{1}$ $P_{\lfloor\frac{-n}{2}\rfloor}$ $P_{\lceil\frac{n}{2}\rceil+1}$ $O(1)$ P = $2(n-1)$ $\square$ 1 $m<4(n-1)$ $n$ $\lfloor\frac{n}{2}\rfloor k+1=\frac{n-1}{2}k+1$ $k\geq 2$ $\frac{n-1}{2}k+1$ 2 $\leq\frac{nk}{2}$ 2 1 $k\geq 2$ $DBS$ 5 $\frac{nk}{2}$ 51 $\forall i$ 2 $k_{i}=k$ $k_{i}\geq 2$ $DBS$ $\frac{m-d}{2}+f$ $k_{i}=1$ $k_{i}\geq 2$ $f=\{$ 1 $\exists $m= \sum_{i=1}^{n}k_{i}$ $k_{i}=1$ 3 $k_{i}=1$ $d= \min_{1\leq i<n}\{ \sum_{i=1}^{j}k_{i}-\sum_{i=j+1}^{n}k_{i} \}$ a$ $\exists b>a$ $st$ $d=$ i$ $\forall $k_{i}=k$ $ \sum_{i=1}^{a}k_{i}-\sum_{i=a+1}^{n}k_{i} = \sum_{i=1}^{b}k_{i}-$ $\sum_{i=b+1}^{n}k_{i} \square$ $k_{i}=1$ $0$ otherwise $\forall\dot{j}$ 2 $k_{i}\geq 2$ $k_{i}\geq 2$ $DBS$ $k_{i}=1$
75 $\forall i$ $k_{i}=k$ $k=1$ $k\geq 2$ $c<0$ 1 $B_{i}^{T} - c <k_{i}$ $k_{i}- B_{i}^{T} + c $ rig $\mathrm{m}_{2}nk+k_{--}1$ \ddagger $c>0$ $c+ B_{i}^{T} >k_{i}$ $c+ B_{i}^{T} -k_{i}$ $\exists i$ $1$ $k_{i}=$ $\exists ij$ $k_{i}\neq k_{j}$ rig $c$ le DBS $T$ $k_{i}=1$ $c>0$ $c+ B_{i}^{T} <k_{i}$ $k_{i}-c-$ $ B_{i}^{T} $ $c$ le $c>0$ $c+ B_{i}^{T} =k_{i}$ $c$ lefl $C$ $ \{v v\in C v\in B_{j}^{T} 1\leq j<i\} = \{P_{j} k_{j}=$ $ c $ right 1 1 $\leq j<$ le ht $ c $ le rig $n-1$ $ c =n-1$ le $P_{n}$ $n-1$ $\forall i$ $1\leq i<n$ $k_{i}=1$ $k_{n}\geq 2(n-1)$ $\forall x\in S(1 n-10)$ $x\in B_{n}^{T}$ $0$ $c$ lefl $c=c+1$ le $c=c-1$ $ \{P_{j} k_{j}=11\leq$ DBS $j<i\} $ $ \{v v\in C v\in B_{j}^{T} 1\leq j<i\} $ $ \{P_{j} k_{j}=1 i\leq j\leq n\} $ $ \{v v\in C$ $v\in B_{j}^{T}$ $i\leq$ $j\leq n\} $ $B_{i}^{T}$ 52 $c=0$ $ B_{i}^{T} =k_{i}$ $\forall i$ $=k$ $1$ $k=$ $k$ $>$ 2 $\mathrm{m}_{2}nk+k--1$ $ B_{i}^{T} >k_{i}$ $k_{i}=1$ $ B_{i}^{T} =2$ le send lefl $\dot{}\frac{\sum_{=1}^{n}(k;+[k=1])}{2}+n-1$ ht $c=0$ $ B_{i}^{T} =k_{i}$ $\sum_{i=1}^{n-1}i=\frac{n^{2}-n}{2}$ $(n-1) \sum_{i=1}^{n}(k_{i}+[k_{i}=1])+\frac{n^{2}-n}{2}$ $c=0$ $ B_{i}^{T} <k_{i}$ $k_{i}- B_{i}^{T} $ right $m= \sum_{i=1}^{n}k_{i}$ $c=0$ $ B_{i}^{T} =k_{i}+1=2$ $m\geq n$ right $O(m+n)=O(m)$ $O(nm+n^{2})=O(nm)$ $c<0$ $ B_{i}^{T} - c =k_{i}$ I $=1$ 3 le [1] $\text{ ^{ }}$ $\mathrm{t}_{[x]}$ $X$ 1 $0$
$\mathrm{l}^{-}\lrcorner[31$ Nancy $\mathrm{m}\mathrm{c}_{\backslash }\mathrm{g}\mathrm{a}_{--\eta_{-}}$ Kaufmann 76 6 [2] H Peter Hofstee Alain J Martin and Jan LA Van De Snepscheut Distributed Sorting Science of Computer $Prog^{\eta}$ amming Vol [2] (DBS 15 No 2-3 pp 119-133 1990 ) [1] Publishers 1996 [4] 1994 [5] F Thomson Leighton Introduction to Parallel Algorithms and Architectures $Arra\wedge ys$ $\frac{nk}{2}$ DBS [2] Toees Hypercubes Morgan Kaufmann Publishers 1992 $nk$ [6] 1999 $\mathrm{p}\mathrm{p}\cdot 188--$ 189 1999 DBS DBS A Lynch Distributed Algorithms DBS $T$ [1] DBS $\frac{1}{n}$ null left null rece left) $=$ $\mathrm{i}ve((k_{l} v_{l})$ $k_{l}$ $\iota \mathrm{j}v_{l}\wedge$ $=$ $=$ $-\infty$ $\exists i$ $k_{i}=1$ right $=null$ receive right) $((k_{r} v_{r})$ $k_{r}=0$ $v_{r}=\infty$ receive $(x P)$ $P$ $x$ uid true 1 $k_{i}+[k_{i}=1]$ $t$ ( ) $-1$ [1] Shmuel Zaks Optimal Distributed Algorithms for Sorting and Ranking IEFE $T$DBS Transactions on Computers Vol C-34 No $\infty$ 4 pp 376-379 1985 $T= \lfloor\frac{\sum_{i=1}^{n}(k_{i}+[k_{i}=1])}{2}\rfloor$ $k_{sum}$
$v_{\mathit{2}}$ 77 $V_{1}$ if $v_{1}$ is marked with copy then $\ldots$ $c=c-1$ $v_{k_{i}}$ if $v_{l}$ is marked with copy then $\forall j$ $1\leq j<$ $c=c+1$ $k_{iv_{j}}\leq v_{j+1}$ $v_{2}$ $k_{i}=1$ $v_{2}=v_{1}$ copy $v_{2}$ $v_{1}=v_{l}$ if $v_{k_{i}}>v_{r}$ $v_{k_{i}}=v_{r}$ $Bk_{i}=1$ sort $(B)$ $v_{1}$ $v_{2}$ send right) $((k_{l} v_{k_{i}})$ send $v_{1}$ $v_{2}$ $\ldots$ le $ft$) $((k_{r} v_{1})$ $v_{k_{i}}$ $B$ null if $t=t$ then $ B $ receive le $ft$) $((d_{l} v_{l})$ receive $c$ $0$ right) if $v_{1}<v_{l}$ then $e_{l}$ $e_{r}$ ( ) if $v_{1}$ is marked with copy then $0$ $c=c-1$ $u_{l}$ $u_{r}b$ null ( ) if $v_{l}$ 2 (for ) $t=t+1$ if $t=0$ then if $left=null$ then $e_{l}=0$ then is marked with copy then $c=c+1$ $v_{1}=v_{l}$ if $v_{k_{i}}>v_{r}$ $v_{k_{i}}=v_{r}$ then delete elements marked with copy in $B$ sort $(B)$ send( $(k_{i}+[k_{i}=1]$ $v_{k_{i}})$ right) if $t>t$ then if right $=null$ then if receive($v_{l}$ left) $=true$ then $e_{r}=0$ append $v_{l}$ to the left-end in send( $B$ $(k_{i}+[k_{i}=1]$ $v_{1})$ right) $c=c-1$ if le $fb\neq null$ and right $\neq null$ then if receive( $v_{r}$ right) $=true$ then $((\mathrm{o} v_{k})$ send right) append $v_{r}$ to the right-end in send $B$ $((0 v_{1})$ le $ft$ ) if $t\geq T$ then if $1\leq t<t$ then if $c=0$ $ B =k_{\dot{\mathrm{t}}}$ and then receive $((k_{lv_{l}})$ le $ft$) sleep receive $((k_{r} v_{r})$ right) if $c=0$ and then if $ B >\kappa_{i} $ $k_{l}>0$ then send( $u_{r}$ right) $e_{l}=k_{l}$ delete $u_{r}$ from $B$ $k_{sum}=k_{sum}+k_{l}$ if $c<0$ then $k_{l}=k_{l}+k_{i}+[k_{i}=1]$ send ( $u_{l}$ le $ft$) if $k_{r}>0$ then delete $u_{l}$ from $B$ $e_{r}=k_{r}$ $k_{s^{j}um}=k_{sum}+k_{r}$ $k_{r}=k_{r}+k_{i}+[k_{i}=1]$ $c=c+1$ if $c>0$ and $c+ B -k_{i}>0$ then send($u_{r}$ right) if $e_{l}>0$ $e_{r}>0$ and $T=\infty$ then delete $u_{r}$ from $B$ $T=\lfloor^{k}[] 34\mathrm{n}\rfloor 2$ if $v_{1}<v_{l}$ then