US6091723A - Sorting networks having improved layouts - Google Patents

Sorting networks having improved layouts Download PDF

Info

Publication number
US6091723A
US6091723A US08/956,061 US95606197A US6091723A US 6091723 A US6091723 A US 6091723A US 95606197 A US95606197 A US 95606197A US 6091723 A US6091723 A US 6091723A
Authority
US
United States
Prior art keywords
network
comparison circuits
sorting
signals
merger
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US08/956,061
Inventor
Shimon Even
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Priority to US08/956,061 priority Critical patent/US6091723A/en
Assigned to LUCENT TECHNOLOGIES, INC. reassignment LUCENT TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EVEN, SHIMON
Application granted granted Critical
Publication of US6091723A publication Critical patent/US6091723A/en
Assigned to THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT reassignment THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT CONDITIONAL ASSIGNMENT OF AND SECURITY INTEREST IN PATENT RIGHTS Assignors: LUCENT TECHNOLOGIES INC. (DE CORPORATION)
Assigned to LUCENT TECHNOLOGIES INC. reassignment LUCENT TECHNOLOGIES INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Assignors: JPMORGAN CHASE BANK, N.A. (FORMERLY KNOWN AS THE CHASE MANHATTAN BANK), AS ADMINISTRATIVE AGENT
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1507Distribute and route fabrics, e.g. sorting-routing or Batcher-Banyan

