We consider comparator networks  M  that are used repeatedly: while the output produced by  M  is not sorted, it is fed again into  M .  Sorting algorithms working in this way are called  periodic . The number of parallel steps performed during a single run of  M  is called its  period , the sorting  time  of  M  is the total number of parallel steps that are necessary to sort in the worst case. Periodic sorting networks have the advantage that they need little hardware (control logic, wiring, area) and that they are adaptive. We are interested in comparator networks of a constant period, due to their potential applications in hardware design.   Previously,   very little was known on such networks. The fastest solutions required time  O(n  e ) where the depth was roughly 1/e. We introduce a general method called  periodification scheme  that converts automatically an arbitrary sorting network that sorts  n  items in time  T(n ) and that has layout area  A(n ) into a sorting network that has period 5, sorts ***( n  •  T ( n ) items in time  O(T( )• log  n ), and has layout area  O(A(n) ) •  T(n )). In particular, applying this scheme to Batcher's algorithms, we get practical period 5 comparator networks that sort in time     O (log 3  n ). For theoretical interest, one may use the AKS netork resulting in a period 5 comparator network with runtime  O (log 2  n ).
['Mirosław Kutyłowski', 'Krzysztof Loryś', 'Brigitte Oesterdiekhoff', 'Rolf Wanka']
Periodification scheme: constructing sorting networks with constant period