WO2013111547A1 - Dispositif de contrôle d'acheminement, procédé de génération d'informations de contrôle et support lisible par ordinateur non transitoire sur lequel est enregistré un programme - Google Patents

Dispositif de contrôle d'acheminement, procédé de génération d'informations de contrôle et support lisible par ordinateur non transitoire sur lequel est enregistré un programme Download PDF

Info

Publication number
WO2013111547A1
WO2013111547A1 PCT/JP2013/000220 JP2013000220W WO2013111547A1 WO 2013111547 A1 WO2013111547 A1 WO 2013111547A1 JP 2013000220 W JP2013000220 W JP 2013000220W WO 2013111547 A1 WO2013111547 A1 WO 2013111547A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
connection information
list
connection
path
Prior art date
Application number
PCT/JP2013/000220
Other languages
English (en)
Japanese (ja)
Inventor
希実 石原
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2013111547A1 publication Critical patent/WO2013111547A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • the present invention relates to a path control system, and more particularly to a path control system using a reconfigurable processor device.
  • a control signal group to the routing unit is created in advance by a programmer and stored in a memory in the processor or an external storage. Further, the control signal group to the routing unit is read out at an appropriate timing using an externally or internally generated control signal as a trigger and supplied to the routing unit.
  • routing control information a group of control signals to the routing unit is referred to as routing control information.
  • each line of the transmission / reception correspondence list is referred to as a program
  • a technique such as Patent Document 2 that automatically forms routing control information has been studied.
  • FIG. 25 shows the method disclosed in Patent Document 2.
  • the method disclosed in Patent Document 2 changes the processing flow by connecting a plurality of processing devices (referred to as processing elements in Patent Document 2) to a two-dimensional array structure and changing the connection between the processing elements.
  • the program created by the programmer is stored in the storage device 110 as the data flow file 100.
  • the connection relationship between processing elements on the LSI (at each position where the processing element is arranged, the attribute of the processing element at another position connectable to the output and the other position connectable to the input)
  • the source processing element indicating the processing element attributes) and the destination processing element file 103 are stored in the storage device 12.
  • the map creation unit 111 takes out one program from the data flow file 100 and starts forming a routing using the source processing element and the destination processing element file 103.
  • the map creation unit 111 creates a bus resource request map 101 in which connection relationships that may be used are extracted and recorded using the data flow file 100 and the source processing element and destination processing element file 103.
  • the map updating unit 112 analyzes the bus resource request map 101, and there is no part where data is divided from input to output, or a plurality of processing flows use the same signal line at the same time. Detects routing constraint violations, such as whether or not a violation has occurred, and deletes invalid paths. Further, only possible routing candidates are extracted from the analysis results, and the bus resource request map 101 is updated. Finally, the placement and routing processing unit 113 determines the actual placement and routing from the candidates. In addition, the bus resource request map 101 is updated so that candidates that are not used are deleted. The above process is executed for all the programs stored in the data flow file 100.
  • the method disclosed in Patent Document 2 statically determines routing using only a program created in advance by a programmer. Further, the technique disclosed in Patent Document 2 is premised on a processing structure in which the processing flow is shifted to the next routing processing after all processing flow by one routing is completed. That is, processing of routing control information (referred to as routing 2) specified by another control signal input at another timing while executing routing control information (referred to as routing 1) specified by a certain control signal There is no description about the method of doing. If the above processing is to be performed by such a method, it operates when the routings 1 and 2 are executed individually.
  • the programmer may not be able to grasp the timing dependency of the routings 1 and 2, and a bug may occur in which the data of the routings 1 and 2 collide with each other. It takes a lot of time to modify and debug the program in such a situation.
  • the present invention performs processing of routing control information defined by another control signal input at another timing while executing routing control information defined by a certain control signal.
  • the routing control information is automatically generated from the program, and the generated routing control information is automatically analyzed and corrected to guarantee the operation, thereby reducing the burden on the programmer. It is an object to provide a route control system, a route control method, and a program.
  • the path control device includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the first data.
  • a first receiver and a second receiver that receive the second data, and a first receiver that transfers the first data to the first receiver or the second receiver based on the first connection information.
  • the first connection unit and a second connection unit configured to transfer the second data to the first reception unit or the second reception unit based on second connection information.
  • connection relationship list defining the connection relationship of the connection information and the connection relationship of the second connection information, and the first of the first reception unit and the transmission source of the data received by the first reception unit Correspondence relationship and second between the second receiving unit and the transmission source of the data received by the second receiving unit
  • a connection information generation unit that generates the first connection information and the second connection information based on a transmission / reception correspondence list that manages the response relationship, and the first connection information and the second connection information Simulating the transfer of the first data and the second data, and if the transfer destination of the first data and the transfer destination of the second data match in the simulation, the first connection And a connection information correction unit that changes at least one of the information and the second connection information.
  • the control information generation method includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the Based on the first connection information and the first receiving unit and the second receiving unit that receive the second data, the first data is transferred to the first receiving unit or the second receiving unit.
  • An apparatus comprising: a first connection unit; and a second connection unit configured to transfer the second data to the first reception unit or the second reception unit based on second connection information.
  • a connection relationship list defining the connection relationship of the first connection information and the connection relationship of the second connection information, and the first of the first reception unit and the transmission source of the data received by the first reception unit And the correspondence between the second receiving unit and the transmission source of the data received by the second receiving unit.
  • the first connection information and the second connection information are generated based on a transmission / reception correspondence list that manages the correspondence relationship between the first connection information and the second connection information, and the first connection information and the second connection information are generated.
  • the transfer destination of the first data and the transfer destination of the second data match in the simulation, the first connection information or the second data transfer is performed. At least one of the two pieces of connection information is changed.
  • a program includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the second data.
  • a first receiving unit and a second receiving unit that receive data, and a first transfer unit that transfers the first data to the first receiving unit or the second receiving unit based on first connection information.
  • the first connection of an apparatus including a connection unit and a second connection unit that transfers the second data to the first reception unit or the second reception unit based on second connection information
  • a connection relation list that defines a connection relation of information and a connection relation of the second connection information, and a first correspondence relation between the first reception unit and a transmission source of data received by the first reception unit And a second correspondence between the second receiving unit and the transmission source of the data received by the second receiving unit And generating the first connection information and second connection information based on the transmission and reception corresponding list for managing and engaging,
  • a simulation of the transfer of the first data and the second data is performed, and in the simulation, the transfer destination of the first data and the first data
  • the computer is caused to execute the step of changing at least one of the first connection information or the second connection information.
  • routing control information specified by a certain control signal when routing control information specified by a certain control signal is executed, routing control information specified by another control signal input at a different timing is also processed.
  • FIG. 2 is a configuration diagram of a path control unit according to the first exemplary embodiment
  • FIG. FIG. 3 is a diagram illustrating a program according to the first embodiment. It is a figure which shows the architecture connection relation list
  • FIG. It is a figure which shows the simulation list
  • FIG. It is a figure which shows the use candidate list
  • FIG. It is a figure which shows the used path
  • FIG. It is a figure which shows the flow of the correction process of the routing control information concerning Embodiment 1.
  • FIG. It is a figure which shows the flow of the production
  • FIG. 6 is a diagram showing a flow of processing for creating a use candidate list according to the first embodiment
  • FIG. 6 is a diagram showing a flow of used path deletion processing according to the first exemplary embodiment
  • FIG. 3 is a diagram illustrating a flow of a simulation execution process according to the first embodiment. It is a figure which shows the same path use analysis report concerning Embodiment 1.
  • FIG. It is a figure which shows the use path list
  • FIG. 1 is a diagram illustrating the architecture of a processing device and a crossbar switch according to a first embodiment; It is a figure which shows the data format of the data transmitted / received concerning Embodiment 1.
  • FIG. It is a figure which shows the data format of the data transmitted / received concerning Embodiment 1.
  • FIG. It is a figure which shows the required cycle number in each process concerning Embodiment 1.
  • FIG. 3 is a diagram illustrating a program according to the first embodiment. It is a figure which shows the architecture connection relation list
  • FIG. It is a figure which shows the simulation list
  • FIG. FIG. 3 is a diagram illustrating a timing diagram according to the first exemplary embodiment.
  • FIG. 10 is a diagram showing a flow of processing relating to determination of a used path according to the second embodiment;
  • FIG. 10 is a diagram showing an architecture connection relation list according to the second exemplary embodiment; It is a figure which shows the program concerning Embodiment 2.
  • FIG. It is a figure which shows the production
  • the path control device 40 includes an architecture connection relation list 41, a program 42, a simulation list 43, a routing control information generation unit 44, a use candidate list 45, a used path list 46, and a routing control information correction unit 47. It is equipped with.
  • the architecture connection relation list 41, the program 42, the simulation list 43, the use candidate list 45, and the used path list 46 are, for example, RAM (Random Access Memory), ROM (Read Only Memory) in the path control device 40. ), Or in a memory area inside the apparatus or in an external apparatus, for example, a hard disk device or an external card device.
  • the program 42 describes a sequence of a set of a transmission source processing device that is a transmission source when transmitting data, a transmission destination processing device that is a data arrival destination, and a control signal that is a trigger signal for performing this data transmission. Is done.
  • An example of such a program is shown in FIG. FIG. 2 is an example in which a program is described using a table format. The first column of the program indicates the transmission source processing device, the second column indicates the transmission destination processing device, and the third column indicates the control signal. The actual program is described from the second line. For example, the program on the second line describes that the transmission source processing device A transmits data to the processing device B when the control signal 1 is input to the processing device A.
  • the format in FIG. 2 is merely an example, and any other format may be used as long as at least the transmission source and transmission destination processing devices and the control signal are described.
  • the architecture connection relation list 41 describes restrictions or connection relations regarding routing units between processing devices.
  • An example of such an architecture connection relation list 41 is shown in FIG.
  • the architecture connection relation list 41 in FIG. 3 shows pairs of transmission source processing devices and transmission destination processing devices in the first column and the second column, respectively, and is used when data is transmitted in the third column.
  • a list of possible paths is given.
  • the second line indicates that when data is sent from the processing device A to the processing device B, two paths, Path1 and Path2, can be used.
  • Path1 and Path2 can be used.
  • a routing unit and its port used in each Path are described.
  • the order of passage between the routing unit and the port is shown separated by a comma.
  • Path 1 in the second row can be transmitted to the processing device B through port 0 of the routing unit Runit 1, port 0 of the routing unit Runit 2, and port 0 of the routing unit Runit 3.
  • FIG. 3 is merely an example, and the restrictions on the architecture, the connection relationship, and the like may be described in a format that can recognize the connection between the processing devices, and the format is not limited.
  • the simulation list 43 inputs various control signals for the generated routing control information and actually performs a simulation to verify the operation. Whether or not a collision between data due to a bug in the routing control information occurs during the operation, That is, it is used when checking whether or not the routing control information needs to be corrected.
  • An example of this simulation list is shown in FIG.
  • the simulation list in this example uses “[]” to define the name and head of the simulation data, and further includes a plurality of simulation data. Each simulation data describes a control signal input in each cycle of the simulation and an input destination of the control signal.
  • the input destination of the control signal may be a processing device name or a port number of the processing device.
  • two simulation declarations are indicated by “[]”.
  • the first column is the cycle
  • the second column is the input control signal value given at that time
  • the third column is the It is described as an input destination.
  • This example is just an example as described above, and the format is not limited as long as simulation in the architecture is possible.
  • the routing control information generation unit 44 generates a use candidate list 45 and a used path list 46 based on information received from the architecture connection relation list 41 and the program 42. For example, the routing control information generation unit 44 extracts an available path from the architecture connection relation list 41 for each set of the transmission source processing device and the transmission destination processing device, and generates the usage candidate list 45.
  • An example of the use candidate list 45 is shown in FIG. 5A.
  • the used path list in FIG. 5B records the paths already used by the program analyzed so far for each control signal.
  • the paths that have already been used are Runit1_port0, Runit2_port0, and Runit4_port1 defined after Path1. These may be in the same format as above.
  • the routing control information generation unit 44 uses the use candidate list 45 and the used path list 46 to determine a use path between the transmission source processing device and the transmission destination processing device. In addition, the routing control information generation unit 44 determines a use path in all programs and generates routing control information.
  • the routing control information correction unit 47 corrects the routing control information when there is an overlapping use path between the routing control information associated with different control signals. Detailed correction processing will be described in detail later.
  • the routing control information generation unit 44 generates routing control information (S11).
  • the generation processing of the routing control information will be described in detail with reference to FIG.
  • the routing control information generation unit 44 acquires one line of the program described in the table format (S21). Thereafter, the routing control information generation unit 44 performs processing of creating a use candidate list (S22), deleting a used path (S23), determining a used path (S24), and recording a used path (S25).
  • the creation of the use candidate list in step S22 will be described in detail with reference to FIG.
  • the routing control information generation unit 44 searches the architecture connection relation list 41 based on the transmission source processing device and the transmission destination processing device described in the acquired program, and extracts the usable paths of the corresponding connection relation. (S31). Next, the routing control information generation unit 44 registers the extracted usable path in the use candidate list 45 (S32).
  • the routing control information generation unit 44 searches the used path list 46 based on the control signal information described in the acquired program, and extracts the connection relationship associated with the control signal information (S41). .
  • the routing control information generation unit 44 deletes the path information described in the extracted connection relationship from the use candidate list 45 (S42). In the used path list 46, used paths determined in other programs are recorded.
  • the routing control information generating unit 44 determines the used path (S24).
  • the routing control information generation unit 44 searches and extracts the paths remaining in the use candidate list 45 from the top of the use candidate list 45 for paths that can connect the transmission source processing device and the transmission destination processing device. .
  • the routing control information generation unit 44 determines the extracted path as a used path.
  • the extraction of connectable paths is first performed after searching from the top of the list.
  • the present invention is not limited to this, and one path may be selected by some method.
  • the routing control information generation unit 44 records the path determined as the used path in the used path list 46 (S25). Thereby, it is possible to prevent the same path as the determined path from being used repeatedly.
  • the routing control information generation unit 44 ends the process when it is determined that the program has been implemented for all the lines of the program, and repeats the process of step S21 when it is determined that the program has not been implemented for all the lines of the program.
  • the above is the routing control information generation processing of FIG.
  • the routing control information generation unit 44 executes the simulation based on the information acquired from the simulation list 43 (S12).
  • simulation execution processing will be described in detail with reference to FIG.
  • the routing control information generation unit 44 acquires all the routing control information to be executed in the next cycle, and records information on the used path associated with the routing control information (S51).
  • the acquired routing control information includes information on the used path determined in different control signals.
  • the recording data structure is arbitrary, and for example, a data structure listed as shown in the use candidate list may be used.
  • the routing control information generation unit 44 analyzes whether the use of the same path is recorded in the recorded information (S52). Here, when the same path is not used (S53), the routing control information generation unit 44 performs one-cycle simulation (S54). When all the simulation cycles are completed, the process goes through the loop. If all the simulation cycles have not been completed, the process returns to step S51 and proceeds to the analysis of the next cycle.
  • the routing control information correction unit 47 creates the same path usage analysis report as the operating path list (S56), and corrects the routing control information based on these reports. (S57), the process returns to the top of the flow.
  • FIG. 11A is the same path use analysis report
  • FIG. 11B is an operation use path list.
  • the same path usage analysis report records the same path usage list in which the transmission source and destination processing devices of routing using the same path and the control signal (CP) are recorded.
  • the example of FIG. 11 shows that two identical path uses (simultaneous path use list 1 and simultaneous path use list 2) occur in this processing cycle.
  • the operating use path list excludes all the paths recorded in the same path use analysis report from the information constructed in step S51 of FIG. 10 (acquires use path information of all control signals executed in the next cycle).
  • the information is as shown in FIG. 11B.
  • the routing control information correction unit 47 extracts one simultaneous use path list from the same path use analysis report (S61).
  • one item transmission source, transmission destination, control signal
  • the routing control information is regenerated (S62).
  • the list selection method is arbitrary. For example, the list may be selected in order from the top of the list, or the priority in the list may be determined using some evaluation criteria, and the process may be executed according to the priority.
  • the routing control information regeneration process is the same as that shown in FIG. 7 except that the same path use list is used instead of the program and the operating use path list is used instead of the used path list.
  • FIG. 13 includes processing devices 11 to 14, processing devices 21 to 24, a first stage routing unit 50, a second stage routing unit 60, and a third stage routing unit 70.
  • the first stage routing unit 50 includes crossbar switches (hereinafter referred to as Xbar) 51 to 54
  • the second stage routing unit 60 includes Xbars 61 to 64
  • the third stage routing unit 70 includes Xbars 71 to 74.
  • An arrow indicated by a solid line indicates a path connecting the processing device and Xbar or Xbar.
  • Each processing device has 4 ports as input / output ports. Each port has an arithmetic unit, and executes a predetermined process according to the input control signal.
  • the input ports of the processing device 11 are inA0 to inA3 from the left in the figure, and the output ports are poA0 to poA3 from the left in the figure.
  • the input / output ports of the processing device 12 are inB0 to inB3 and poB0 to poB3, the input / output ports of the processing device 13 are inC0 to inC3, and poC0 to poC3, and the input / output ports of the processing device 14 are InD0 to inD3 and poD0 to poD3.
  • the input port of the processing device 21 is piE0 to piE3
  • the input port of the processing device 22 is piF0 to piF3
  • the input port of the processing device 23 is piG0 to piG3
  • the input port of the processing device 24 is piH0. ⁇ piH3.
  • routing control information is stored in a routing control information memory (not shown) provided for each of the ports of the processing devices 11 to 14 indicating the transmission source processing device.
  • a routing control information memory not shown
  • the routing control information is read from the memory position indicated by the control signal and added to the data for which the calculation has been completed. Data output processing is performed from either.
  • the data input to the processing devices 11 to 14 is k bits and is composed of data and control signals.
  • the number of bits of the data and the control signal has no particular meaning and is indicated by using the symbol k.
  • the data output from the processing devices 11 to 14 is in a format to which a control signal for controlling the routing unit is added. This is shown in FIG. 14B.
  • FIG. 14B shows a state in which control information for the first-stage routing unit, second-stage routing unit, and third-stage routing unit is added to the data and the control signal.
  • the routing control information includes only the values 0, 1, 2, and 3 that are the Xbar output port values, so the number of bits is set to 2 bits.
  • the first, second, and third stage routing units obtain the corresponding control signals from the input data, and determine the routing based on the values.
  • the output port of Xbar has numbers 0, 1, 2, and 3 from the left of the block indicating Xbar, respectively, and the control information specifies the port number to determine the destination of Xbar. .
  • the detailed architecture and control of each Xbar are not directly related to this patent, and will be omitted.
  • processing executed by the processing devices 11 to 14 and the number of cycles required for the processing are defined as shown in FIG. Note that processes other than those necessary for the description of this example are omitted.
  • the processing X requires one cycle
  • the processing Y requires two cycles. For example, the process X or the process Y cannot be newly executed in the next cycle in which the process Y is executed.
  • the processing at the transmission source is also described. In this example, the process Y is performed for the control signal 1 and the process X is performed for the control signal 2.
  • FIG. 17 shows an architecture connection relation list in this architecture.
  • FIG. 17 shows only the connection relations necessary for explaining this specific example. Specifically, for the Xbar port, in this example, if routing from one Xbar to the next Xbar is determined, the port to be used is unique, and is not clearly shown in FIG. Similarly, the source and destination processing devices are not shown in the third column because they can be determined by referring to the first and second columns in the table.
  • the second line of the architecture connection relation list in this specific example shows the connection relation when the transmission source is poA0 and the transmission destination is piE0.
  • path1 routes to Xbar61 at Xbar51, then routes to Xbar71 at Xbar61, and finally routes to piE0 at Xbar71.
  • the routing for the paths 2, 3, and 4 the routing between the transmission source poA1 and the transmission destination piE1, and the transmission between the transmission source poB0 and the transmission destination piE2 are as shown in FIG.
  • FIG. 18 shows a simulation list in this specific example. It is assumed that there is one simulation data in this specific example, and that 1 is input to the control signal in the first 4 cycles and 2 is input in the latter 4 cycles.
  • FIG. 19 shows a timing diagram of inputs (inA0, inA1, inB0) and outputs (poA0, poA1, poB0) when the simulation data shown in FIG. 18 is executed.
  • the control signal 1 is input to inA0 and inA1 in the start four cycles.
  • the control signal 2 is input to inB0 in the latter four cycles.
  • the routing control information generation unit 44 acquires one line from the program (FIG. 7, step S21). In this example, the program line of the control signal 1 described in the second line of FIG. 16 is acquired. Next, the routing control information generation unit 44 creates a use candidate list 45 (FIG. 7, step S22). In this example, Path1 to Path4 described in the rows of the transmission source poA0 and the transmission destination piE0 in the architecture connection relation list 41 of FIG. 17 are extracted and registered in the use candidate list 45.
  • the routing control information generation unit 44 deletes the used path (FIG. 7, step S23).
  • the routing control information generation unit 44 determines a used path (step S24 in FIG. 7).
  • Path1 which is the head of the use candidate list is adopted.
  • the routing control information generation unit 44 records the used path (step S25 in FIG. 7).
  • the routing control information generating unit 44 employs Path1, the path information described in Path1 and the control signal 1 are described in the used path list 46.
  • the processing returns to step S21 in FIG.
  • the routing control information generation unit 44 obtains the next line program (the third line in FIG. 16) (FIG. 7, step S21).
  • the next line is a control signal 1, which is a transmission source poA1 and a transmission destination piE1.
  • the routing control information generation unit 44 creates a use candidate list 45 (FIG. 7, step S22).
  • the routing control information generation unit 44 extracts Path1 to Path4 described in the rows of the transmission source poA1 and the transmission destination piE1 in the architecture connection relation list 41 in FIG. 17 and registers them in the use candidate list 45.
  • the routing control information generation unit 44 deletes the used path after completing the use candidate list creation (FIG. 7, step S23).
  • Path 1 of the use candidate list includes the same routing as the path described in the used path list created earlier. Therefore, the routing control information generation unit 44 deletes Path1 from the use candidate list.
  • the routing control information generation unit 44 determines a used path.
  • the routing control information generation unit 44 employs Path2 which is the head of the use candidate list among the use candidate lists remaining after deleting Path1 (FIG. 7, step S24).
  • the routing control information generating unit 44 records the path information described in the adopted Path 2 and the control signal 1 in the used path list 46 (FIG. 7, step S25).
  • the routing control information generation unit 44 obtains the next line program (the fourth line in FIG. 16) (FIG. 7, step S21).
  • the next line is the control signal 2, which is the transmission source poB0 and the transmission destination piE2.
  • the routing control information generation unit 44 first creates a use candidate list (FIG. 7, step S22).
  • the routing control information generation unit 44 deletes the used path after the use candidate list is created (step S23 in FIG. 7).
  • the used path is not deleted.
  • the routing control information generation unit 44 determines a used path (step S24 in FIG. 7).
  • the routing control information generation unit 44 employs Path 1 that is the head of the use candidate list 45.
  • the used pass is recorded (FIG. 7, step S25).
  • the routing control information generation unit 44 employs Path 1, the path information described in Path 1 and the control signal 2 are described in the used path list 46. Thus, the generation of the routing control information ends.
  • the routing control information generation unit 44 determines simulation data used for the simulation. In this example, the routing control information generation unit 44 performs a simulation using the data of the simulation 1 in FIG.
  • the routing control information generation unit 44 acquires routing control information associated with all control signals for the simulation performed in the first cycle (FIG. 10, step S51).
  • the routing control information generation unit 44 analyzes whether there is a routing that uses the same path in the acquired routing control information (FIG. 10, steps S51 and S52).
  • the routing control information generation unit 44 inputs the control signal 1 to inA0 and inA1 in the first cycle.
  • the processing corresponding to the control signal 1 input in inA0 and inA1 is processing Y for both inA0 and inA1. From FIG. 15, the process Y requires two cycles as the processing period. Therefore, no data is output from poA0 and poA1 in this cycle.
  • the routing control information correction unit 47 determines that there is no routing to be executed, and therefore does not use the same path (FIG. 10, step S53), and executes the first cycle simulation (FIG. 10, step S54).
  • control signal 1 is input to inA0 and inA1 again. Similarly to the previous cycle, data is not output from poA0 and poA1 in this cycle. Accordingly, the processing moves to the next cycle.
  • control signal 1 is input to inA0 and inA1 again.
  • the process Y executed by inputting the control signal 1 to inA0 and inA1 two cycles before is completed, and data is output from poA0 and poA1, respectively.
  • the routing control information generation unit 44 acquires and analyzes the routing control information, and analyzes whether the same path is used.
  • routing from poA0 to piE0 and from poA1 to piE1 is executed.
  • the path from poA0 to piE0 is Path1 and passes through Xbar51, Xbar61, and Xbar71.
  • the path from poA1 to piE1 is Path2 and passes through Xbar51, Xbar62, and Xbar71. It can be seen that Path 1 and Path 2 do not use the same path by referring to the architecture example shown in FIG. Therefore, the routing control information correction unit 47 does not correct the routing control information, and moves to analysis of the next cycle.
  • the fourth cycle is the same as the third cycle, the description is omitted.
  • the port to which the control signal is input is changed from inA0, inA1 to inB0, and the control signal becomes 2.
  • the data output from poA0 and poA1 is the same as in the third cycle, and the description is omitted.
  • control signal 2 is input to inB0.
  • the process X executed by inputting the control signal 2 to inB0 in the previous cycle and the process Y executed by inputting the control signal 1 to inA0 and inA2 two cycles ago are completed.
  • PoA0, poA1 and poB0 are output.
  • the routing control information is acquired and analyzed to analyze whether the same path is used.
  • routing from poB0 to piE2, poA0 to piE0, and poA1 to piE1 is executed.
  • the path from poB0 to piE2 is a path through Xbar52, Xbar61 and Xbar71
  • the path from poA0 to piE0 is a path through Xbar51, Xbar61 and Xbar71
  • from poA1 to piE1 Is a path that passes through Xbar51, Xbar62, and Xbar71.
  • the routing control information correction unit 47 proceeds to the creation of the same path use analysis report and the operating use path list and the correction of the routing control information (step S57 in FIG. 10).
  • the same path use analysis report and the operating use path list in this example show the same path use analysis report and the operating use path list in this example.
  • the contents described in the same path use list in FIG. 20A are routings from poA0 to piE0 and from poB0 to piE2 that have been found to use the same path in the analysis of the sixth cycle. 1 and 2.
  • the operation use path list of FIG. 20B is a path excluding the same path described above in the routing executed in the sixth cycle, that is, a path used for routing from poA1 to piE1.
  • one simultaneous path usage list is extracted from the same path usage analysis report (FIG. 12, step S61).
  • the simultaneous path use list 1 in FIG. 20A is selected.
  • one path information is extracted from the simultaneous use path list 1.
  • a path from poA0 to piE0 is selected as the extracted path information.
  • the routing control information correction unit 47 regenerates the routing control information by executing the processing flow shown in FIG. 7 using this path information and the operating path list shown in FIG. 20B (FIG. 12, FIG. 12). Step S62). Specifically, first, the routing control information modification unit 47 creates the use candidate list 45 with reference to the architecture connection relation list 41 shown in FIG. 17 in the routing from poA0 to piE0. In this example, the usage candidate list 45 records Paths 1, 2, 3, and 4 described in the rows of the transmission source poA0 and the transmission destination piE0 in FIG. Next, the routing control information correction unit 47 deletes the path recorded in the operating use path list from the paths recorded in the use candidate list 45. It can be seen from the use path list during operation in FIG.
  • the routing control information correction unit 47 deletes Path2 from the use candidate list.
  • the routing control information correction unit 47 determines the path to be used after the deletion is completed. At this time, the routing control information correction unit 47 searches for a remaining path from the top of the use candidate list, and determines Path1 as a use path. In addition, this path is added to the operating path list.
  • the routing control information correction unit 47 corrects the next line of the simultaneous path use list, that is, the routing information from poB0 to piE2 (FIG. 12, step S63).
  • the routing control information correction unit 47 creates the use candidate list 45 with reference to the architecture connection relation list 41 shown in FIG. In this example, in the use candidate list, Paths 1, 2, 3, and 4 described in the rows of the transmission source poB0 and the transmission destination piE2 in FIG.
  • the paths recorded in the use path list during operation are deleted from the paths recorded in the use candidate list 45.
  • the routing control information correction unit 47 deletes Path 1 and Path 2 from the use candidate list 45.
  • the routing control information correction unit 47 determines the path to be used after the deletion is completed.
  • the routing control information correction unit 47 searches for a remaining path from the top of the use candidate list, and determines Path 3 as a use path. Further, the routing control information correction unit 47 adds this Path3 to the operating path list. Since the simultaneous path use list ends as described above, the process ends. Further, since the same path use analysis report is also ended, the routing control information correction process is ended and the process returns to the simulation.
  • the routing control information correction unit 47 performs the sixth cycle simulation again.
  • the routing from poB0 to piE2 is Xbar52, Xbar63, and Xbar71
  • the routing from poA0 to piE0 is Xbar51, Xbar61, and Xbar71
  • the routing from poA1 to piE1 passes through Xbar51, Xbar62, and Xbar71 It becomes a pass. Since these do not have the same use path, the next cycle simulation is started.
  • this method automatically creates routing control information from a program created by the programmer and performs a simulation using that information, the use of the same path is detected.
  • the routing control information can be automatically corrected. For this reason, it is possible to shorten the program creation / debug time of the programmer.
  • the routing information is not constructed by analyzing the program in order from the top as in the first embodiment of the present invention.
  • the number of usable paths at that time of each connection relationship is analyzed, and routing is determined preferentially from candidates with few usable paths, that is, with little room for selecting routing information.
  • the processing flow related to the determination of the used path is shown in FIG. FIG. 21 includes two loops, a first loop portion and a second loop portion.
  • the first loop unit executes steps S71 to S75.
  • the first loop unit examines the number of paths that can be used for a program whose path to be used is not determined, and analyzes which program is to be used.
  • the second loop unit is a loop that returns to the processing start point when the paths to be used for all the programs have not been determined after the paths to be actually used have been determined.
  • the routing control information generation unit 44 acquires one line of a program for which a path to be used has not yet been determined (S71).
  • the routing control information generating unit 44 creates a use candidate list and deletes used paths for this program line (S72, S73).
  • the processes in steps S71 to S73 are the same as those in FIG.
  • the routing control information generation unit 44 temporarily records the use candidate list from which the used path is deleted and the number of usable paths remaining in the use candidate list (S74).
  • the routing control information generation unit 44 acquires a program that has already been temporarily recorded in the first loop unit and that has the smallest number of usable paths in a program in which each used path is undetermined.
  • the routing control information generation unit 44 refers to the use candidate list already recorded for this program, and determines a use path (S76). Furthermore, the routing control information generation unit 44 records the determined used path in the used path list (S77). Next, the routing control information generation unit 44 confirms whether there is a program whose use path has not yet been determined (S78).
  • the recorded use candidate list, the number of used paths, and the first In the loop section for example, an internal variable such as a flag for recording the analyzed program is initialized (S79), and the process returns to the first loop section. Further, this process may be used to correct routing control information during simulation.
  • the processing of FIG. 21 will be described in detail using the architecture connection relation list and the program shown in FIGS.
  • the three connection relations of the transmission source and the transmission destination of poA0 and piE0, poA1 and piE1, and poA2 and piE2 are specified.
  • the number of usable connection relationships is different.
  • three paths can be used: Path1 that passes through Xbar51, Xbar61, and Xbar71, Path2 that passes through Xbar51, Xbar62, and Xbar71, and Path3 that passes through Xbar51, Xbar63, and Xbar71.
  • the connection relationship between poA1 and piE1 only Path1 that passes through Xbar51, Xbar61, and Xbar71 can be used.
  • the flow of FIG. 21 is applied.
  • the routing control information generation unit 44 executes processing in the first loop unit.
  • each use candidate list and the number of usable paths are recorded.
  • the number of usable paths is recorded as 3 for poA0 and piE0, 1 for poA1 and piE1, and 2 for poA2 and piE2.
  • the routing control information generation unit 44 determines the use paths of poA1 and poE1. Specifically, Path1: Xbar51, Xbar61, and Xbar71 described in the rows of poA1 and piE1 in FIG. 22 are selected. The routing control information generation unit 44 records this path in the used path list. Since the used paths that have not yet been determined remain in the program after the recording is completed, the routing control information generation unit 44 initializes the use candidate list, the number of usable paths, and the internal variables recorded in the first loop unit. And return to the first loop section.
  • the routing control information generation unit 44 uses the use candidate list for two items (poA0 and piE0, poA2 and piE2) excluding poA1 and piE1 whose use paths have already been determined. Determine the number of paths used.
  • poA0 and piE0 it is determined by the routing of poA1 and piE1 and uses the same path as Path1 recorded in the used path list, so only Path2 and Path3 are recorded in the use candidate list. To do.
  • Path1 is the same in poA2 and poE2
  • Path1 is deleted from the use candidate list.
  • only Path2 remains in the use candidate lists of poA2 and piE2. From the above, the number of usable paths for poA0 and poE0, and poA2 and poE2 are 2 and 1, respectively.
  • the routing control information generation unit 44 determines the used path as Path2 because the number of usable paths of poA2 and piE2 is 1, and puts this in the used path list. Record.
  • the routing control information generation unit 44 again performs the processing of the first loop unit and the second loop unit for the remaining poA0 and piE0 and determines the path to be used.
  • the paths that can be connected are preferentially determined from the ones with few paths that can be connected, so that the paths that can be used are not blocked by other paths.
  • the same method can also be used for modifying routing control information during simulation. In this case, there is no difference except that the input data is the same path use list of the program and the used path list is the operation use path list as in the first embodiment. Therefore, explanation is omitted.
  • the architecture connection relation list, the program, and the simulation list may be in any format as long as the processing flow described in this paper can be performed.
  • the present invention is realized by a program, and the control information can be obtained by recording and executing the program on a recording medium such as a PC.
  • FIG. 24 shows the present embodiment.
  • a control information automatic generation program created by a user is stored in a PC or an external recording medium, and the stored program is executed by the PC. As a result, the control information can be obtained.
  • a processor compiler or the like can be cited as an example of utilizing the present invention.
  • the route control device that generates the routing control information has been described as a device that is different from the device according to the architecture described in FIG. 13. 13 may be incorporated into a device according to the architecture described in FIG. Alternatively, the routing device may be directly connected to a device according to the architecture described in FIG.
  • Non-transitory computer readable media include various types of tangible storage media (tangible storage medium).
  • non-transitory computer-readable media examples include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable ROM), flash ROM, RAM (random access memory)) are included.
  • the program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • Routing Controller 41 Architecture Connection Relationship List 42 Program 43 Simulation List 44 Routing Control Information Generation Unit 45 Use Candidate List 46 Used Path List 47 Routing Control Information Correction Unit 50 First-stage Routing Units 51 to 54 Xbar 60 Second stage routing unit 61-64 Xbar 70 3rd stage routing unit 71-74 Xbar