Definitions

  • the present invention relates to sorting networks. More particularly, the invention relates to a reduced-area layout for sorting networks.
  • Sorting networks are useful as fast circuits for performing data sorting. Sorting networks consist of input terminals, a plurality of comparison circuits, interconnections or links and output terminals. A comparison circuit is operable to compare two values appearing at its inputs and to route them to respective outputs based on those values. For example, the lesser of the two values may be directed to a predetermined first output and the greater of the two values may be directed to a predetermined second output of the comparison circuit. Sorting networks are useable, for example, in conjunction with parallel processing for computers, and as message routers for sorting messages such as in data and telecommunication networks.
  • the area required for a sorting network is not, however, necessarily controlled by the number of comparison circuits in the network.
  • An additional important consideration is the area required for the interconnects, e.g., wires or the like, linking the various elements of the sorting network.
  • the physical layout of a sorting network may be of paramount importance in minimizing area requirements.
  • the present invention is directed to a method for laying out a sorting network, and to sorting network layouts resulting therefrom.
  • the area required for implementing a network can be determined by developing a grid layout for the network.
  • the grid layout encompasses the various interconnect permutations required within the network.
  • Batcher's odd-even sorting network can be laid-out in an area of 3N 2 or fewer grid units for a network of N inputs.
  • the comparison circuits comprising the network are arranged into one or more substantially triangularly-shaped groups referred to herein as "cones.”
  • a "primary" cone consists of N-1 comparison circuits arranged in a triangularly-shaped grouping and having a symmetry axis aligned between input N/2 and N/2+1, i.e., along the midpoint of the N inputs.
  • Comparison circuits not included in the primary cone are arranged in other cones containing fewer comparison circuits than the primary cone and having other symmetry axes. The arrangement of sorting network comparison circuits into such triangularly-shaped groupings was hitherto unknown.
  • each link interconnecting the inputs and outputs of all comparison circuits is “slanted,” such as, for example, by 45°, relative to conventional layouts.
  • channel linking is used to conduct signals between cones and to bring such signals together, according to the network definition, in a first column of comparison circuits within such cones.
  • FIG. 1 shows a simplified illustration of a comparison circuit C
  • FIG. 2 shows a portion of an exemplary grid for laying out a network and a representation of grid area
  • FIG. 3 shows a block diagram of Batcher's odd-even network for sorting
  • FIG. 4 shows detail of an odd-even merger, M n+1 , an element of the odd-even network
  • FIG. 5 shows the conceptual structural elements of a layout of an odd-even merger circuit according to the present invention
  • FIG. 8 shows a simplified diagram of a portion of an asynchronous transfer mode (ATM) network
  • FIG. 9 shows a simplified diagram of an asynchronous transfer mode (ATM) switch.
  • ATM asynchronous transfer mode
  • An exemplary sorting network has N input terminals and N output terminals and a plurality of comparison circuits and interconnects or links. If N signals, representing N values, such as, for example, real numbers or address values, are fed into the input terminals, the same signals appear sorted on the output terminals. Sorting networks can be implemented to process electronic, optical or other types of signals. It will be appreciated that the physical implementation of the network will vary depending upon the signal-type being processed, e.g., electronic, optical.
  • FIG. 1 shows a simplified illustration of a comparison circuit C.
  • a comparison circuit contains logic circuits, memory cells and the like, as described in Weste et al., Principles of CMOS VLSI Design, Section 9.4, (Addison-Wesley, 1985). That publication, and all others mentioned in this specification are incorporated by reference herein.
  • a comparison circuit such as the comparison circuit C, is operable to sort two signals. For clarity and ease of presentation, such signals will hereinafter be referred to as "numbers.” Further, as used herein, the term “vector” is defined as a sequence of signals.
  • the comparison circuit C has two input terminals 6, 8 and two output terminals 10, 12, as illustrated in FIG. 1. If two numbers x, y are fed to the two inputs 6, 8, the same numbers x, y emerge sorted on the output terminals 10, 12. It is assumed herein that the number, say x, having the smaller value emerges upwardly, i.e., on terminal 10 in FIG. 1, and the number, y, having the larger value emerges downwardly, i.e., on terminal 12. To simplify the following description, designations for numbers (signals) delivered to the terminals, and the terminals receiving such numbers, will be used interchangeably.
  • the networks described herein also have fixed interconnects or links, such as the fixed interconnects 4a-d shown in FIG. 1.
  • Such interconnects are normally implemented, for example, as conductive traces patterned on and throughout integrated circuits, or as optical waveguides in optical circuits. All such interconnects are directed links connecting a network input terminal, not shown, or a comparison circuit output terminal to a comparison circuit input terminal, or a network output terminal, not shown.
  • a grid can be used to assist in laying out a network.
  • a grid consists of a first and a second set of straight lines. In each of such sets, the lines are parallel. It is assumed herein that the distance between any two adjacent parallel lines is the same as the distance between any other two adjacent parallel lines, though such distance can vary. That distance is assumed to be equal to one unit, referred to herein as a "grid segment.”
  • the lines of the first set may lie in any non-zero angle with respect to the lines of the second set. For clarity of presentation, that angle is assumed herein to be ninety degrees, i.e., the lines of the first set are orthogonal to those of the second set.
  • the grid is a square.
  • the grid points are the points of intersections of the lines of the first set with the lines of the second set.
  • FIG. 2 shows a portion of such a grid.
  • the first and second sets of straight lines are oriented vertically as “grid columns,” and horizontally as “grid rows.”
  • the grid portion shown is defined by grid columns col9-col14 and grid rows row11-row14.
  • the grid area encompassed by a region bounded by grid columns col9-col14 (side a), and grid rows row11-row14 (side b) is fifteen grid units (GU).
  • a grid unit GU is not arbitrarily small.
  • a grid unit has a minimum size dictated by the state-of-the-art in device fabrication, particularly in terms of minimum feature size, prevailing at any given point in time. For example, assume it is determined that a sorting network requires an area of G grid units. It will be appreciated that the absolute area, as measured in square microns or square millimeters, required to implement such a network using technology current in, say 1970, is significantly greater than the area required for implementation using technology current in 1997.
  • the layout areas presented herein are described in terms of "grid units.” It should now be appreciated that a grid unit is a relative measure, and not an absolute measure, of layout area.
  • the area required for a layout of a switching network is the area (measured in grid units) of the smallest rectangle that contains such a layout.
  • the grid area of a layout is defined as the least number of grid units in a rectangle that encompasses the layout.
  • rectangle R contains at least [(a-1) ⁇ (b-1)]-1 grid points and at most (a+1) ⁇ (b+1) grid points, no matter how the rectangle R is oriented with respect to the grid.
  • the sides of R need not be parallel to the grid lines and the quantities a and b need not be integers. When a and b are large, the number of grid points is approximately equal to the area of the rectangle in grid units.
  • a switching network by a directed graph, wherein switching circuits and network terminals are considered to be vertices, and the interconnects or links are directed edges.
  • the following rules and definitions will be used herein with regard to embedding such a graph in a grid.
  • the vertices of a graph are mapped to grid-points, with no more than one vertex per grid-point.
  • every edge of the directed graph is represented by a path in the grid, but no grid edge is used in more than one such path.
  • Such a mapping of the graph edges to grid paths is referred to herein as "edge-disjoint" mapping.
  • Two paths may share an intermediate grid-point, but they must cross at that point, i.e., no "knock-knee” or change in direction is allowed.
  • i.e., big “ ⁇ ” is defined as follows: a function ⁇ (x) is said to be “ ⁇ (g(x))" if there exists a constant, c, such that for every x, ⁇ (x) ⁇ c ⁇ g(x).
  • the area of a rearrangeable network for N inputs is greater than 1/2 (N-1) 2 grid units.
  • a network is rearrangeable if for every correspondence of the input terminals to the output terminals there are edge-disjoint directed paths connecting each input terminal with its corresponding output terminal. Every sorting network is rearrangeable.
  • FIG. 3 shows an example of Batcher's network S n+1 for odd-even sorting.
  • the networks described herein have a recursive structure. It will be appreciated by those skilled that explication of such recursive structure is facilitated by examining network construction and related elements in terms of the "n+1st" level.
  • the network receives an input vector having 2N arbitrary inputs x 0 , x 1 . . . x 2N-1 and generates a sorted output vector y 0 , y 2 . . . x 2N-1 of size 2N.
  • the term "arbitrary" is used herein to indicate that the inputs can be in any order, such as, for example, not sorted or sorted.
  • the arrangement which is constructed recursively, includes, for S n+1 , two odd-even sorters and one odd-even merger M n+1 .
  • the two odd-even sorters include an upper odd-even sorter S n 1 and a lower odd-even sorter S n 2 .
  • the odd-even sorters and odd-even merger are constructed of comparison circuits.
  • S 1 comprises a single comparison circuit.
  • Odd-even sorters such as the upper and lower odd-even sorters S n 1 , S n 2 , receive at their inputs arbitrary vectors and deliver, at their outputs, sorted vectors.
  • the odd-even merger M n+1 merges the two sorted N-input vectors into a single sorted 2N-input vector.
  • the 2N arbitrary inputs x 0 , x 2 . . . x 2N-1 are received by the odd-even sorters S n 1 , S n 2 , N inputs to each.
  • the N sorted outputs z 0 , z 1 . . . z N-1 of the odd-even sorter S n 1 are delivered, in order, to the first N inputs w 0 , w 1 . . . w N-1 of the odd-even merger M n+1 .
  • the odd-even merger M n+1 includes two mergers, an upper merger M n 1 and a lower merger M n 2 , and (N-1) comparison circuits C 1 , C 2 . . . C N-1 connected to the appropriate outputs of the upper and lower mergers, as described further below.
  • the odd-even merger M n+1 receives the input vector w 0 , w 1 . . . w 2N-1 and delivers, at its outputs, the sorted output vector y 0 , y 1 . . .
  • Inputs w 0 , w 2 , . . . ,w N-2 comprise a first portion of an input vector routed to the upper merger M n 1 .
  • Inputs w 1 , w 3 , . . . , w N-1 comprise a first portion of an input vector routed to the lower merger M n 2 .
  • Inputs w N+1 , w N+3 , . . . , w 2N-1 comprise a second portion of the input vector routed to the lower merger M n 2 .
  • the input vector to M n 2 is w 1 , w 3 , w 5 and w 7 .
  • the sorted outputs of the upper merger M n 1 are denoted as u 0 , u 1 , . . . , u N-1 and the sorted outputs of the lower merger M n 2 denoted as v 0 , v 1 , ,v N-1 .
  • Most of the outputs from the upper and lower mergers M n 1 , M n 2 are connected to the inputs of the aforementioned column of (N-1) comparison circuits.
  • the depth of a merger M n is n.
  • merger depth is equal to the maximum number of comparison circuits forming a path from input to output.
  • the depth of the odd-even sorting network S n is 1/2n(n+1).
  • Batcher's odd-even network can be implemented in an upper bound area of 3N 2 grid units.
  • an "upper bound" area of 3N 2 grid units means that the sorting network can be implemented in 3N 2 or fewer grid units.
  • it is advantageous to reduce the upper bound.
  • layouts of Batcher's odd-even sorting network having a grid area greater than 3N 2 grid units fall within the intended scope of the present invention.
  • Such layouts can be obtained, for example, by introducing any number of inefficiencies into the layout.
  • Such inefficiencies can include, without limitation, locating one or more comparison circuits out of a preferred position or not linking comparison circuits as efficiently as possible in accordance with the present teachings.
  • Mergers M 1 -M 3 laid-out according to the present invention, are shown in FIGS. 6a-6c, respectively.
  • M 1 consists of a single comparison circuit
  • M 2 consists of three comparison circuits
  • M 3 consists of nine comparison circuits.
  • the comparison circuits are advantageously partitioned, in the arrangement of M n , into subsets called "cones.”
  • dashed lines have a substantially triangular or conic shape. It should be understood that the dashed line is included for clarity of presentation; it is not a feature, i.e., a link, of the merger M n . Within the cones, comparison circuits are arranged in columns.
  • the next two cones CN 2 n and CN 3 n include comparison circuits not included in the primary cone. More particularly, the second cone CN 2 n is defined by a group of comparison circuits having a symmetry axis between line 2 n-2 -1 and line 2 n-2 (between line N/4 and N/4+1). The third cone CN 3 n is defined by a group of comparison circuits having a symmetry axis between lines 2 n-1 +2 n-2 -1 and line 2 n-1 +2 n-2 (between line 3/4N and 3/4N+1). In the case of the merger M 3 shown in FIG.
  • FIG. 6d shows the merger M 4 , with dashed lines defining the previously-mentioned structural units.
  • the upper half UH of the links directed upwardly away from the first column COL1 of comparison circuits exits primary cone CN 1 4 without entering another primary cone comparison circuit.
  • the channel links CL conduct signals out of each cone.
  • a first group CL 1 of channel links comprises 2 n-1 links directed upwardly on a "slant" from the primary cone.
  • VCOL virtual column
  • the upper half UH of such links comprising 2 n-2 links
  • the n-th+1 of such columns is located at the intersection of the lower half LHD of the downwardly-directed links and the upper half UHU of the upwardly directed links.
  • the n-th+1 column has 2 n-3 comparison circuits.
  • the arrangement of comparison circuits within the cones lying above the symmetry axis between line 2 n -1 and line 2 n of merger M n+1 is identical to the arrangement of comparison circuits, except the first 2 n-1 of such comparison circuits, of M n .
  • the portion "R,” of the merger M 3 i.e., M n
  • the merger M 4 i.e., M n+1
  • the arrangement of the lower half of M 4 i.e., M n+1
  • the last column of M n comprises 2 n-2 comparison circuits, each a cone.
  • S 2 consists of upper and lower S 1 sorters, the outputs of which are attached to odd-even merger M 2 . There are four copies of S 2 .
  • Sorter S 3 consists of upper and lower S 2 sorters attached to odd-even merger M 3 .
  • S 4 consists of upper and lower S 3 sorters attached to odd-even merger M 4 . It will now be appreciated that the odd-even sorter is comprised of odd-even mergers.
  • odd-even sorting network S n is distinct from previous layouts of Batcher's odd-even sorter in a number of aspects.
  • the odd-even sorter is arranged in conic portions, includes links that are slanted, such as by 45°, and includes channel linking.
  • Such features are unknown in conventional sorting network layouts, and result, among other benefits, in a lower layout-area than has hitherto been achieved.
  • the sorting network described by the present layout and Batcher's odd-even sorter are isomorphic.
  • the term isomorphic is meant to indicate structural equivalence implying that the present sorter is characterized by the same depth, i.e; 1/2n(n+1), and number of comparison circuits, i.e., ⁇ (N 2 ), as Batcher's odd-even sorter.
  • ⁇ (N 2 ) number of comparison circuits
  • the grid area required by the present layout is significantly less than that required for previous layouts of Batcher's odd-even sorter.
  • the layout of M n is enclosed by a rectangle having a height ⁇ 2 ⁇ (2 n -1) grid segments.
  • the grid area of M n is bounded by 2 ⁇ 2 n ⁇ (3/4)2 n or 3/2N 2 grid units.
  • the layout of the complete odd-even sorter, S n follows the recursive construction previously described in this specification It is encompassed in a rectangle having a size ⁇ 2 ⁇ (2 n -1) ⁇ 2(2 n +2 n-1 -n-1).
  • the grid area of S n is bounded by 2 ⁇ 2 n ⁇ (3/2)2 n or 3 N 2 grid units.
  • Batcher's sorting networks have been used in a variety of applications. As sorters, such networks find application to computing. Due to their structure, such networks are particularly useful in parallel computing applications for instruction and/or data routing to corresponding processors or memory cells used in such applications. Additionally, since such networks function as self-routing switching networks, they are useful in a variety of communications applications, such as, for example, broad band ISDN as well as in conventional data and/or telecommunications networks. See Weste and Eshraghian, Principles of CMOS VLSI Design, Section 9.4, (Addison Wesley, 1985). The improved layouts described herein may be used advantageously, in the same applications, to minimize the area required to physically implement the sorting network on one or more integrated circuits.
  • FIG. 8 shows a portion of an ATM network having nodes N1-N5.
  • a single source S1 delivers data onto the network at N1 for delivery to other nodes in the network, such as nodes N2-N5.
  • Each of the nodes has an ATM node switch, not shown in FIG. 8, for routing data to other nodes in the network.
  • FIG. 9. A simplified diagram of an ATM node switch according to the present invention is shown in FIG. 9.
  • data packets D1-DN are received by the ATM node switch and stored in buffers for preprocessing in preprocessing stage PS.
  • the data packets include routing or address data indicating the intended destination of the information content.
  • decisions are made by known methods concerning the order of data flow into switch fabric SF, which is a sorting network SN having an improved layout as described herein. From the buffers, the data is delivered synchronously into the switch fabric SF, and routed to the appropriate node.
  • the cones described herein have been defined to have a substantially triangularly-shaped perimeter and to have specifically-located symmetry axes. Moving one or more comparison circuits from a designated position may disrupt the substantially triangular shape of a cone's perimeter and/or skew its symmetry axis from the defined location. Such a modification is contemplated and is considered to be within the intended scope of the invention. It will be appreciated, however, that such deviations increase the grid area of a network layout.
  • the inputs or outputs may not exist as such in some embodiments.
  • the outputs of comparison circuits from the first of the linked networks can be directly linked to the inputs of comparison circuits in the second of the linked networks such that the second linked network does not possess discrete network inputs.
  • slanting all links ⁇ 45 degrees relative to the columns of comparison circuits i.e., ⁇ 45 degrees away from the vertical in FIGS.
  • the present invention may be practiced by slanting the links by a lesser or greater amount, or by slanting some but not all the links, or by permuting the links in other ways.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Improved layouts for sorting networks having ∘(N2) comparison circuits, a method therefor, and improved switches incorporating such layouts, are disclosed. An improved layout reduces grid-area requirements for Batcher's odd-even sorting network to an area of 3N2 grid units. The improved layout results from (i) arranging the comparison circuits comprising the network in one or more "cones," (ii) "slanting" a substantial portion of the interconnections or links so that they extend in a substantially non-orthogonal direction to the axes of a coordinate system such as is typically used in defining a grid for laying out a sorting network, and (iii) using channel linking for exiting a cone and for combining appropriate outputs from the exited cone in subsequent cones.

