WO2016056217A1 - 測定装置、測定システム、測定方法、および、プログラム - Google Patents
測定装置、測定システム、測定方法、および、プログラム Download PDFInfo
- Publication number
- WO2016056217A1 WO2016056217A1 PCT/JP2015/005053 JP2015005053W WO2016056217A1 WO 2016056217 A1 WO2016056217 A1 WO 2016056217A1 JP 2015005053 W JP2015005053 W JP 2015005053W WO 2016056217 A1 WO2016056217 A1 WO 2016056217A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- communication
- packet
- cache miss
- processing
- threshold
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
Definitions
- the present invention relates to a measuring device, a measuring system, a measuring method, and a program, and more particularly, to a measuring device, a measuring system, a measuring method, and a program for measuring the influence of a cache miss on communication processing.
- Ethernet (registered trademark) switches and routers execute a packet processing function that forwards or discards packets according to a certain rule, that is, a network switch function.
- the packet processing function may be realized by a dedicated processor, or may be realized by software operating on a general-purpose processor.
- ⁇ 1 Receive the packet from the communication interface
- ⁇ 2 Specify the communication flow to which the packet belongs
- ⁇ 3 Refer to the information necessary to process the flow
- ⁇ 4 Process the packet based on the information
- Patent Document 1 discloses a technique for reducing such cache misses and improving and stabilizing average processing performance.
- the microprocessor of Patent Document 1 reduces cache misses by using a pipeline processing mechanism for packet processing.
- the microprocessor has four buffer memories for accommodating received packets, and executes the following processing in parallel for each buffer memory. ⁇ Packet reception (equivalent to process 1 above) ⁇ Related data prefetch (equivalent to the above processing 2 and 3) ⁇ Packet processing (equivalent to processing 4 above) ⁇ Packet output (equivalent to process 4 above)
- the microprocessor disclosed in Patent Document 1 prefetches the memory data referred to in the process 2 and loads it into the cache before referring to the data. Furthermore, the microprocessor processes another packet until the data is loaded into the cache. Thereby, the microprocessor reduces cache misses.
- Patent Document 2 discloses a communication system that realizes a packet processing function by software.
- the microprocessor disclosed in Patent Document 1 requires special hardware such as a prefetch control unit and a buffer memory state control unit. Performing packet processing with a processor having such special hardware results in an increase in the device price.
- the processor prefetches the memory data for memory data access that causes performance degradation.
- the processor processes another packet (or the packet currently being processed).
- the following measured value is required, and how to measure this value It becomes a problem.
- -Data access delay time when a cache miss occurs and Packet processing execution time when no cache miss occurs
- these measurements are also used for other purposes such as determining the speed and capacity of the cache memory. Can be used.
- An object of the present invention is to provide a measuring apparatus, a measuring system, a measuring method, and a program for obtaining the above two measured values.
- the measuring apparatus measures the packet processing time of a communication processing unit that performs packet processing of a communication flow using a cache memory for a plurality of communication flows, and when there is no cache miss from the measurement result.
- Control means for calculating packet processing time and processing delay time due to cache miss is provided.
- the measurement method measures the packet processing time of a communication processing unit that performs packet processing of a communication flow using a cache memory for a plurality of communication flows, and when there is no cache miss from the measurement result. A packet processing time and a processing delay time due to a cache miss are calculated.
- a recording medium measures a packet processing time of a communication processing unit that performs packet processing of a communication flow using a cache memory in a computer for a plurality of communication flows, and a cache miss is determined from the measurement result.
- a program for executing a process for calculating a packet processing time when there is no packet and a processing delay time due to a cache miss is recorded.
- the measuring apparatus can obtain the data access delay time when a cache miss occurs and the time required to execute packet processing when no cache miss occurs.
- FIG. 1 is an explanatory diagram illustrating an example of a configuration of a measurement system 60 according to the first embodiment.
- FIG. 2 is a block diagram illustrating a configuration example of the measuring apparatus 1.
- FIG. 3 is a block diagram illustrating a configuration example of the load generating device 2.
- FIG. 4 is a block diagram illustrating a detailed configuration example of the measuring apparatus 1.
- FIG. 5 is a flowchart illustrating an operation example of the communication processing unit 20.
- FIG. 6 is a flowchart illustrating an operation example of the measurement control unit 12.
- FIG. 7 is a flowchart illustrating an operation example of the load generation unit 40.
- FIG. 8 is a flowchart (part 1) illustrating an operation example of the optimization control unit 11.
- FIG. 1 is an explanatory diagram illustrating an example of a configuration of a measurement system 60 according to the first embodiment.
- FIG. 2 is a block diagram illustrating a configuration example of the measuring apparatus 1.
- FIG. 3 is a block diagram illustrating a
- FIG. 9 is a flowchart (part 2) illustrating an operation example of the optimization control unit 11.
- FIG. 10 is a graph illustrating an example of a measurement result of time taken for packet processing by the communication processing unit 20.
- FIG. 11 is a graph showing an example of the residual sum of squares calculated by the optimization control unit 11.
- FIG. 12 is a table showing an example of measurement output values output from the measurement apparatus 1.
- FIG. 13 is a schematic diagram illustrating a packet processing time sequence example for explaining the process optimization of the communication processing unit 20 that can be performed using the measurement output value output from the measurement apparatus 1.
- FIG. 14 is a flowchart (part 1) illustrating an operation example of the communication processing unit 20 after optimization.
- FIG. 15A is a flowchart (part 1 of 2) illustrating an operation example of the communication processing unit 20 after optimization.
- FIG. 15B is a flowchart (part 2 of 2) illustrating an operation example of the communication processing unit 20 after optimization.
- FIG. 16 is an explanatory diagram illustrating an example of the
- FIG. 1 is an explanatory diagram illustrating an example of a configuration of a measurement system 60 according to the present embodiment.
- a measurement system 60 illustrated in FIG. 1 includes a measurement device 1, a load generation device 2, and a communication network 3.
- the measuring device 1 is a device provided with a general-purpose or dedicated processor and a hierarchical memory (none of which is shown) including a cache.
- the measuring apparatus 1 executes packet processing for realizing the network switch function on the processor, and processing time when there is no cache miss and processing delay time due to cache miss (hereinafter collectively referred to as a measurement output value). Measure).
- These measurement output values can be used, for example, to optimize packet processing and determine the speed and capacity of the cache memory as described above.
- the measuring device 1 is realized by, for example, a computer and a software packet processing function.
- the measuring device 1 may be a dedicated device equipped with a dedicated processor configured with a dedicated logic circuit.
- the load generating device 2 is a device that generates a communication load required by the measuring device 1.
- the load generation device 2 is realized by, for example, a computer including a hierarchical memory including a processor and a cache, and a software packet generation function.
- the load generating device 2 may be a dedicated device equipped with a dedicated logic circuit.
- the communication network 3 is a communication path that connects the measuring device 1 and the load generating device 2.
- the communication network 3 is realized by, for example, Ethernet (registered trademark) LAN (Local Area Network).
- FIG. 2 is a block diagram illustrating a configuration example of the measuring apparatus 1.
- the measuring apparatus 1 illustrated in FIG. 2 includes a control unit 10, a communication processing unit 20, and a communication IF (Interface) unit 30.
- One or more communication IF units 30 may be provided.
- the control unit 10 performs control for performing measurement related to the communication processing unit 20.
- the communication processing unit 20 operates as a network switch, receives a packet received by the communication IF unit 30, and executes packet processing.
- the communication processing unit 20 identifies a flow to which the received packet belongs, refers to information on the flow, and determines and processes the processing method of the packet.
- the communication IF unit 30 is an interface for connecting the measuring apparatus 1 and the communication network 3, and performs communication according to a protocol used in the communication network 3.
- the control unit 10, the communication processing unit 20, and the communication IF unit 30 are configured by logic circuits.
- the control unit 10, the communication processing unit 20, or the communication IF unit 30 may be realized by software that is stored in the memory of the measuring apparatus 1 that is a computer and executed by a processor.
- FIG. 3 is a block diagram illustrating a configuration example of the load generator 2.
- the load generation device 2 illustrated in FIG. 3 includes a load generation unit 40 and a communication IF unit 50. There may be one or more communication IF units 50.
- the load generation unit 40 generates and transmits a packet serving as a load on the communication processing unit 20 under the instruction of the control unit 10 of the measurement apparatus 1.
- the instruction of the control unit 10 includes, for example, part or all of the number of flows, transmission destination information, transmission source information, transmission rate, and transmission pattern.
- the communication IF unit 50 is an interface for connecting the load generating device 2 and the communication network 3, and performs communication according to a protocol used in the communication network 3.
- FIG. 4 is a block diagram showing a detailed configuration example of the measuring apparatus 1.
- the control unit 10 includes an optimization control unit 11 and a measurement control unit 12.
- the optimization control unit 11 instructs the measurement control unit 12 to measure the time required for packet processing executed by the communication processing unit 20 a plurality of times, and receives the measurement result.
- the optimization control unit 11 instructs the measurement control unit 12 to perform measurement with a different number of flows for each of a plurality of measurements.
- the optimization control unit 11 determines the necessity of further measurement and the number of flows when performing further measurement based on the obtained measurement result. Further, the optimization control unit 11 determines a cache miss flow threshold that is a flow number threshold related to a cache miss that occurs during packet processing by the communication processing unit 20 based on the obtained measurement result.
- the cash miss flow threshold is a threshold composed of one or more values.
- the cache miss flow threshold is a value indicating the number of flows in which the occurrence of a cache miss is small in packet processing of the number of flows equal to or less than the threshold and the cache miss occurs regularly in the packet processing of the number of flows equal to or greater than the threshold. It is.
- the cache miss flow threshold is a value that approximates the number of flows when the working set capacity exceeds the cache memory capacity.
- the optimization control unit 11 determines a cache miss flow threshold from the above measurement result. Further, the optimization control unit 11 determines the following measurement output value related to the communication processing unit 20 from the measurement result and the determined cache miss flow threshold. ⁇ Data access delay time when a cache miss occurs ⁇ Each execution time of the sub-process that constitutes packet processing when no cache miss occurs Note that the cache miss here is a working set that accompanies an increase in the number of flows This refers to a cache miss that occurs regularly due to an increase in the capacity of the server (the same applies to the following description). In the description “when no cache miss occurs”, the occurrence of a cache miss is not necessarily zero.
- the capacity of the working set is sufficiently smaller than the capacity of the cache memory, there is a possibility that a cache miss may occur due to a change in the memory block group included in the working set.
- the data access delay time measured by the measuring apparatus 1 is not due to such a cache miss, but is due to a cache miss that occurs regularly due to an increase in the capacity of the working set.
- the measurement control unit 12 receives the number of flows as an input, controls the communication processing unit 20 and the load generation unit 40, and measures the packet processing time when the communication processing unit 20 performs communication of the specified number of flows.
- the measurement control unit 12 may control the load generation unit 40 through the communication network 3 or may control through a control network (not shown).
- the communication processing unit 20 in this embodiment processes an IP (Internet Protocol) packet, for example.
- IP Internet Protocol
- the communication processing unit 20 specifies a flow using a transmission source IP address, a transmission destination IP address, an upper protocol number, a transmission destination port number, and a transmission source port number (hereinafter also referred to as a 5-tuple) included in the packet header. . That is, the communication processing unit 20 determines that packet groups having the same 5-tuple value (hereinafter also referred to as a key) belong to the same flow.
- the communication processing unit 20 in the present embodiment uses a flow entry as a processing rule related to a flow.
- a flow entry includes a method of processing a packet that is identified and specified by a value of a 5-tuple and belongs to a flow corresponding to the 5-tuple.
- the packet processing method includes, for example, outputting a packet from a specific communication IF unit 30, discarding the packet, notifying a module / device (not shown) inside or outside the measuring apparatus 1, storing it in a storage device (not shown), and the like. It may be.
- the communication processing unit 20 stores a flow table including a flow entry.
- the communication processing unit 20 provides the control unit 10 with an interface that manipulates the contents of the flow table, that is, adds, references, updates, and deletes flow entries.
- the communication processing unit 20 stores the flow entry on the memory of the measuring device 1 using a hash table.
- the hash table used by the communication processing unit 20 may be, for example, an Open Addressing method.
- the communication processing unit 20 receives and processes the packet received by the communication IF unit 30.
- the communication processing unit 20 performs the following processes on the received packet.
- -A Get the 5-tuple value of the packet
- -B Search for the flow entry corresponding to the packet
- -C Process the packet according to the processing method included in the acquired flow entry
- the communication processing unit 20 may discard the packet, or notify the occurrence of the event to a module / device (not shown) inside or outside the measuring device 1. Also good.
- the communication processing unit 20 has a function of measuring part or all of the time required for executing each of the above A to C.
- the communication processing unit 20 may measure the required time using, for example, a cycle number counter included in the measurement device 1 or the processor of the communication processing unit 20.
- the communication processing unit 20 acquires a value from the cycle number counter immediately before the start of the process A, acquires a value from the cycle number counter immediately after the process A ends, and determines the process A from the difference between the acquired values.
- the required time or the required number of cycles may be measured.
- the communication processing unit 20 may measure the processing time using a real time timer.
- the communication processing unit 20 may measure the required time with a finer granularity than the processing units A to C.
- FIG. 5 is a flowchart showing an operation when the communication processing unit 20 receives and processes a packet from the communication IF unit 30. This operation may be started by event driving, or may be started by a polling operation by the communication processing unit 20.
- the communication processing unit 20 receives a packet from the communication IF unit 30 (step S101).
- the communication processing unit 20 confirms whether or not all received packets have been processed, and ends the process if there is no unprocessed packet (N in step S102).
- the communication processing unit 20 starts processing the first packet and extracts the key of the packet (step S103). For example, the communication processing unit 20 obtains a 5-tuple value of the packet, that is, a transmission source IP address, a transmission destination IP address, an upper protocol number, a transmission destination port number, and a transmission source port number.
- the communication processing unit 20 calculates a hash value for the key of the packet (step S104).
- the communication processing unit 20 searches the hash table based on the obtained hash value, and searches for a flow entry related to the flow to which the packet belongs (step S105).
- step S108 the communication processing unit 20 processes the packet according to the processing method specified in the flow entry (step S106).
- the communication processing unit 20 discards the packet (step S107). Instead of discarding the packet or in addition to discarding the packet, the communication processing unit 20 notifies a module / device (not shown) inside or outside the measuring apparatus 1 of the occurrence of a packet that does not have a corresponding flow entry. May be.
- FIG. 6 is a flowchart showing the operation when the measurement control unit 12 measures the time required for packet processing by the communication processing unit 20. This operation is started by a request from the optimization control unit 11, for example. At the start of this operation, the measurement control unit 12 receives at least the number of flows used for measurement as an input parameter.
- the measurement control unit 12 sets a flow entry for the specified number of flows in the communication processing unit 20 (step S121).
- the measurement control unit 12 may generate the key of the flow entry to be set, for example, randomly within a range where duplication does not occur, or continuously increase the value (for example, destination IP address) Also good.
- the processing method of the flow entry to be set may be any one of outputting from the communication IF unit 30 of the reception source, outputting from the communication IF unit 30 different from the reception source, and discarding.
- the measurement control unit 12 instructs the communication processing unit 20 to start measuring the time required for packet processing (step S122). Note that this step may be omitted if the communication processing unit 20 always measures the required time during the operation.
- the measurement control unit 12 instructs the load generation unit 40 to start load generation (step S123). At that time, the measurement control unit 12 passes the set of keys generated in step S121 to the load generation unit 40 as an input parameter. Alternatively, the measurement control unit 12 and the load generation unit 40 share a key set generation algorithm in advance, and the measurement control unit 12 passes only the input parameters necessary to create the same set of values to the load generation unit 40. Also good.
- the measurement control unit 12 waits until the measurement is completed (step S124). For example, the measurement control unit 12 may determine that the measurement is completed after a predetermined time has elapsed. Alternatively, the measurement control unit 12 periodically acquires the number of packets processed by the communication processing unit 20 from the start of measurement from the communication processing unit 20, and determines that the measurement is completed when a preset threshold value is reached. May be.
- the measurement control unit 12 instructs the load generation unit 40 to end the load generation (step S125).
- the measurement control unit 12 acquires the measurement result from the communication processing unit 20 and passes it to the optimization control unit 11 (step S126).
- FIG. 7 is a flowchart showing an operation when the load generating unit 40 generates communication that becomes a load on the communication processing unit 20. This operation is started by a request from the measurement control unit 12, for example. At the start of this operation, the load generating unit 40 receives, for example, a set of keys to be used for a packet to be generated as an input parameter.
- the load generation unit 40 confirms whether there is an end instruction (step S131). If there is an end instruction (Y in step S131), the load generating unit 40 ends this operation.
- the load generating unit 40 selects a key to be used for the packet to be transmitted next from a set of keys to be used (step S132).
- the load generation unit 40 selects values so that the values in the set are used as averagely as possible. For example, the load generation unit 40 may arrange the elements in the set in a certain order and select values continuously according to the order. In that case, when the load generation unit 40 reaches the last value, the load generation unit 40 returns to the first value and uses it. Further, the load generation unit 40 may select a value to be used at random from the set.
- the load generation unit 40 generates a packet including the key selected in step S132 (step S133).
- the load generation unit 40 may generate values for packet fields other than five tuples at random, or may use values given in advance.
- the load generation unit 40 may use an address used in the communication IF unit 30 or the communication IF unit 50 with respect to the address field.
- the load generation unit 40 may acquire these addresses as part of an input parameter from an OS (Operating System, not shown) or a request source.
- the load generation unit 40 transmits the packet generated in step S133 from the communication IF unit 50 (step S134). The load generation unit 40 continues this operation until there is an end instruction (Y in step S131).
- FIG. 8 is a flowchart showing an operation when the optimization control unit 11 determines a measurement output value related to the communication processing unit 20. This operation may be initiated by the user, for example.
- the optimization control unit 11 selects the number of flows used in the first measurement (Step S141).
- the optimization control unit 11 may select a preset value, or may select a value given by the user at the start of this operation.
- the optimization control unit 11 instructs the measurement control unit 12 to perform measurement using the selected number of flows as an input parameter, and receives the result (step S142).
- the optimization control unit 11 tries to determine a measurement output value related to the communication processing unit 20 based on the measurement result collected in this operation (measurement result in step S126) (step S143). This method will be described later with reference to FIG. If the optimization control unit 11 succeeds in determining the measurement output value in step S143 (Y in step S144), the optimization control unit 11 ends the process.
- the optimization control unit 11 selects another flow number, performs the next measurement, and tries to determine the measurement output value again (step S145). .
- the optimization control unit 11 may use, for example, a value obtained by adding a preset value to the number of flows used in the last measurement in the next measurement. If the optimization control unit 11 fails to determine the measurement output value a predetermined number of times, the operation for determining the measurement output value related to the communication processing unit 20 by changing the value used for the measurement is repeated from step S141. Also good. At that time, for example, the optimization control unit 11 may set the number of flows used in the first measurement used in step S141 to be 1 ⁇ 2 of that used in the previous operation. Further, the optimization control unit 11 may set the number of flows to be increased for each measurement used in step S145 to be 1/2 or twice that used in the previous operation.
- the optimization control unit 11 determines the following as measurement output values related to the communication processing unit 20 in step S143 with reference to FIG. -Data access delay time when a cache miss occurs-Each execution time required for the sub-processes constituting the packet processing when no cache miss occurs
- the optimization control unit 11 tries to determine a cache miss flow threshold ( Step S151).
- the cache miss flow threshold is composed of two values: the number of flows where the cache miss begins to increase and the number of flows where the increase in the cache miss ends (saturates).
- the optimization control unit 11 determines the cache miss flow threshold by using, for example, the rate of change of the error in the approximate expression.
- the optimization control unit 11 detects the change in the increase rate using the fact that the error in the approximate expression becomes large, and detects the cache miss flow threshold.
- the optimization control unit 11 may use, for example, a least square method for this calculation.
- the optimization control unit 11 may determine the cache miss flow threshold as the number of flows where the error locally peaks. At this time, the optimization control unit 11 may determine the peak by scanning the error numerical value sequence, or may determine whether the peak is obtained by comparing an error with a predetermined threshold value.
- the optimization control unit 11 may determine that it is impossible to determine the measurement output value from the current measurement result group when the peak cannot be detected or when the number is different from the number given in advance. Good (N in step S154).
- FIG. 10 shows an example of a measurement result of time taken for packet processing by the communication processing unit 20, for example, an average required number of cycles per packet.
- the X axis indicates the number of flows
- the Y axis indicates the measurement result.
- the optimization control unit 11 starts measurement when the number of flows is 2000, and thereafter measures until the number of flows increases by 2000 until 32000 flows.
- the optimization control unit 11 derives the coefficient of the approximate expression from the measurement result using the least square method for the measurement result of the first flow number threshold determination unit (for example, the number of flows 2000, 4000, 6000, 8000). Find the residual sum of squares.
- the optimization control unit 11 derives the coefficient of the approximate expression for the measurement result for the second flow number threshold determination unit (for example, the number of flows 4000, 6000, 8000, and 10000) from the measurement result, and calculates the residual sum of squares. Ask for.
- the optimization control unit 11 performs the same calculation for the third flow number threshold determination unit and subsequent units.
- FIG. 11 a residual sum of squares group as shown in FIG. 11 is obtained.
- the X axis indicates the number of flows
- the Y axis indicates the residual sum of squares.
- the residual sum of squares when the coefficient of the approximate expression is derived for the first flow number threshold determination unit is plotted at the position of the number of flows 2000.
- the residual sum of squares when the coefficient of the approximate expression is derived for the second flow number threshold determination unit is plotted at the position of the flow number 4000.
- the residual sum of squares when the coefficient of the approximate expression is derived for the third flow number threshold determination unit is plotted at the position of the flow number 6000. The same applies hereinafter.
- the optimization control unit 11 scans the error value sequence and detects that there are peaks at the position of the flow number 10,000 and the position of 20000. That is, the optimization control unit 11 starts to generate a cache miss in the section A (10000, 12000, 14000, 16000) of the number of flows, and becomes steady in the section B (20000, 22000, 24000, 26000). Detect that the increase in processing time has ended.
- the optimization control unit 11 determines the minimum value (10000) of the section A and the maximum value (26000) of the section B as the cache miss flow threshold.
- the optimization control unit 11 may determine the median value of the section A (13000) and the median value of the section B (23000) as the cache miss flow threshold.
- the optimization control unit 11 may determine the average value of the flow number group (for the flow number threshold determination unit) in the sections A and B as the cache miss flow threshold value. Further, the optimization control unit 11 may determine the maximum value (8000) of the section adjacent to the smaller side of the section A and the minimum value (28000) of the section adjacent to the larger side of the section B as the cache miss flow threshold. good.
- the optimization control unit 11 determines the data access delay time when a cache miss occurs (step S152).
- the optimization control unit 11 sets the data access delay time when a cache miss occurs to the packet processing of the flow number packet processing required time greater than or equal to the larger cache miss flow threshold and the number of flows less than or equal to the smaller cache miss flow threshold. Calculated as the difference in required time. In the case of the above example, the optimization control unit 11 obtains, for example, the difference between the packet processing time required when the number of flows is 26000 or more and the packet processing time required when the number of flows is 10000 or less.
- the optimization control unit 11 may determine the data access delay time when a cache miss occurs, for example, by any one or combination of the following.
- the optimization control unit 11 derives the coefficient of the approximate expression using the least square method for each of the measurement result groups in the number of flows greater than or equal to the cache miss flow threshold and the number of flows less than or equal to the cache miss flow threshold.
- the difference between the coefficients b is defined as the data access delay time.
- the optimization control unit 11 selects the number of flows one by one from each of the measured flow number group equal to or greater than the cache miss flow threshold and the flow number group equal to or less than the cache miss flow threshold. For example, the optimization control unit 11 selects a value closest to the cache miss flow threshold. And the optimization control part 11 makes the difference of the measurement result in the said flow number the data access delay time.
- the optimization control unit 11 determines the execution time required for packet processing when a cache miss does not occur (step S153). For example, the optimization control unit 11 derives the coefficient of the approximate expression using the least square method for the measurement result group in the number of flows below the cache miss flow threshold, and the packet processing execution time is calculated from the approximate expression and the flow number x. To decide.
- the communication processing unit 20 outputs, for example, in units of sub-processes (for example, each step in FIG. 5) constituting packet processing
- the optimization control unit 11 outputs each sub-unit included in the packet processing.
- the measurement output value can be output for processing.
- FIG. 12 shows “data access delay time when a cache miss occurs” and “required execution times of sub-processes constituting packet processing when a cache miss occurs” for steps S104 to S106 of FIG. Indicates. However, the latter is expressed by the coefficients a and b of the approximate expression for the required time.
- the optimization of the packet processing function is to load the data necessary for packet processing into the cache memory before the processor references it, and the processor processes another packet until the data is loaded into the cache. To achieve. Optimization of packet processing functions reduces cache misses and improves processor utilization.
- the measurement output value output by the measurement apparatus 1 of the present embodiment is useful for the change design.
- FIG. 13 shows an example of a time sequence of packet processing for explaining processing optimization of the communication processing unit 20.
- the processor of the communication processing unit 20 after the operation change performs processing for three packets in parallel.
- the three packets are packet 1, packet 2, and packet 3.
- a solid rectangle indicates that the processor is executing one sub-process for one packet, that is, key extraction, hash value calculation, and the like.
- the required time is the time required to execute each sub process when no cache miss occurs in the measured output value.
- a rectangle whose peripheral portion is shaded, for example, a rectangle in S173, indicates that one sub-processing prefetch for one packet is being executed.
- the required time is a data access delay time when a cache miss occurs in the measured output value.
- the communication processing unit 20 issues a prefetch instruction and starts prefetching, the communication processing unit 20 immediately shifts to processing of another packet. That is, the communication processing unit 20 advances the processing of other packets in parallel during the data access delay time generated by the prefetch.
- the required time is described in parentheses, and the width of the rectangle, that is, the length in the time axis direction, is shown in proportion to the required time.
- the operation change for optimizing the processing of the communication processing unit 20 is the following two changes related to sub-processing of a packet in which a cache miss occurs and there is a data access delay time.
- the communication processing unit 20 issues a prefetch instruction for data that causes a cache miss in the sub-process before executing the sub-process.
- the communication processing unit 20 performs sub-processing of another packet during prefetch execution.
- step S103 there is no data access delay time when a cache miss occurs in key extraction (step S103) and hash value calculation (step S104). Therefore, these processes can be started immediately for packet 1 (steps S171 and S172 in FIG. 13).
- step S179 in FIG. 13 there is a data access delay time when a cache miss occurs. Therefore, if the processor starts step S179 immediately after step S172, a cache miss may occur and execution of the processor may stop during the data access delay time.
- step S172 the processor issues a prefetch instruction for data that causes a cache miss used in step S179 (step S173). Then, during the prefetch execution, the processor executes sub-processing of the next packet (packet 2 and packet 3).
- the processor performs key extraction and hash value calculation for packet 2 and packet 3 in steps S174 to S178. Thereafter, similarly, for the sub-process in which the data access delay time exists, the operation of the processor of the communication processing unit 20 is changed so as to fill the access delay with the sub-process of another packet.
- FIG. 14 is a flowchart illustrating an operation when the optimized communication processing unit 20 receives and processes a packet from the communication IF unit 30. This operation may be started by event driving, or may be started by a polling operation by the communication processing unit 20.
- the communication processing unit 20 receives a packet from the communication IF unit 30 (step S161).
- the communication processing unit 20 confirms whether three or more unprocessed packets remain in the received packet (step S162). When three or more unprocessed packets remain (Y in S162), the communication processing unit 20 processes the first three packets (step S163). Details thereof will be described later.
- the communication processing unit 20 executes Steps S103 to S107 described with reference to FIG. 5 for each remaining unprocessed packet (Step S107). S164).
- 15A and 15B are flowcharts showing the operation of the communication processing unit 20 after optimization in step S163.
- the communication processing unit 20 extracts a key for the packet 1 (step S171).
- the communication processing unit 20 calculates a hash value for the key of the packet 1 (step S172).
- the communication processing unit 20 issues a prefetch instruction for data used in the hash table search for the packet 1 (step S173).
- the communication processing unit 20 extracts a key for the packet 2 (step S174).
- the communication processing unit 20 calculates a hash value for the key of the packet 2 (step S175).
- the communication processing unit 20 issues a prefetch instruction for data used in the hash table search for the packet 2 (step S176).
- the communication processing unit 20 extracts a key for the packet 3 (step S177).
- the communication processing unit 20 calculates a hash value for the key of the packet 3 (step S178).
- the communication processing unit 20 searches the hash table for the packet 1 based on the obtained hash value, and searches for a flow entry related to the flow to which the packet belongs (step S179).
- the communication processing unit 20 issues a prefetch instruction for data used in packet processing using the found flow entry for the packet 1 (step S180).
- the communication processing unit 20 issues a prefetch instruction for the data used in the hash table search for the packet 3 (step S181).
- the communication processing unit 20 searches the hash table for the packet 2 based on the obtained hash value, and searches for a flow entry related to the flow to which the packet belongs (step S182).
- the communication processing unit 20 processes the packet according to the processing method specified by the flow entry (step S183).
- the communication processing unit 20 discards the packet.
- the communication processing unit 20 issues a prefetch instruction for data used in packet processing using the found flow entry for the packet 2 (step S184).
- the communication processing unit 20 searches the hash table for the packet 3 based on the obtained hash value, and searches for a flow entry related to the flow to which the packet belongs (step S185).
- the communication processing unit 20 issues a prefetch instruction for data used in packet processing using the found flow entry for the packet 3 (step S186).
- the communication processing unit 20 processes the packet according to the processing method specified by the flow entry (step S187).
- the communication processing unit 20 discards the packet.
- the communication processing unit 20 processes the packet according to the processing method specified by the flow entry (step S188). When the flow entry for the packet is not found, the communication processing unit 20 discards the packet.
- the measuring apparatus 1 can obtain the data access delay time when a cache miss occurs and the time required to execute packet processing when no cache miss occurs.
- the first reason is that, under the control of the optimization control unit 11, the measurement control unit 12 measures the time required for packet processing by the communication processing unit 20 for a plurality of flows and collects the results.
- the second reason is that the optimization control unit 11 determines that the measurement output is based on the difference between the required time measurement results in the flow number region where a cache miss occurs and the flow number region where there is no cache miss. This is because the value is determined.
- the communication processing unit 20 executes the data processing delay time.
- Such packet processing can be optimized. Optimization is relatively easy when packet processing is implemented in software. However, optimization is also possible when packet processing is realized by other means such as firmware and logic circuits.
- the data access delay time when a cache miss occurs and the execution time required for packet processing when no cache miss occurs are output from the measuring apparatus 1, and the speed design and capacity of the cache memory of the communication processing unit 20 It is also useful for other purposes such as design.
- the control unit 10 is not necessarily separated into the optimization control unit 11 and the measurement control unit 12.
- the control unit 10 may be an integrated logic circuit, a dedicated processor, or a software module that performs the functions of both the optimization control unit 11 and the measurement control unit 12.
- the communication processing unit 20 and the communication IF unit 30 are not necessarily included in the measurement apparatus 1.
- the communication processing unit 20 may exist in another device connected to the measuring device 1, for example.
- the cash miss flow threshold may be a single value.
- the optimization control unit 11 may detect two local peaks from the transition of the residual sum of squares corresponding to the number of flows in FIG. 11 and use the median of the two numbers of flows as the cache miss flow threshold. Alternatively, the optimization control unit 11 may detect one peak from the transition of the residual sum of squares corresponding to the number of flows in FIG. 11 and set the number of flows at that time as the cache miss flow threshold.
- the optimization control unit 11 may calculate the data access delay time when a cache miss occurs from the difference in the processing time of the number of flows of the cache miss flow threshold ⁇ predetermined value (step S152).
- FIG. 16 is an explanatory diagram illustrating an example of the configuration of the measurement apparatus 1 according to the second embodiment.
- the measuring apparatus 1 of the present embodiment measures the packet processing time of the communication processing unit 20 that performs packet processing of communication flows using a cache memory for a plurality of communication flows, and when there is no cache miss from the measurement result
- a control unit 10 is provided that calculates a packet processing time and a processing delay time due to a cache miss.
- the measuring apparatus 1 of the present embodiment can obtain the data access delay time when a cache miss occurs and the time required to execute packet processing when no cache miss occurs.
- control unit 10 measures the time required for packet processing by the communication processing unit 20 for a plurality of flows and collects the results.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
・1: パケットを通信インタフェースから受信する
・2: パケットが属する通信フローを特定する
・3: 当該フローを処理するために必要な情報を参照する
・4: 当該情報に基づき当該パケットを処理する
これらの処理が、プロセッサとキャッシュを含む階層メモリを有する装置で実行される場合、上記処理3における情報参照に伴い発生するメモリアクセスがキャッシュにヒットするか否かによって、所要時間が大幅に異なる。
・パケット受信 (上記処理1に相当)
・関連データプリフェッチ(上記処理2および3に相当)
・パケット処理 (上記処理4に相当)
・パケット出力 (上記処理4に相当)
特許文献1のマイクロプロセッサは、処理2において参照するメモリデータに対しプリフェッチを行い、当該データを参照する前にキャッシュにロードしておく。さらに、当該データがキャッシュにロードされるまでの間、当該マイクロプロセッサは、別のパケットの処理を行う。これにより、当該マイクロプロセッサはキャッシュミスを低減する。
・パケット処理において、プロセッサは性能劣化の要因となるメモリデータアクセスについて、当該メモリデータのプリフェッチを行う
・当該メモリデータのプリフェッチ処理中、プロセッサは、別のパケットの処理(もしくは、現在処理中のパケットに関する処理の内、当該メモリデータに依存しない処理)を行う
例えば、上記のパケット処理ロジックの最適化を行うためには、下記の測定値が必要であり、この値をどのように測定するかが課題となる。
・キャッシュミスが発生した場合のデータアクセス遅延時間
・キャッシュミスが発生しない場合の、パケット処理の実行所要時間
無論これらの測定値は、他の目的、例えば、キャッシュメモリの速度や容量の決定にも使用できる。本発明の目的は、上記2つの測定値を得るための、測定装置、測定システム、測定方法、および、プログラムを提供することである。
[概要]
図1は、本実施の形態にかかる測定システム60の構成の一例を示す説明図である。図1に例示する測定システム60は、測定装置1と、負荷発生装置2と、通信ネットワーク3と、を包含する。
・キャッシュミスが発生した場合のデータアクセス遅延時間
・キャッシュミスが発生しない場合の、パケット処理を構成するサブ処理の各実行所要時間
なお、ここでのキャッシュミスは、フロー数の増加に伴うワーキングセットの容量増加に起因し定常的に発生するキャッシュミスを指す(以降の説明においても同様である)。“キャッシュミスが発生しない場合”との記述において、必ずしもキャッシュミスの発生は0ではない。例えば、ワーキングセットの容量がキャッシュメモリの容量より十分小さい場合であっても、ワーキングセットに含まれるメモリブロック群の変化に伴いキャッシュミスが発生する可能性がある。測定装置1が測定するデータアクセス遅延時間は、そのようなキャッシュミスによるものではなく、ワーキングセットの容量増加に起因し定常的に発生するキャッシュミスによるものである。
・A: 当該パケットの5タプルの値を取得する
・B: 当該パケットに対応するフローエントリを探索する
・C: 取得したフローエントリに含まれる処理方法に従って当該パケットを処理する
なお、上記Bにおいて、受信したパケットに対応するフローエントリが見つからない場合、通信処理部20は、当該パケットを破棄してもよいし、当該事象の発生を測定装置1内もしくは外の図示されないモジュール・装置に通知してもよい。
次に、図面を参照して、本実施形態の動作について詳細に説明する。
・キャッシュミスが発生した場合のデータアクセス遅延時間
・キャッシュミスが発生しない場合の、パケット処理を構成するサブ処理の各実行所要時間
最適化制御部11は、キャッシュミスフロー閾値の決定を試行する(ステップS151)。以降の説明において、キャッシュミスフロー閾値は、キャッシュミスが増加し始めるフロー数、およびキャッシュミスの増加が終了する(飽和する)フロー数の2つの値で構成される。
・最適化制御部11は、キャッシュミスフロー閾値以上のフロー数およびキャッシュミスフロー閾値以下のフロー数における測定結果群それぞれについて最小二乗法を用いて近似式の係数を導出し、得られた2つの係数bの差をデータアクセス遅延時間とする。
・最適化制御部11は、測定を行ったキャッシュミスフロー閾値以上のフロー数群およびキャッシュミスフロー閾値以下のフロー数群のそれぞれから一ずつフロー数を選択する。最適化制御部11は、例えば、キャッシュミスフロー閾値にもっとも近い値を選択する。そして、最適化制御部11は、当該フロー数における測定結果の差をデータアクセス遅延時間とする。
ここで、本実施の形態の測定装置1が出力する測定出力値を用いて、パケット処理機能(例えば、本実施の形態における通信処理部20が実行する処理)を最適化する方法について、図12乃至図14を用いて説明する。以降の説明において、図12に示す測定出力値が得られたものとする。図12は、図5のステップS104乃至S106についての、「キャッシュミスが発生した場合のデータアクセス遅延時間」と「キャッシュミスが発生した場合の、パケット処理を構成するサブ処理の各実行所要時間」を示す。但し、後者は所要時間の近似式の係数a,bで表している。
・通信処理部20は、当該サブ処理の実行前に、当該サブ処理においてキャッシュミスを発生させるデータに対しプリフェッチ命令を発行する。
・通信処理部20は、プリフェッチ実行中に別のパケットのサブ処理を行う。
本実施の形態の測定装置1は、キャッシュミスが発生した場合のデータアクセス遅延時間、及び、キャッシュミスが発生しない場合のパケット処理の実行所要時間を得ることができる。
制御部10は、必ずしも、最適化制御部11と測定制御部12に分離されていなくても良い。制御部10は、最適化制御部11と測定制御部12の両者の機能を果たす一体の論理回路、専用プロセッサ、または、ソフトウェアモジュールであっても良い。
図16は、第2の実施の形態にかかる測定装置1の構成の一例を示す説明図である。本実施の形態の測定装置1は、キャッシュメモリを用いて通信フローのパケット処理を行う通信処理部20のパケット処理時間を、複数の通信フロー数について測定し、測定結果からキャッシュミスが無い時のパケット処理時間と、キャッシュミスによる処理遅延時間とを算出する制御部10を備える。
2 負荷発生装置
3 通信ネットワーク
10 制御部
11 最適化制御部
12 測定制御部
20 通信処理部
30 通信IF部
40 負荷発生部
50 通信IF部
60 測定システム
Claims (10)
- キャッシュメモリを用いて通信フローのパケット処理を行う通信処理手段のパケット処理時間を、複数の通信フロー数について測定し、測定結果からキャッシュミスが無い時のパケット処理時間と、キャッシュミスによる処理遅延時間とを算出する制御手段、を備える測定装置。
- 前記制御手段は、通信フロー数を増加させていったときのパケット処理時間の変化から、キャッシュミス発生の有無を分ける通信フロー数である閾値を判定し、前記閾値以下の通信フロー数に対する処理時間と、前記閾値以上の通信フロー数に対する処理時間との差異に基づいて、前記キャッシュミスが無い時のパケット処理時間と、前記キャッシュミスによる処理遅延時間とを算出する、請求項1の測定装置。
- 前記制御手段は、通信フロー数を増加させていったときの、所定幅区間内の通信フロー数ごとの測定結果から、区間ごとの通信フロー数とパケット処理時間の近似式、並びに、近似式と測定結果との誤差を算出し、当該誤差がピークとなる区間、もしくは、当該誤差が所定の閾値を超える区間の通信フロー数を前記閾値として決定する、請求項2の測定装置。
- 前記制御手段は、最初の誤差の局所的なピークに基づいて、キャッシュミスによる処理遅延が発生し始める通信フロー数である第1の閾値を判定し、2番目の誤差の局所的なピークに基づいて、処理遅延が飽和する通信フロー数である、第2の閾値を判定し、前記第1の閾値以下の通信フロー数に対する処理時間と、前記第2の閾値以上の通信フロー数に対する処理時間との差異に基づいて、前記キャッシュミスが無い時のパケット処理時間と、前記キャッシュミスによる処理遅延時間とを算出する、請求項3の測定装置。
- 前記制御手段から受信した通信フロー数の通信負荷を発生させて、前記通信処理手段に送信する負荷発生装置と、
前記通信処理手段はパケット処理時間を出力し、前記制御手段は通信フロー数を選択して前記負荷発生装置に送信し、前記通信処理手段から測定結果を受信する請求項1乃至4の何れか1項の測定装置と、を包含する測定システム。 - キャッシュメモリを用いて通信フローのパケット処理を行う通信処理手段のパケット処理時間を、複数の通信フロー数について測定し、測定結果からキャッシュミスが無い時のパケット処理時間と、キャッシュミスによる処理遅延時間とを算出する測定方法。
- 通信フロー数を増加させていったときのパケット処理時間の変化から、キャッシュミス発生の有無を分ける通信フロー数である閾値を判定し、前記閾値以下の通信フロー数に対する処理時間と、前記閾値以上の通信フロー数に対する処理時間との差異に基づいて、前記キャッシュミスが無い時のパケット処理時間と、前記キャッシュミスによる処理遅延時間とを算出する、請求項6の測定方法。
- 通信フロー数を増加させていったときの、所定幅区間内の通信フロー数ごとの測定結果から、区間ごとの通信フロー数とパケット処理時間の近似式、並びに、近似式と測定結果との誤差を算出し、当該誤差がピークとなる区間、もしくは、当該誤差が所定の閾値を超える区間の通信フロー数を前記閾値として決定する、請求項7の測定方法。
- 最初の誤差の局所的なピークに基づいて、キャッシュミスによる処理遅延が発生し始める通信フロー数である第1の閾値を判定し、2番目の誤差の局所的なピークに基づいて、処理遅延が飽和する通信フロー数である、第2の閾値を判定し、前記第1の閾値以下の通信フロー数に対する処理時間と、前記第2の閾値以上の通信フロー数に対する処理時間との差異に基づいて、前記キャッシュミスが無い時のパケット処理時間と、前記キャッシュミスによる処理遅延時間とを算出する、請求項8の測定方法。
- コンピュータに、キャッシュメモリを用いて通信フローのパケット処理を行う通信処理手段のパケット処理時間を、複数の通信フロー数について測定し、測定結果からキャッシュミスが無い時のパケット処理時間と、キャッシュミスによる処理遅延時間とを算出する処理を、実行させるプログラムを記録する記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016552823A JP6428784B2 (ja) | 2014-10-07 | 2015-10-05 | 測定装置、測定システム、測定方法、および、プログラム |
US15/512,899 US20170302558A1 (en) | 2014-10-07 | 2015-10-05 | Measuring apparatus, measuring system, measuring method, and recording medium in which program is recorded |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014206486 | 2014-10-07 | ||
JP2014-206486 | 2014-10-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016056217A1 true WO2016056217A1 (ja) | 2016-04-14 |
Family
ID=55652853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/005053 WO2016056217A1 (ja) | 2014-10-07 | 2015-10-05 | 測定装置、測定システム、測定方法、および、プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170302558A1 (ja) |
JP (1) | JP6428784B2 (ja) |
WO (1) | WO2016056217A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017117009A (ja) * | 2015-12-21 | 2017-06-29 | Kddi株式会社 | マルチコアcpuを有するパケット転送装置の制御装置及びプログラム |
US10684857B2 (en) | 2018-02-01 | 2020-06-16 | International Business Machines Corporation | Data prefetching that stores memory addresses in a first table and responsive to the occurrence of loads corresponding to the memory addresses stores the memory addresses in a second table |
JP2022527704A (ja) * | 2019-04-12 | 2022-06-03 | 華為技術有限公司 | トラフィック分類方法及び装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6822269B2 (ja) * | 2017-03-29 | 2021-01-27 | コニカミノルタ株式会社 | 光書き込み装置及び画像形成装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009027400A (ja) * | 2007-07-19 | 2009-02-05 | Alaxala Networks Corp | 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード |
WO2009098819A1 (ja) * | 2008-02-04 | 2009-08-13 | Nec Corporation | 通信システム |
WO2009101900A1 (ja) * | 2008-02-13 | 2009-08-20 | Nec Corporation | 性能最適化システム、方法及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005339198A (ja) * | 2004-05-27 | 2005-12-08 | Internatl Business Mach Corp <Ibm> | キャッシュヒット率推定装置、キャッシュヒット率推定方法、プログラム及び記録媒体 |
US7363450B1 (en) * | 2005-06-01 | 2008-04-22 | Sun Microsystems, Inc. | Method and apparatus for estimating multithreaded processor throughput based on processor cache performance |
JP4839164B2 (ja) * | 2006-09-15 | 2011-12-21 | 株式会社日立製作所 | ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム |
US20090032760A1 (en) * | 2006-10-23 | 2009-02-05 | Ralph Muscatell | Rotational multi vane positive displacement valve for use with a solar air conditioning system |
JP5205777B2 (ja) * | 2007-03-14 | 2013-06-05 | 富士通株式会社 | プリフェッチ処理装置、プリフェッチ処理プログラムおよびプリフェッチ処理方法 |
US8572581B2 (en) * | 2009-03-26 | 2013-10-29 | Microsoft Corporation | Measurement and reporting of performance event rates |
US8601216B2 (en) * | 2010-08-31 | 2013-12-03 | Oracle International Corporation | Method and system for removing cache blocks |
US8595438B1 (en) * | 2010-09-30 | 2013-11-26 | Emc Corporation | System and method for improving cache performance |
JP6248808B2 (ja) * | 2014-05-22 | 2017-12-20 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理装置の制御方法、及び、情報処理装置の制御プログラム |
-
2015
- 2015-10-05 WO PCT/JP2015/005053 patent/WO2016056217A1/ja active Application Filing
- 2015-10-05 JP JP2016552823A patent/JP6428784B2/ja active Active
- 2015-10-05 US US15/512,899 patent/US20170302558A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009027400A (ja) * | 2007-07-19 | 2009-02-05 | Alaxala Networks Corp | 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード |
WO2009098819A1 (ja) * | 2008-02-04 | 2009-08-13 | Nec Corporation | 通信システム |
WO2009101900A1 (ja) * | 2008-02-13 | 2009-08-20 | Nec Corporation | 性能最適化システム、方法及びプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017117009A (ja) * | 2015-12-21 | 2017-06-29 | Kddi株式会社 | マルチコアcpuを有するパケット転送装置の制御装置及びプログラム |
US10684857B2 (en) | 2018-02-01 | 2020-06-16 | International Business Machines Corporation | Data prefetching that stores memory addresses in a first table and responsive to the occurrence of loads corresponding to the memory addresses stores the memory addresses in a second table |
JP2022527704A (ja) * | 2019-04-12 | 2022-06-03 | 華為技術有限公司 | トラフィック分類方法及び装置 |
JP7170905B2 (ja) | 2019-04-12 | 2022-11-14 | 華為技術有限公司 | トラフィック分類方法及び装置 |
US11882047B2 (en) | 2019-04-12 | 2024-01-23 | Huawei Technologies Co., Ltd. | Traffic classification method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016056217A1 (ja) | 2017-08-10 |
JP6428784B2 (ja) | 2018-11-28 |
US20170302558A1 (en) | 2017-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6428784B2 (ja) | 測定装置、測定システム、測定方法、および、プログラム | |
US11122067B2 (en) | Methods for detecting and mitigating malicious network behavior and devices thereof | |
CN107547507B (zh) | 一种防攻击方法、装置、路由器设备及机器可读存储介质 | |
EP2830260B1 (en) | Rule matching method and device | |
CN106713182B (zh) | 一种处理流表的方法及装置 | |
US10771358B2 (en) | Data acquisition device, data acquisition method and storage medium | |
US20160241482A1 (en) | Packet communication apparatus and packet communication method | |
US10048994B2 (en) | Identifying failed customer experience in distributed computer systems | |
KR20150071621A (ko) | 컨텐츠 중심 네트워크에서 라운드 트립 시간을 예측하는 방법 | |
Sadok et al. | A case for spraying packets in software middleboxes | |
US20200374231A1 (en) | Managing network traffic flows | |
CN112437037B (zh) | 基于sketch的DDoS洪泛攻击检测方法及装置 | |
US9917918B2 (en) | Method and apparatus for delivering content from content store in content-centric networking | |
US20160292274A1 (en) | Operation method of node considering packet characteristic in content-centered network and node | |
JP2017515329A (ja) | ビデオセッションにおける再バッファリングイベントを決定するための方法 | |
JP5389193B2 (ja) | パケット転送処理装置、方法及びプログラム | |
CN107911471B (zh) | 数据的分布式缓存方法及设备 | |
CN109379163B (zh) | 一种报文转发速率控制方法及装置 | |
CN114448872B (zh) | 一种cdn中的路径选择方法及系统 | |
CN104917852A (zh) | 一种针对IPv6地址的数据快速处理方法 | |
CN107277060B (zh) | 一种数据包处理的方法及装置 | |
CN102546359B (zh) | 实现路径最大传输单元探测的方法及路由器 | |
TW202234855A (zh) | 封包資訊分析方法及網路流量監測裝置 | |
JP2016025521A (ja) | パケット処理プログラム,パケット処理装置及びパケット処理方法 | |
CN114298361A (zh) | 一种设备状态信息的预测方法及装置 |
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: 15848286 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15512899 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2016552823 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: 15848286 Country of ref document: EP Kind code of ref document: A1 |