Landscapes

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

Abstract

L'invention a pour objectif de fournir un système de contrôle d'acheminement permettant, lors d'un traitement d'informations de contrôle d'acheminement défini par des signaux de commande qui sont entrés à différents moments, de générer automatiquement des informations de contrôle d'acheminement et d'effectuer automatiquement une analyse, etc., des informations de contrôle d'acheminement. Ce dispositif de contrôle d'acheminement comprend : une unité de génération d'informations de contrôle d'acheminement (44) qui génère des premières informations de connexion et des secondes informations de connexion d'après une liste de relations de connexion d'architecture (41) qui définit une relation de connexion et une liste de correspondances d'émission-réception ; et une unité de correction d'informations de contrôle d'acheminement (47) qui, si les destinations de transfert des premières et des secondes données correspondent dans une simulation, modifie les premières informations de connexion et/ou les secondes informations de connexion.
PCT/JP2013/000220 2012-01-24 2013-01-18 Dispositif de contrôle d'acheminement, procédé de génération d'informations de contrôle et support lisible par ordinateur non transitoire sur lequel est enregistré un programme WO2013111547A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-011695 2012-01-24
JP2012011695 2012-01-24

Publications (1)

Publication Number Publication Date
WO2013111547A1 true WO2013111547A1 (fr) 2013-08-01