Description

FIELD OF THE INVENTION
The present invention relates to sorting networks. More particularly, the invention relates to a reduced-area layout for sorting networks.
BACKGROUND OF THE INVENTION
Sorting networks are useful as fast circuits for performing data sorting. Sorting networks consist of input terminals, a plurality of comparison circuits, interconnections or links and output terminals. A comparison circuit is operable to compare two values appearing at its inputs and to route them to respective outputs based on those values. For example, the lesser of the two values may be directed to a predetermined first output and the greater of the two values may be directed to a predetermined second output of the comparison circuit. Sorting networks are useable, for example, in conjunction with parallel processing for computers, and as message routers for sorting messages such as in data and telecommunication networks.
It is desirable to implement sorting networks into an ever-decreasing area within an electrical circuit. Decreasing the comparison circuit count may help in minimizing sorting network layout area. The earliest sorting networks required (N)2 /2 comparison circuits, where N is the number of signals to be sorted and routed. That requirement was significantly decreased in an "odd-even" sorting network attributed to K. Batcher requiring n(n-1)2n-2 +2n -1 comparison circuits, where N=2n. See, K. Batcher, "Sorting Networks and their Applications," Proc. AFIPS Spring Joint Computing Conf., vol. 32, pp. 307-314, 1968.
The area required for a sorting network is not, however, necessarily controlled by the number of comparison circuits in the network. An additional important consideration is the area required for the interconnects, e.g., wires or the like, linking the various elements of the sorting network. As such, the physical layout of a sorting network may be of paramount importance in minimizing area requirements.
SUMMARY OF THE INVENTION
The present invention is directed to a method for laying out a sorting network, and to sorting network layouts resulting therefrom. The area required for implementing a network can be determined by developing a grid layout for the network. The grid layout encompasses the various interconnect permutations required within the network.
It is known that Batcher's odd-even network can be implemented in an area of ◯(N2) grid units. U.S. patent application Ser. No. 08/889,632, incorporated by reference herein, discloses using a channel-routing technique developed by R. Pinter for developing a grid layout. According to Pinter's technique, a maximum of N+1 grid rows are required for interconnecting N outputs to N inputs. A "straightforward" application of Pinter's technique to Batcher's odd-even sorting network results in an upper bound grid area of 12 N2 +∘(N)2 grid units. The aforementioned patent application further discloses a network layout, and a method therefor, whereby Batcher's odd-even sorting network is implemented with an upper bound grid area of 9.375 N2 +∘(N)2 grid units.
Using a method according to the present invention, Batcher's odd-even sorting network can be laid-out in an area of 3N2 or fewer grid units for a network of N inputs. According to the present method, the comparison circuits comprising the network are arranged into one or more substantially triangularly-shaped groups referred to herein as "cones." A "primary" cone consists of N-1 comparison circuits arranged in a triangularly-shaped grouping and having a symmetry axis aligned between input N/2 and N/2+1, i.e., along the midpoint of the N inputs. Comparison circuits not included in the primary cone are arranged in other cones containing fewer comparison circuits than the primary cone and having other symmetry axes. The arrangement of sorting network comparison circuits into such triangularly-shaped groupings was hitherto unknown.
Moreover, unlike conventional sorting network layouts, a substantial portion of each link interconnecting the inputs and outputs of all comparison circuits is "slanted," such as, for example, by 45°, relative to conventional layouts. In another modification, "channel linking" is used to conduct signals between cones and to bring such signals together, according to the network definition, in a first column of comparison circuits within such cones. Such an arrangement of comparison circuits provides a layout requiring significantly less grid area than conventional layouts of Batcher's odd-even network.
BRIEF DESCRIPTION OF THE DRAWINGS
Further features of the invention will become more apparent from the following detailed description of specific embodiments thereof when read in conjunction with the accompanying drawings, in which:
FIG. 1 shows a simplified illustration of a comparison circuit C;
FIG. 2 shows a portion of an exemplary grid for laying out a network and a representation of grid area,
FIG. 3 shows a block diagram of Batcher's odd-even network for sorting;
FIG. 4 shows detail of an odd-even merger, Mn+1, an element of the odd-even network;
FIG. 5 shows the conceptual structural elements of a layout of an odd-even merger circuit according to the present invention;
FIGS. 6a-6d show a layout according to the present invention of Mn for n=1-4, respectively;
FIG. 7 shows a layout according to the present invention of the odd-even sorter for n=4;
FIG. 8 shows a simplified diagram of a portion of an asynchronous transfer mode (ATM) network; and
FIG. 9 shows a simplified diagram of an asynchronous transfer mode (ATM) switch.
DETAILED DESCRIPTION OF THE INVENTION
An exemplary sorting network has N input terminals and N output terminals and a plurality of comparison circuits and interconnects or links. If N signals, representing N values, such as, for example, real numbers or address values, are fed into the input terminals, the same signals appear sorted on the output terminals. Sorting networks can be implemented to process electronic, optical or other types of signals. It will be appreciated that the physical implementation of the network will vary depending upon the signal-type being processed, e.g., electronic, optical.
FIG. 1 shows a simplified illustration of a comparison circuit C. A comparison circuit contains logic circuits, memory cells and the like, as described in Weste et al., Principles of CMOS VLSI Design, Section 9.4, (Addison-Wesley, 1985). That publication, and all others mentioned in this specification are incorporated by reference herein. A comparison circuit, such as the comparison circuit C, is operable to sort two signals. For clarity and ease of presentation, such signals will hereinafter be referred to as "numbers." Further, as used herein, the term "vector" is defined as a sequence of signals.
The comparison circuit C has two input terminals 6, 8 and two output terminals 10, 12, as illustrated in FIG. 1. If two numbers x, y are fed to the two inputs 6, 8, the same numbers x, y emerge sorted on the output terminals 10, 12. It is assumed herein that the number, say x, having the smaller value emerges upwardly, i.e., on terminal 10 in FIG. 1, and the number, y, having the larger value emerges downwardly, i.e., on terminal 12. To simplify the following description, designations for numbers (signals) delivered to the terminals, and the terminals receiving such numbers, will be used interchangeably.
The networks described herein also have fixed interconnects or links, such as the fixed interconnects 4a-d shown in FIG. 1. Such interconnects are normally implemented, for example, as conductive traces patterned on and throughout integrated circuits, or as optical waveguides in optical circuits. All such interconnects are directed links connecting a network input terminal, not shown, or a comparison circuit output terminal to a comparison circuit input terminal, or a network output terminal, not shown.
A grid can be used to assist in laying out a network. As defined herein, a grid consists of a first and a second set of straight lines. In each of such sets, the lines are parallel. It is assumed herein that the distance between any two adjacent parallel lines is the same as the distance between any other two adjacent parallel lines, though such distance can vary. That distance is assumed to be equal to one unit, referred to herein as a "grid segment." Moreover, the lines of the first set may lie in any non-zero angle with respect to the lines of the second set. For clarity of presentation, that angle is assumed herein to be ninety degrees, i.e., the lines of the first set are orthogonal to those of the second set. Based on the foregoing assumptions, the grid is a square. The grid points are the points of intersections of the lines of the first set with the lines of the second set.
FIG. 2 shows a portion of such a grid. For clarity of presentation, in the grid portion shown, the first and second sets of straight lines are oriented vertically as "grid columns," and horizontally as "grid rows." The grid portion shown is defined by grid columns col9-col14 and grid rows row11-row14. Two adjacent grid columns, such as col12 and col13, intersect two adjacent grid rows, such as row11 and row12, defining a unit area GU of the grid. For example, the grid area encompassed by a region bounded by grid columns col9-col14 (side a), and grid rows row11-row14 (side b) is fifteen grid units (GU).
It should be understood that a grid unit GU is not arbitrarily small. A grid unit has a minimum size dictated by the state-of-the-art in device fabrication, particularly in terms of minimum feature size, prevailing at any given point in time. For example, assume it is determined that a sorting network requires an area of G grid units. It will be appreciated that the absolute area, as measured in square microns or square millimeters, required to implement such a network using technology current in, say 1970, is significantly greater than the area required for implementation using technology current in 1997. The layout areas presented herein are described in terms of "grid units." It should now be appreciated that a grid unit is a relative measure, and not an absolute measure, of layout area.
Semiconductor chips are typically laid out in rectangular regions. Thus, the area required for a layout of a switching network is the area (measured in grid units) of the smallest rectangle that contains such a layout. The grid area of a layout is defined as the least number of grid units in a rectangle that encompasses the layout.
If R is an a×b rectangle, then rectangle R contains at least [(a-1)·(b-1)]-1 grid points and at most (a+1)·(b+1) grid points, no matter how the rectangle R is oriented with respect to the grid. For example, for the rectangle R shown in FIG. 2, a=3 vertical grid segments and b=5 horizontal grid segments, and the number of grid points encompassed by R is (3+1)·(5+1)=24. The sides of R need not be parallel to the grid lines and the quantities a and b need not be integers. When a and b are large, the number of grid points is approximately equal to the area of the rectangle in grid units.
It is possible to represent a switching network by a directed graph, wherein switching circuits and network terminals are considered to be vertices, and the interconnects or links are directed edges. The following rules and definitions will be used herein with regard to embedding such a graph in a grid. First, the vertices of a graph are mapped to grid-points, with no more than one vertex per grid-point. Second, every edge of the directed graph is represented by a path in the grid, but no grid edge is used in more than one such path. Such a mapping of the graph edges to grid paths is referred to herein as "edge-disjoint" mapping. Two paths may share an intermediate grid-point, but they must cross at that point, i.e., no "knock-knee" or change in direction is allowed. Third, if a vertex is mapped to a grid-point, then all paths representing graph edges incident on this vertex must begin or end at that grid-point, and no path is allowed to pass through that point.
To facilitate description of the present invention, it will be useful to present information concerning conventional sorting network layouts. Such information is presented in Section I, below. The present invention, which is directed to improved layouts of sorting networks having ∘(N2) comparison circuits, such as, for example, Batcher's odd-even network, is described in Section III. The notation "∘", i.e., little "∘", is defined as follows: a function ƒ(x) is said to be "∘(g(x))" if the limit, as x approaches infinity, of ƒ(x)/g(x) is equal to zero. The notation "◯", i.e., big "◯", is defined as follows: a function ƒ(x) is said to be "◯(g(x))" if there exists a constant, c, such that for every x, ƒ(x)≦c·g(x).
I. Known Sorting Networks
The area of a rearrangeable network for N inputs is greater than 1/2 (N-1)2 grid units. In terms of a directed graph, a network is rearrangeable if for every correspondence of the input terminals to the output terminals there are edge-disjoint directed paths connecting each input terminal with its corresponding output terminal. Every sorting network is rearrangeable.
One known sorting network having ∘(N2) comparison circuits is the odd-even sorting network of K. Batcher. According to the zero-one principle, if a network sorts all 2N binary input vectors, then it will sort any N-vector of real numbers. The present description will refer to sorting only zeros and ones. It will be understood, however, that the network applies to any real vector. Moreover, it is assumed for the purposes of illustration that input vectors are equal in size to one another and described by powers of 2, i.e., N=2". The invention can be utilized, however, if the input vectors are unequal in size and/or are not described as a power of 2.
FIG. 3 shows an example of Batcher's network Sn+1 for odd-even sorting. The networks described herein have a recursive structure. It will be appreciated by those skilled that explication of such recursive structure is facilitated by examining network construction and related elements in terms of the "n+1st" level.
In the example shown in FIG. 3, the network receives an input vector having 2N arbitrary inputs x0, x1 . . . x2N-1 and generates a sorted output vector y0, y2 . . . x2N-1 of size 2N. The term "arbitrary" is used herein to indicate that the inputs can be in any order, such as, for example, not sorted or sorted. For the illustration shown in FIG. 3, n=2 and N=4. The arrangement, which is constructed recursively, includes, for Sn+1, two odd-even sorters and one odd-even merger Mn+1. The two odd-even sorters include an upper odd-even sorter Sn 1 and a lower odd-even sorter Sn 2. The odd-even sorters and odd-even merger are constructed of comparison circuits. S1 comprises a single comparison circuit.
Odd-even sorters, such as the upper and lower odd-even sorters Sn 1, Sn 2, receive at their inputs arbitrary vectors and deliver, at their outputs, sorted vectors. The odd-even merger Mn+1, merges the two sorted N-input vectors into a single sorted 2N-input vector.
In more detail, the 2N arbitrary inputs x0, x2 . . . x2N-1 are received by the odd-even sorters Sn 1, Sn 2, N inputs to each. The N sorted outputs z0, z1 . . . zN-1 of the odd-even sorter Sn 1 are delivered, in order, to the first N inputs w0, w1 . . . wN-1 of the odd-even merger Mn+1. Similarly, the N sorted outputs zN, zN+1 . . . z2N-1 of the odd-even sorter Sn 2 are delivered to the second N inputs wN, wN+1 . . . w2N-1 of the odd-even merger Mn+1 in order. Since the output vector from each odd-even sorter, Sn 1, Sn 2 is sorted, and since, as indicated above, the odd-even merger Mn+1 merges sorted input vectors, the output vector y1, y2 . . . y2N is sorted. Further description concerning the structure of the odd-even merger Mn+1 is now provided.
FIG. 4 shows detail of the odd-even merger, Mn+1, which is constructed recursively. For consistency with FIG. 2, n=2 and N=4. Thus, FIG. 4 shows the merger M3. The odd-even merger Mn+1 includes two mergers, an upper merger Mn 1 and a lower merger Mn 2, and (N-1) comparison circuits C1, C2 . . . CN-1 connected to the appropriate outputs of the upper and lower mergers, as described further below. As previously stated, the odd-even merger Mn+1 receives the input vector w0, w1 . . . w2N-1 and delivers, at its outputs, the sorted output vector y0, y1 . . . y2N-1 Inputs w0, w2, . . . ,wN-2 comprise a first portion of an input vector routed to the upper merger Mn 1. Inputs wN, wN+2, . . . , w2N-2 comprise a second portion of the input vector routed to the upper merger Mn 1. Since, as noted above, N=4 in FIG. 4, the input vector to Mn 1 is w0, w2, w4 and w6. Inputs w1, w3, . . . , wN-1 comprise a first portion of an input vector routed to the lower merger Mn 2. Inputs wN+1, wN+3, . . . , w2N-1 comprise a second portion of the input vector routed to the lower merger Mn 2. Again, since N=4 in the exemplary embodiment of FIG. 4, the input vector to Mn 2 is w1, w3, w5 and w7.
The sorted outputs of the upper merger Mn 1 are denoted as u0, u1, . . . , uN-1 and the sorted outputs of the lower merger Mn 2 denoted as v0, v1, ,vN-1. Most of the outputs from the upper and lower mergers Mn 1, Mn 2 are connected to the inputs of the aforementioned column of (N-1) comparison circuits. For the merger M3 (n=2 and N=4) shown in FIG. 4, there are three comparison circuits C1, C2 and CN-1 =C3.
In general, for every 1≦i≦N-1, the inputs to a comparison circuit Ci are ui and vi. Thus, the outputs from the upper and lower mergers Mn 1, Mn 2 are connected to the inputs of the comparison circuits as follows: u1 and v0 to C1, u2 and v1 to C2, and uN-1 =u3 and v2 to C3. The values of the sorted output vector y0, y1 . . . y2N-1 of the merger Mn+1 correspond, respectively, to u0, the outputs of C1, C2, . . . , CN-1, and vN-1.
It was previously stated that if the input to the merger Mn+1 is two sorted vectors, the output is a sorted vector. That result is described in more detail now. If(w0, w1, . . . , wN-1) is a vector of a zeros followed by N-a ones, then .left brkt-top.a/2.right brkt-top. zeros are included in the first portion of the input vector routed to the upper merger Mn 1 followed by (N/2-.left brkt-top.a/2.right brkt-top.) ones. Similarly, if (wN, wN+1, . . . , w2N-1) is a vector of b zeros followed by N-b ones, then .left brkt-top.b/2.right brkt-top. zeros are included in the second portion of the input vector routed to the upper merger Mn 1. Thus, the output vector of the upper merger Mn 1 has .left brkt-top.a/2.right brkt-top.+.left brkt-top.b/2.right brkt-top. zeros, followed by ones. Also, the number of zeros at the outputs of the lower merger Mn 2 is .left brkt-bot.a/2.right brkt-bot.+.left brkt-bot.b/2.right brkt-bot..
If a zero is input to Mn+1, then u0 =0=y0. Similarly, if a one is input into Mn+1, then vN-1 =1=y2N-1. Since the number of zeros coming out of the upper merger Mn 1 is at least equal to the number of zeros coming out of the lower merger Mn 2, and is at most two higher, some comparison circuits, in the sequence from C1, C2, . . . , CN-1, receive, as input, zeros from both the upper and lower mergers Mn 1, Mn 2, followed by at most one comparison circuit that receives a zero and a one, while the remaining comparison circuits receive only ones at their inputs. Thus, if the two input vectors of Mn+1 are zero-one sorted vectors, then the 2N vector appearing at its outputs is a zero-one sorted vector.
The depth of a merger Mn is n. As used herein, merger depth is equal to the maximum number of comparison circuits forming a path from input to output. The depth of the odd-even sorting network Sn is 1/2n(n+1).
The number, n(m), of comparison circuits in a merger Mn satisfies the recursion: m(n+1)=2·m(n)+2n -1. As previously indicated, m(1)=1, thus: m(n)=(n-1)2n-1 +1.
The number, s(n), of comparison circuits in the odd-even sorting network Sn satisfies the recursion: s(n+1)=2·s(n)+m(n+1). And s(1)=1, thus: s(n)=n(n-1)2n-2 +2n -1.
II. Improved Network Layouts According to the Present Invention
According to the present invention, Batcher's odd-even network can be implemented in an upper bound area of 3N2 grid units. In mathematical parlance, and as applied to the network area requirements, an "upper bound" area of 3N2 grid units means that the sorting network can be implemented in 3N2 or fewer grid units. Thus, in the present context, it is advantageous to reduce the upper bound. It should be appreciated, however, that many layouts of Batcher's odd-even sorting network having a grid area greater than 3N2 grid units fall within the intended scope of the present invention. Such layouts can be obtained, for example, by introducing any number of inefficiencies into the layout. Such inefficiencies can include, without limitation, locating one or more comparison circuits out of a preferred position or not linking comparison circuits as efficiently as possible in accordance with the present teachings.
The upper bound area of 3N2 grid units, which represents a significant reduction in grid-space requirements for Batcher's odd-even network, is achieved by (i) arranging the comparison circuits comprising the network in one or more "cones," (ii) "slanting" a substantial portion of the interconnections or links so that they extend in a substantially non-orthogonal direction to the column of network inputs, and (iii) using channel linking for exiting a cone and for combining appropriate outputs from the exited cone in subsequent cones. The aforementioned operations are described in more detail below.
As previously noted, there are two mergers, an upper merger Mn 1 and a lower merger Mn 2, within merger Mn+1. In addition, there are (N-1) comparison circuits C1, C2 . . . Cn-1 connected to the appropriate outputs of the upper and lower mergers. That said, there are many ways to arrange the comparison circuits within each merger and to connect the (N-1) comparison circuits to the mergers. According to the present invention, those mergers and comparison circuits are arranged into several conceptual structural elements indicated in FIG. 5. Layouts in accordance with the present invention include a primary cone CN1 n+1, upper channel links CL1 and lower channel links CL2, and an upper recursive portion RP1 and a lower recursive portion RP2 containing additional cones. Those conceptual structural elements are described further below in conjunction with FIGS. 6a-6d.
Mergers M1 -M3, laid-out according to the present invention, are shown in FIGS. 6a-6c, respectively. M1 consists of a single comparison circuit, M2 consists of three comparison circuits and M3 consists of nine comparison circuits. For n>1, i.e., M2+, the comparison circuits are advantageously partitioned, in the arrangement of Mn, into subsets called "cones."
As defined herein, a primary cone CN1 n consists of a grouping of comparison circuits having a symmetry axis between line 2n-1 -1 and line 2n-1 (between line N/2 and N/2+1). In other words, and as can be readily seen in FIGS. 6b-6d, the symmetry axis of the primary cone falls along a horizontal line aligned at the midpoint of the inputs. For example, in FIG. 6b, the symmetry axis can be represented as a horizontal line, not shown, placed at the midpoint between inputs 1 and 2. In FIGS. 6b-6d, dashed lines indicating the perimeter of each cone within the mergers are shown. Note that the perimeters indicated by the dashed lines have a substantially triangular or conic shape. It should be understood that the dashed line is included for clarity of presentation; it is not a feature, i.e., a link, of the merger Mn. Within the cones, comparison circuits are arranged in columns.
M2 has only one cone since the group of comparison circuits having its symmetry axis between lines 1 and 2 includes all three of the comparison circuits in the merger M2. Merger M3, shown in FIG. 6c, has nine comparison circuits arranged in three cones. Primary cone CN1 3 of M3 is implemented in the first n (=3) columns COL1, COL2, COL3 of comparison circuits. According to the above-recited definition, the primary cone CN1 3 in the merger M3 includes seven (2n-1, where n=3) of the nine comparison circuits.
In general, following the primary cone, the next two cones CN2 n and CN3 n include comparison circuits not included in the primary cone. More particularly, the second cone CN2 n is defined by a group of comparison circuits having a symmetry axis between line 2n-2 -1 and line 2n-2 (between line N/4 and N/4+1). The third cone CN3 n is defined by a group of comparison circuits having a symmetry axis between lines 2n-1 +2n-2 -1 and line 2n-1 +2n-2 (between line 3/4N and 3/4N+1). In the case of the merger M3 shown in FIG. 6c, each of the second and third cones consists of one comparison circuit, both of which are located to the right of the primary cone CN1 3 in FIG. 6c. While it takes at least three comparison circuits to define a triangular shape, i.e, a cone, as used herein, cones can be comprised of only a single comparison circuit.
Links leading to and from comparison circuits, such as the links L1-L4 shown in FIG. 6c, are "slanted" or non-orthogonal relative to the various columns of comparison circuits or the column defined by the network inputs. In some embodiments, the slant is 45 degrees.
FIG. 6d shows the merger M4, with dashed lines defining the previously-mentioned structural units. The merger M4 has 16 inputs (2n, n=4). The merger M4 includes 7 (2n-1 -1, where n=4) cones. The primary cone has now grown to include 15 (2n -1, where n=4) comparison circuits.
The first column COL1 of comparison circuits is positioned at the intersection of links L1 where 0≦i<2n-1, i.e., L0-L7, directed downwardly at a "slant" from respective inputs 0≦i<2n-1 with links Lj, where j=i+2n-1, i.e., L8-L15, directed upwardly at a "slant" from respective inputs L(i+2n-1). The upper half UH of the links directed upwardly away from the first column COL1 of comparison circuits exits primary cone CN1 4 without entering another primary cone comparison circuit. More generally, the upper half of the links directed upwardly from the j-th column of comparison circuits, where 1≦j<n, (there are 2n-j-1 links comprising the "upper half") exit the primary cone without entering another of the primary cone's comparison circuits. Similarly, the lower half LH of the links directed downwardly from the first column of comparison circuits exits the primary cone without entering another of its comparison circuits.
The lower half of the links directed upwardly from the outputs of the first column of comparison circuits, and the upper half of the links directed downwardly from the outputs of the first column of comparison circuits, meet, in order, in the second column COL2 of comparison circuits. More generally, the aforementioned lower half of the upwardly-directed links and the upper half of the downwardly-directed links from the outputs of the j-th column, meet in the i-th +1 column, which has 2n-j-1 comparison circuits.
The primary cone CN1 4 is thus implemented in the first n (=4) columns of comparison circuits. All links in the primary cone are straight; i.e., they have no bends.
The channel links CL conduct signals out of each cone. A first group CL1 of channel links comprises 2n-1 links directed upwardly on a "slant" from the primary cone. At a "virtual" column VCOL of grid-points, the upper half UH of such links, comprising 2n-2 links, are directed downwardly, while the other half of such upwardly-directed links continues without a bend. After the virtual column VCOL, a column of comparison circuits, the n-th+1 of such columns, is located at the intersection of the lower half LHD of the downwardly-directed links and the upper half UHU of the upwardly directed links. The n-th+1 column has 2n-3 comparison circuits.
The arrangement of comparison circuits within the cones lying above the symmetry axis between line 2n -1 and line 2n of merger Mn+1 is identical to the arrangement of comparison circuits, except the first 2n-1 of such comparison circuits, of Mn. For example, in FIG. 6c, the portion "R," of the merger M3, i.e., Mn, is repeated in the merger M4, i.e., Mn+1, as the "recursive portion," RP1. The arrangement of the lower half of M4, i.e., Mn+1, is symmetric to the upper half described above. The last column of Mn comprises 2n-2 comparison circuits, each a cone.
Note that the n-th+2 column of comparison circuits of Mn+1, which begins the recursive portions RP1, RP2, is the first column of comparison circuits belonging to the second and third cones CN2, CN3. All cones other than the primary cone fall within the recursive portions of Mn+1. The number of cones in the merger Mn+1 is 2n-1.
A layout according to the present invention for complete odd-even sorter Sn for n=4 is shown in FIG. 7. S1 is a single comparison circuit. There are 1/2·(2n)=8 copies of S1 for receiving 2n =16 inputs. S2 consists of upper and lower S1 sorters, the outputs of which are attached to odd-even merger M2. There are four copies of S2. Sorter S3 consists of upper and lower S2 sorters attached to odd-even merger M3. Finally, S4 consists of upper and lower S3 sorters attached to odd-even merger M4. It will now be appreciated that the odd-even sorter is comprised of odd-even mergers.
Those familiar with sorting networks will recognize that the present layout of the odd-even sorting network Sn is distinct from previous layouts of Batcher's odd-even sorter in a number of aspects. Among other distinctions, the odd-even sorter is arranged in conic portions, includes links that are slanted, such as by 45°, and includes channel linking. Such features are unknown in conventional sorting network layouts, and result, among other benefits, in a lower layout-area than has hitherto been achieved.
Notwithstanding the significant differences in physical layout, the sorting network described by the present layout and Batcher's odd-even sorter are isomorphic. The term isomorphic, as used herein, is meant to indicate structural equivalence implying that the present sorter is characterized by the same depth, i.e; 1/2n(n+1), and number of comparison circuits, i.e., ∘(N2), as Batcher's odd-even sorter. For a further description of the term "isomorphic," as used in conjunction with networks generally, and, more particularly, as intended herein, see G. Bilardi entitled "Merging and Sorting Networks with the Topology of the Omega Network," IEEE Trans. Comp., v(38), no. 10, pp. 1396-1403, October 1989.
Notwithstanding the aforementioned isomorphism, the grid area required by the present layout is significantly less than that required for previous layouts of Batcher's odd-even sorter. The layout of Mn is enclosed by a rectangle having a height √2·(2n -1) grid segments. The width, w(n), can be computed recursively: w(2)=2√2 grid segments, and, for n≧2, w(n+1)=w(n)+√2·3·2n-2 grid segments. It follows that w(n)=√2·(3·2n-2 -1) grid segments. Thus, the grid area of Mn is bounded by 2·2n ·(3/4)2n or 3/2N2 grid units. The layout of the complete odd-even sorter, Sn, follows the recursive construction previously described in this specification It is encompassed in a rectangle having a size √2·(2n -1)×√2(2n +2n-1 -n-1). Thus, the grid area of Sn is bounded by 2·2n ·(3/2)2n or 3 N2 grid units.
Batcher's sorting networks have been used in a variety of applications. As sorters, such networks find application to computing. Due to their structure, such networks are particularly useful in parallel computing applications for instruction and/or data routing to corresponding processors or memory cells used in such applications. Additionally, since such networks function as self-routing switching networks, they are useful in a variety of communications applications, such as, for example, broad band ISDN as well as in conventional data and/or telecommunications networks. See Weste and Eshraghian, Principles of CMOS VLSI Design, Section 9.4, (Addison Wesley, 1985). The improved layouts described herein may be used advantageously, in the same applications, to minimize the area required to physically implement the sorting network on one or more integrated circuits.
In the following nonlimiting example, improved layouts according to the present invention are used as the "switch fabric" of an asynchronous transfer mode (ATM) switch. FIG. 8 shows a portion of an ATM network having nodes N1-N5. In the example shown in FIG. 8, a single source S1 delivers data onto the network at N1 for delivery to other nodes in the network, such as nodes N2-N5. It should be appreciated that in other embodiments, such a network may receive data from multiple sources. Each of the nodes has an ATM node switch, not shown in FIG. 8, for routing data to other nodes in the network. A simplified diagram of an ATM node switch according to the present invention is shown in FIG. 9.
As shown in FIG. 9, data packets D1-DN are received by the ATM node switch and stored in buffers for preprocessing in preprocessing stage PS. In addition to information content, the data packets include routing or address data indicating the intended destination of the information content. In the preprocessing stage PS, decisions are made by known methods concerning the order of data flow into switch fabric SF, which is a sorting network SN having an improved layout as described herein. From the buffers, the data is delivered synchronously into the switch fabric SF, and routed to the appropriate node.
Although specific embodiments of this invention have been shown and described herein, it is to be understood that these embodiments are merely illustrative of the many possible specific arrangements that can be devised in application of the principles of the invention. Numerous and varied other arrangements can be devised in accordance with these principles by those of ordinary skill in the art without departing from the scope and spirit of the invention.
For example, the cones described herein have been defined to have a substantially triangularly-shaped perimeter and to have specifically-located symmetry axes. Moving one or more comparison circuits from a designated position may disrupt the substantially triangular shape of a cone's perimeter and/or skew its symmetry axis from the defined location. Such a modification is contemplated and is considered to be within the intended scope of the invention. It will be appreciated, however, that such deviations increase the grid area of a network layout.
Moreover, while the description of the odd-even network and its layout include network "inputs" and network "outputs," the inputs or outputs may not exist as such in some embodiments. For example, if two or more networks are linked together, the outputs of comparison circuits from the first of the linked networks can be directly linked to the inputs of comparison circuits in the second of the linked networks such that the second linked network does not possess discrete network inputs. Furthermore, while it is presently believed that slanting all links ±45 degrees relative to the columns of comparison circuits, i.e., ±45 degrees away from the vertical in FIGS. 6b-6d, provides the lowest grid area achieveable according to the present method, the present invention may be practiced by slanting the links by a lesser or greater amount, or by slanting some but not all the links, or by permuting the links in other ways.