Family

ID=48873279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/000220 WO2013111547A1 (fr) 2012-01-24 2013-01-18 Dispositif de contrôle d'acheminement, procédé de génération d'informations de contrôle et support lisible par ordinateur non transitoire sur lequel est enregistré un programme

Country Status (2)

Country Link
JP (1) JPWO2013111547A1 (fr)
WO (1) WO2013111547A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015021554A1 (fr) 2013-08-15 2015-02-19 Immun.io Inc. Procédé et système permettant de protéger les applications web contre les attaques web

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08237255A (ja) * 1995-02-24 1996-09-13 Hitachi Ltd セルスイッチおよびそれを用いたスイッチ網とatm交換網
JPH1166024A (ja) * 1997-08-20 1999-03-09 Nec Eng Ltd クロスバスイッチ切換システム
JP2000293495A (ja) * 1999-04-06 2000-10-20 Nec Eng Ltd ネットワーク装置
JP2002259352A (ja) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08237255A (ja) * 1995-02-24 1996-09-13 Hitachi Ltd セルスイッチおよびそれを用いたスイッチ網とatm交換網
JPH1166024A (ja) * 1997-08-20 1999-03-09 Nec Eng Ltd クロスバスイッチ切換システム
JP2000293495A (ja) * 1999-04-06 2000-10-20 Nec Eng Ltd ネットワーク装置
JP2002259352A (ja) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIDEHARU AMANO, HEIRETSU COMPUTER, 5 June 1996 (1996-06-05), pages 99 - 117 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015021554A1 (fr) 2013-08-15 2015-02-19 Immun.io Inc. Procédé et système permettant de protéger les applications web contre les attaques web