Claims (19)

I claim:
1. A sorting network for sorting an input vector of N signals, the signals representative of values, comprising:
N network input terminals for receiving the signals;
a plurality of comparison circuits, each comparison circuit having two inputs for receiving two of the signals and operable to sort the two received signals by directing the signal having the lesser of the representative values to a predetermined one of two outputs and directing the other signal to the other of the two outputs;
N network output terminals to which the sorted signals are delivered; and
a plurality of links that connect a network input terminal to a comparison circuit input for each of the N network input terminals, and for connecting a first comparison circuit output to a second comparison circuit input or a network output terminal for each of the comparison circuits;
characterized in that, in a layout of the sorting network, the comparison circuits are arranged into at least a primary cone having a substantially triangularly-shaped perimeter.
2. The sorting network of claim 1, wherein the primary cone has a symmetry axis that falls on a line between a first and a second group of the input terminals.
3. The sorting network of claim 2, wherein the first and the second groups contain the same amount of input terminals.
4. The sorting network of claim 2, wherein a number of comparison circuits in the primary cone is N-1.
5. The sorting network of claim 2, wherein N=2n, and further wherein the comparison circuits within the primary cone are arranged into n columns, and, wherein, the first column contains 2n-1 comparison circuits and the n-th column contains one comparison circuit.
6. The sorting network of claim 1, wherein, the comparison circuits are arranged into at least a second and a third cone.
7. The sorting network of claim 6, wherein the N network input terminals are numbered in consecutive order, and further wherein the second cone has a symmetry axis falling between input N/4 and N/4+1, and wherein the third cone has a symmetry axis that falls between input 3/4N and 3/4N+1.
8. The sorting network of claim 1, wherein the network input terminals are arranged in a line, and further wherein a substantial portion of each link extends in a substantially non-orthogonal direction to the line.
9. The sorting network of claim 8 wherein the direction is 45 degrees.
10. The sorting network of claim 8 wherein the network is characterizable by a grid layout, and wherein the area of the grid layout of the sorting network is less than about 12 N2 grid units.
11. The sorting network of claim 1 wherein the network is isomorphic to Batcher's odd-even network.
12. A sorting network characterized by an improved layout, the network configured for receiving an input vector of up to N signals, wherein at least a portion of each of the signals represent values, comprising:
a plurality of comparison circuits, each comparison circuit having two inputs and two outputs, each comparison circuit operable to receive two signals and sort them according to their values and to deliver the signals in a sorted order to the two outputs, and each said comparison circuit having a network depth, the network depths having an order from minimum to maximum; and
links for connecting the outputs of comparison circuits to the inputs of comparison circuits having a greater network depth; characterized in that
the comparison circuits are arranged in columns, the columns collectively defining at least a primary cone, wherein, a first and a last comparison circuit in each column that defines the primary cone collectively define a substantially triangularly-shaped perimeter of the primary cone, and further wherein a substantial portion of each link extends in a substantially non-orthogonal direction to the columns.
13. An odd-even sorting network Sn for sorting signals, wherein at least a portion of each of the signals represent values, the network having a recursive construction, wherein Sn+1 comprises:
an upper sorter Sn 1 and a lower sorter Sn 2, each for sorting 2n inputs, the upper and lower sorters operable, collectively, to provide two sorted vectors having a total length of 2n+1 ; and
an odd-even merger Mn+1 having 2n+1 inputs attached to the 2n outputs from each of the upper and lower sorters thereby receiving the sorted vectors therefrom, and operable to merge the two sorted vectors into a single sorted vector, the merger Mn+1 comprising:
an upper odd-even merger Mn 1 and a lower odd-even merger Mn 2 for sorting odd-even vectors, wherein,
the upper sorter Sn 1, the lower sorter Sn 2 and the odd-even merger Mn+1 are comprised of interconnected comparison circuits, and further wherein, the interconnected comparison circuits are arranged into at least one cone having a substantially triangularly-shaped perimeter.
14. The odd-even sorting network of claim 13, and further wherein, the merger Mn+1 contains 2n -1 cones.
15. A sorting network comprising a recursive arrangement of merger circuits, the sorting network physically configured for receiving an input vector of up to N=2n signals, wherein at least a portion of each of the signals represent values, comprising:
merger circuits M1 . . . Mn, wherein, there are N/2 copies of M1 and half as many copies of each successive merger so that there is one copy of Mn, the merger circuits collectively containing n(n-1)2n-2 +2n-1 comparison circuits, each comparison circuit having two inputs and two outputs and operable to receive two signals and sort them according to their values and to deliver the signals in a sorted order to the two outputs; and
a plurality of links, the links connecting each comparison circuit to at least one other comparison circuit; wherein,
within each merger circuit M2 . . . Mn, 2n -1 comparison circuits are arranged into a primary cone, the primary cone having a substantially triangularly-shaped perimeter.
16. The sorting network of claim 15, wherein the merger Mn further contains a first and a second recursive portion, each of which recursive portions comprise all comparison circuits within merger Mn-1, except for the first 2n-1 of the comparison circuits of said merger Mn-1, and wherein the comparison circuits in the first and second recursive portion are arranged into at least respective second and third cones; and
channel links for conducting signals out of each cone, wherein, a first and a second portion of the channel links conduct signals from the primary cone to the second and third cones, and further wherein the first portion of channel links are straight, and the second portion of the channel links contain at least one bend.
17. The sorting network of claim 15, further comprising network inputs arranged in a column, wherein a substantial portion of each channel link extends in a substantially non-orthogonal direction to the column.
18. A method for laying out a sorting network having a plurality of comparison circuits, comprising;
arranging comparison circuit into at least a primary cone defined by a perimeter having a substantially triangular shape, wherein, within said primary cone, said comparison circuits are arranged in columns such that each successive column has one half of the number of comparison circuits as the nearest preceding column; and
linking each comparison circuit directly to at least one other comparison circuit by links, wherein a substantial portion of each link extends in a substantially non-orthogonal direction relative to said columns.
19. A switch for routing data signals to a network node, comprising:
a preprocessing stage for receiving the data signals including address information, and for ordering data signal flow; and
a switch fabric that receives the ordered data signals from the preprocessing stage, the switch fabric including a sorting network operable to route the data signals to an appropriate network node based on the address information of the signal, the sorting network comprising:
network input terminals for receiving signals representative of values, and network output terminals for providing said received signals, but in sorted order;
a plurality of comparison circuits, each comparison circuit having two inputs and two outputs, each comparison circuit operable to receive two signals and sort them according to their values and to deliver the signals in a sorted order to the two outputs, wherein the comparison circuits are arranged into one or more cones, and further wherein the comparison circuits within at least one of the cones are arranged into at least two columns; and
links for connecting each comparison circuit to at least one other comparison circuit, wherein a substantial portion of each link extends in a substantially non-orthogonal direction to the columns.
US08/956,061 1997-10-22 1997-10-22 Sorting networks having improved layouts Expired - Fee Related US6091723A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/956,061 US6091723A (en) 1997-10-22 1997-10-22 Sorting networks having improved layouts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/956,061 US6091723A (en) 1997-10-22 1997-10-22 Sorting networks having improved layouts