Also Published As

Publication number Publication date
JPWO2013111547A1 (ja) 2015-05-11

Similar Documents

Publication Publication Date Title
US7864707B2 (en) Determination of network topology using flow-based traffic information
US11121933B2 (en) Physically aware topology synthesis of a network
US8078915B2 (en) System and method for verifying operation of a target system
US11176302B2 (en) System on chip (SoC) builder
EP1548581A2 (fr) Méthodes, dispositifs et programmes pour le développement de système
CN104917760A (zh) 一种基于sdn的全局流表生成方法及装置
US7287246B2 (en) Debugging optimized flows with breakpoints using stored breakpoint trigger indicators
JP5962736B2 (ja) 情報処理システム、分類方法、及びそのためのプログラム
CN111158890A (zh) 控制任务集中的任务并行的系统及其方法
US20180198687A1 (en) Infrastructure to Apply Machine Learning for NoC Construction
WO2015107711A1 (fr) Dispositif d'inspection de modèle pour modèle d'environnement réparti, procédé d'inspection de modèle pour modèle d'environnement réparti, et programme
WO2013111547A1 (fr) Dispositif de contrôle d'acheminement, procédé de génération d'informations de contrôle et support lisible par ordinateur non transitoire sur lequel est enregistré un programme
JPWO2015107711A6 (ja) 分散環境モデル用モデル検査装置、分散環境モデル用モデル検査方法及びプログラム
US9910810B1 (en) Multiphase I/O for processor-based emulation system
de Almeida et al. Bigdatanetsim: A simulator for data and process placement in large big data platforms
JP3930255B2 (ja) システム仕様情報処理装置、システム仕様情報処理方法及びプログラム
JP4481783B2 (ja) シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム
JP2010140255A (ja) 再構成可能論理回路ならびに検証方法および検証プログラム
JP2016015672A (ja) ネットワーク制御装置、及びネットワーク設定システム
US10210070B2 (en) Model checking apparatus, model checking method, and storage medium
Brusey et al. Designing communication protocols for holonic control devices using elementary nets
Liu Efficient and safe migration of network functions using software-defined networking
JP6428768B2 (ja) モデル検査装置、方法及びプログラムを記憶した記憶媒体
Deniziak et al. Contention-avoiding custom topology generation for network-on-chip
KR102465846B1 (ko) 네트워크 장비를 제어하는 제어 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13741196

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013555183

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13741196

Country of ref document: EP

Kind code of ref document: A1