Publications (1)

Publication Number Publication Date
US6091723A true US6091723A (en) 2000-07-18

Family

ID=25497705

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/956,061 Expired - Fee Related US6091723A (en) 1997-10-22 1997-10-22 Sorting networks having improved layouts

Country Status (1)

Country Link
US (1) US6091723A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591030B2 (en) * 2000-04-24 2003-07-08 Industrial Technology Research Institute Method of mirror layout of multi-level optical switch
US20050262005A1 (en) * 1999-10-21 2005-11-24 Mercexchange Llc, A Virginia Corporation Context-sensitive switching in a computer network environment
US20110179500A1 (en) * 2003-10-16 2011-07-21 Lmp Media Llc Electronic media distribution systems
US20130151260A1 (en) * 2011-12-12 2013-06-13 Motorola Mobility, Inc. Apparatus and method for audio encoding
US8631197B2 (en) 2011-05-23 2014-01-14 HGST Netherlands B.V. Implementing enhanced updates for indirection tables
US20140313930A1 (en) * 2014-03-06 2014-10-23 Konda Technologies Inc. Optimization of multi-stage hierarchical networks for practical routing applications
US20150049768A1 (en) * 2013-07-15 2015-02-19 Konda Technologies Inc. Fast scheduling and optmization of multi-stage hierarchical networks
US20160261525A1 (en) * 2011-09-07 2016-09-08 Venkat Konda Optimization of multi-stage hierarchical networks for practical routing applications
US10216890B2 (en) 2004-04-21 2019-02-26 Iym Technologies Llc Integrated circuits having in-situ constraints
CN112861145A (en) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910730A (en) * 1988-03-14 1990-03-20 Bell Communications Research, Inc. Batcher-banyan network
US5130976A (en) * 1991-02-12 1992-07-14 Bell Communications Research, Inc. Batcher and banyan switching elements
US5216420A (en) * 1990-07-12 1993-06-01 Munter Ernst A Matrix sorting network for sorting N inputs onto N outputs
US5392279A (en) * 1992-01-17 1995-02-21 Fujitsu Limited Interconnection network with self-routing function
US5856977A (en) * 1997-05-15 1999-01-05 Yang; Muh-Rong Distribution network switch for very large gigabit switching architecture
US5963554A (en) * 1995-12-26 1999-10-05 Samsung Electronics Co., Ltd. ATM switch device constructed from Banyan network and its installation method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910730A (en) * 1988-03-14 1990-03-20 Bell Communications Research, Inc. Batcher-banyan network
US5216420A (en) * 1990-07-12 1993-06-01 Munter Ernst A Matrix sorting network for sorting N inputs onto N outputs
US5130976A (en) * 1991-02-12 1992-07-14 Bell Communications Research, Inc. Batcher and banyan switching elements
US5392279A (en) * 1992-01-17 1995-02-21 Fujitsu Limited Interconnection network with self-routing function
US5963554A (en) * 1995-12-26 1999-10-05 Samsung Electronics Co., Ltd. ATM switch device constructed from Banyan network and its installation method
US5856977A (en) * 1997-05-15 1999-01-05 Yang; Muh-Rong Distribution network switch for very large gigabit switching architecture

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262005A1 (en) * 1999-10-21 2005-11-24 Mercexchange Llc, A Virginia Corporation Context-sensitive switching in a computer network environment
US7590754B2 (en) * 1999-10-21 2009-09-15 Woolston Thomas G Context-sensitive switching in a computer network environment
US6591030B2 (en) * 2000-04-24 2003-07-08 Industrial Technology Research Institute Method of mirror layout of multi-level optical switch
US20110179500A1 (en) * 2003-10-16 2011-07-21 Lmp Media Llc Electronic media distribution systems
US10860773B2 (en) 2004-04-21 2020-12-08 Iym Technologies Llc Integrated circuits having in-situ constraints
US10846454B2 (en) 2004-04-21 2020-11-24 Iym Technologies Llc Integrated circuits having in-situ constraints
US10216890B2 (en) 2004-04-21 2019-02-26 Iym Technologies Llc Integrated circuits having in-situ constraints
US8631197B2 (en) 2011-05-23 2014-01-14 HGST Netherlands B.V. Implementing enhanced updates for indirection tables
US8719632B2 (en) 2011-05-23 2014-05-06 HGST Netherlands B.V. Implementing enhanced EPO protection for indirection data
US8788749B2 (en) 2011-05-23 2014-07-22 HGST Netherlands B.V. Implementing enhanced deterministic memory allocation for indirection tables for persistent media
US10979366B1 (en) * 2011-09-07 2021-04-13 Konda Technologies Inc. Optimization of multi-stage hierarchical networks for practical routing applications
US10003553B2 (en) * 2011-09-07 2018-06-19 Konda Technologies Inc. Optimization of multi-stage hierarchical networks for practical routing applications
US10574594B1 (en) * 2011-09-07 2020-02-25 Konda Technologies Inc. Optimization of multi-stage hierarchical networks for practical routing applications
US20160261525A1 (en) * 2011-09-07 2016-09-08 Venkat Konda Optimization of multi-stage hierarchical networks for practical routing applications
US8666753B2 (en) * 2011-12-12 2014-03-04 Motorola Mobility Llc Apparatus and method for audio encoding
US20130151260A1 (en) * 2011-12-12 2013-06-13 Motorola Mobility, Inc. Apparatus and method for audio encoding
US9929977B2 (en) * 2013-07-15 2018-03-27 Konda Technologies Inc. Fast scheduling and optimization of multi-stage hierarchical networks
US20170070450A1 (en) * 2013-07-15 2017-03-09 Venkat Konda Fast scheduling and optmization of multi-stage hierarchical networks
US9509634B2 (en) * 2013-07-15 2016-11-29 Konda Technologies Inc. Fast scheduling and optmization of multi-stage hierarchical networks
US10412025B2 (en) * 2013-07-15 2019-09-10 Konda Technologies Inc. Fast scheduling and optmization of multi-stage hierarchical networks
US20150049768A1 (en) * 2013-07-15 2015-02-19 Konda Technologies Inc. Fast scheduling and optmization of multi-stage hierarchical networks
US9374322B2 (en) * 2014-03-06 2016-06-21 Konda Technologies Inc. Optimization of multi-stage hierarchical networks for practical routing applications
US20140313930A1 (en) * 2014-03-06 2014-10-23 Konda Technologies Inc. Optimization of multi-stage hierarchical networks for practical routing applications
CN112861145A (en) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN112861145B (en) * 2021-01-06 2023-12-12 华控清交信息科技(北京)有限公司 Data processing method and device for data processing

Similar Documents

Publication Publication Date Title
US6018523A (en) Switching networks having improved layouts
KR100211123B1 (en) Multi-stage interconnecting network for high speed packet switching
US10554583B2 (en) VLSI layouts of fully connected generalized and pyramid networks with locality exploitation
AU695318B2 (en) Optical telecommunications network
EP0463746B1 (en) Segmentation of tracks in FPGA routing channels
Chiang et al. Multi-address encoding for multicast
US8898611B2 (en) VLSI layouts of fully connected generalized and pyramid networks with locality exploitation
EP0375249B1 (en) Self routing packet switching network architecture
US6091723A (en) Sorting networks having improved layouts
US8270400B2 (en) Fully connected generalized multi-stage networks
JPH0766718A (en) Wafer scale structure for programmable logic
Jain et al. TESH: A new hierarchical interconnection network for massively parallel computing
Huang et al. An efficient timing-driven global routing algorithm
US20200076744A1 (en) Fast scheduling and optmization of multi-stage hierarchical networks
Koppelman et al. A self-routing permutation network
US6185220B1 (en) Grid layouts of switching and sorting networks
US4910730A (en) Batcher-banyan network
US6021131A (en) Sorting networks having enhanced layout
Kawamoto et al. The minimum width routing of a 2-row 2-layer polycell-layout
US6088353A (en) Sorting networks having reduced-area layouts
Hui Switching integrated broadband services by sort-banyan networks
JP3194597B2 (en) Matrix search network
US5220664A (en) Merging network with three or more simultaneous inputs
Horiguchi et al. Hierarchical 3D-torus interconnection network
Rahman et al. High performance hierarchical torus network under matrix transpose traffic patterns

Legal Events

Date Code Title Description
AS Assignment

Owner name: LUCENT TECHNOLOGIES, INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EVEN, SHIMON;REEL/FRAME:009498/0997

Effective date: 19980924

AS Assignment

Owner name: THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT, TEX

Free format text: CONDITIONAL ASSIGNMENT OF AND SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:LUCENT TECHNOLOGIES INC. (DE CORPORATION);REEL/FRAME:011722/0048

Effective date: 20010222

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: LUCENT TECHNOLOGIES INC., NEW JERSEY

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A. (FORMERLY KNOWN AS THE CHASE MANHATTAN BANK), AS ADMINISTRATIVE AGENT;REEL/FRAME:018590/0047

Effective date: 20061130

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20080718