TWI429230B - Method of porcessing information system - Google Patents
Method of porcessing information system Download PDFInfo
- Publication number
- TWI429230B TWI429230B TW99138583A TW99138583A TWI429230B TW I429230 B TWI429230 B TW I429230B TW 99138583 A TW99138583 A TW 99138583A TW 99138583 A TW99138583 A TW 99138583A TW I429230 B TWI429230 B TW I429230B
- Authority
- TW
- Taiwan
- Prior art keywords
- information
- load
- processing
- core
- information system
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明是關於處理系統之網路流量,特別是關於控制系統的核心來處理該系統之網路流量。The present invention relates to network traffic for a processing system, and more particularly to the core of a control system to handle network traffic for the system.
隨著晶片技術不断進步及網際網路的蓬勃發展,多數高速網路的設備可處理Gigabit的網路頻寬,但是利用晶片中的處理器執行軟體解決方案卻無法負荷大量的網路流量,當接收端的網路流量無法負荷時,處理器對於上層應用程式的執行近乎停滯。With advances in wafer technology and the proliferation of the Internet, most high-speed network devices can handle Gigabit's network bandwidth, but using a processor in a chip to execute a software solution can't load a lot of network traffic. When the network traffic on the receiving end cannot be loaded, the processor's execution of the upper layer application is almost stagnant.
請參閱第一圖,其為習知高速封包處理系統的示意圖。習知高速封包處理系統10包含一網卡11及一主機12。該主機12包含一處理器124。使用該處理器124的運算能力與資源主要由一Linux核心122來分配。封包13經過網卡11物理層(physical layer)的處理後被送到主機12,接著由網卡驅動程式121進行媒體存取控制層(media access control layer,MAC layer)的處理後獲得封包14,封包14被送至該Linux核心122進行網際網路協定層(internet protocol layer,IP layer)的處理、傳輸控制層(transmission control protocol layer,TCP layer)的處理、使用者資料協定層(user datagram protocol layer,UDP layer)的處理,然後封包15之資料被提取,以提供應用程式123執行時所需的資料。Please refer to the first figure, which is a schematic diagram of a conventional high speed packet processing system. The conventional high speed packet processing system 10 includes a network card 11 and a host computer 12. The host 12 includes a processor 124. The computing power and resources used by the processor 124 are primarily distributed by a Linux kernel 122. The packet 13 is processed by the physical layer of the network card 11 and sent to the host 12, and then processed by the network access control layer (MAC layer) by the network card driver 121 to obtain the packet 14, and the packet 14 is obtained. It is sent to the Linux core 122 for processing of the internet protocol layer (IP layer), processing of the transmission control protocol layer (TCP layer), and user datagram protocol layer (user datagram protocol layer, The UDP layer is processed, and then the data of the packet 15 is extracted to provide the data required for the application 123 to execute.
目前Linux核心所採用NAPI(New API)的封包接收機制與Intel網卡驅動程式所採用的中斷緩和機制如下:當封包13經由週邊元件互連匯流排18(peripheral component interconnect bus,PCI bus)從網卡11傳送到主機12時,網卡11會以硬體中斷17(Hardware Interrupt)通知主機12進行封包13的處理。當網卡11偵測到外部封包16流量大的時候,或是核心協定處理率高時,則網卡11的硬體中斷17之頻率可隨之降低,主機12的封包接收機制因而隨之調整,此做法可以避免硬體中斷17所造成封包13與封包14的壅塞問題,但卻無法避免封包15到達上層之應用程式123的壅塞問題,而造成應用程式123執行效能降低。因此目前Linux核心所採用NAPI的封包接收機制與Intel網卡驅動程式所採用的中斷緩和機制只能單純地緩和硬體中斷17所造成的封包壅塞問題,但尚未考量高流量下,網路上層應用程式123的效能。At present, the packet receiving mechanism of the NAPI (New API) adopted by the Linux core and the interrupt mitigation mechanism adopted by the Intel NIC driver are as follows: when the packet 13 is connected to the NIC 11 via a peripheral component interconnect bus (PCI bus) 18 When transmitting to the host 12, the network card 11 notifies the host 12 of the processing of the packet 13 by a hardware interrupt 17 (Hardware Interrupt). When the network card 11 detects that the external packet 16 has a large traffic, or the core protocol processing rate is high, the frequency of the hardware interrupt 17 of the network card 11 can be reduced, and the packet receiving mechanism of the host 12 is adjusted accordingly. The method can avoid the congestion problem of the packet 13 and the packet 14 caused by the hardware interrupt 17, but cannot avoid the congestion problem of the packet 15 reaching the upper application 123, and the application 123 performs performance degradation. Therefore, the NAPI packet receiving mechanism and the interrupt mitigation mechanism adopted by the Intel NIC driver in the Linux kernel can only alleviate the packet congestion caused by the hardware interrupt 17, but the high-traffic network upper-layer application has not been considered. 123 performance.
有鑑於上述網路上層應用程式的效能低落的問題,一種處理一資訊系統之方法被提出,該方法包含下列步驟:(a)偵測該資訊系統之第一負載及第二負載。(b)根據該資訊系統之第一負載及第二負載來決定該資訊系統之協定處理。In view of the above-mentioned problem of low performance of the upper layer application of the network, a method for processing an information system is proposed, the method comprising the steps of: (a) detecting a first load and a second load of the information system. (b) determining the agreed processing of the information system based on the first load and the second load of the information system.
依據上述構想,另一種處理一資訊系統之方法被提出,該方法包含下列步驟:(a)偵測該資訊系統之一負載,其中該資訊系統具一高優先權的行程環境及一低優先權的行程環境。(b)根據該資訊系統之該負載來決定該資訊系統是否應於該高優先權的行程環境或該低優先權的行程環境進行作業。According to the above concept, another method for processing an information system is proposed, the method comprising the steps of: (a) detecting a load of the information system, wherein the information system has a high priority travel environment and a low priority The itinerary environment. (b) determining whether the information system should operate in the high priority travel environment or the low priority travel environment based on the load of the information system.
依據上述構想,另一種處理一資訊系統之方法被提出,該方法包含下列步驟:(a)偵測該資訊系統之一負載。(b)根據該資訊系統之該負載來決定是否提前丟棄該資訊。According to the above concept, another method of processing an information system is proposed, the method comprising the steps of: (a) detecting a load of the information system. (b) Decide whether to discard the information in advance based on the load of the information system.
依據上述構想,一種控制一核心之方法,該方法包含下列步驟:(a)偵測該核心之一封包遺失率。(b)根據該封包遺失率來決定該核心處於執行低優先權的中斷處理函式之時機。According to the above concept, a method for controlling a core includes the following steps: (a) detecting a packet loss rate of the core. (b) The timing at which the core is in the execution of a low priority interrupt handling function is determined based on the packet loss rate.
依據上述構想,另一種控制一核心之方法,該方法包含下列步驟:(a)偵測該核心之一封包遺失率。(b)根據該封包遺失率來決定該核心之運作模式。According to the above concept, another method for controlling a core includes the following steps: (a) detecting a packet loss rate of the core. (b) Determine the mode of operation of the core based on the loss rate of the packet.
依據上述構想,另一種控制一核心之方法,該方法包含下列步驟:(a)偵測該核心之封包遺失率,其中該核心具有一核心協定處理率及一網路應用服務率。(b)根據該封包遺失率來降低該核心協定處理率,以增加該網路應用服務率。According to the above concept, another method for controlling a core includes the following steps: (a) detecting a packet loss rate of the core, wherein the core has a core protocol processing rate and a network application service rate. (b) reducing the core protocol processing rate based on the packet loss rate to increase the network application service rate.
依據上述構想,另一種控制一核心的方法被提出,該方法包含下列步驟:(a)偵測該核心之封包遺失率,其中該核心具有一網路應用服務率。(b)根據該封包遺失率來增加該網路應用服務率。In accordance with the above concept, another method of controlling a core is proposed, the method comprising the steps of: (a) detecting a packet loss rate of the core, wherein the core has a network application service rate. (b) Increasing the network application service rate based on the packet loss rate.
依據上述構想,另一種控制一核心的方法被提出,該方法包含下列步驟:(a)偵測該核心的封包遺失率。(b)根據該封包遺失率來決定是否預先從底層丟棄封包。According to the above concept, another method of controlling a core is proposed, the method comprising the following steps: (a) detecting a packet loss rate of the core. (b) Decide whether to discard the packet from the bottom layer in advance based on the packet loss rate.
依據上述構想,一種處理一資訊的裝置被提出,該處理一資訊的裝置包含一資訊過濾單元及一核心單元。該資訊過濾單元過濾該資訊。該核心單元處理經由該資訊過濾單元過濾後的資訊,該核心單元根據其封包遺失率來決定該核心單元處於執行低優先權的中斷處理函式之時機。According to the above concept, a device for processing an information is proposed, and the device for processing an information comprises an information filtering unit and a core unit. The information filtering unit filters the information. The core unit processes the information filtered by the information filtering unit, and the core unit determines the timing at which the core unit is in the execution of the low priority interrupt processing function according to the packet loss rate.
依據上述構想,一種處理一資訊的裝置被提出,該資訊包含一表頭(Header)及一內容,該處理一資訊的裝置包含一資訊過濾單元及一資訊處理單元。該資訊過濾單元保有一第一表頭過濾規則,並且藉由該第一表頭過濾規則過濾該表頭。該資訊處理單元檢視過濾後的資訊的內容而獲得一第二表頭過濾規則,且使該第二表頭過濾規則取代該第一表頭過濾規則,該資訊過濾單元根據該第二表頭過濾規則對後續資訊進行過濾,以免除檢視該後續資訊的內容。According to the above concept, a device for processing an information is provided, the information includes a header and a content, and the device for processing an information comprises an information filtering unit and an information processing unit. The information filtering unit maintains a first header filtering rule, and filters the header by the first header filtering rule. The information processing unit checks the content of the filtered information to obtain a second header filtering rule, and causes the second header filtering rule to replace the first header filtering rule, and the information filtering unit filters according to the second header. The rules filter subsequent information to avoid viewing the content of the subsequent information.
依據上述構想,一種處理一資訊的方法被提出,該資訊包含一表頭(Header)及一內容,該方法包含下列步驟:(a)過濾該表頭以對該資訊分類。(b)接收分類後的資訊,並檢視分類後的資訊的內容而獲得一表頭過濾規則。(c)儲存該表頭過濾規則以對後續的資訊進行過濾。In accordance with the above concept, a method of processing an information is presented, the information comprising a header and a content, the method comprising the steps of: (a) filtering the header to classify the information. (b) receiving the classified information and viewing the content of the classified information to obtain a header filtering rule. (c) Store the header filtering rules to filter subsequent information.
依據上述構想,一種處理一資訊的方法被提出,該方法包含下列步驟:(a)根據一連線狀況建立一內容過濾規則。(b)將該內容過濾規則轉換成一表頭過濾規則。(c)更新該表頭過濾規則,以對後續資訊的表頭進行過濾。In accordance with the above concept, a method of processing an information is provided, the method comprising the steps of: (a) establishing a content filtering rule based on a connection condition. (b) Converting the content filtering rule into a header filtering rule. (c) Update the header filtering rules to filter the headers of subsequent messages.
依照本案上述所提的構想,可確實實施並有效解決應用程式的效能低落的問題,避免大量封包湧入處理資訊的裝置時,核心運用了處理器的運算能力與運算時間,對資訊作協定處理後因記憶區溢滿而遭丟棄,且可依照資訊流量在處理通訊協定的底層早期丟棄資訊,此可提升應用程式效能。According to the above-mentioned concept in this case, the problem of low performance of the application can be implemented and effectively solved, and when a large number of packets are poured into the device for processing information, the core uses the computing power and computing time of the processor to deal with the information. It is discarded after the memory area is full, and information can be discarded in the early stage of processing the communication protocol according to the information flow, which can improve the application performance.
請參閱第二圖(a),其為本案高速資訊系統的示意圖。本案高速資訊系統20包含一網路介面卡21(network interface card)及一主機22(host)。該主機22包含一處理單元226,藉由週邊元件互連匯流排23(peripheral component interconnect bus,PCI bus),該主機22與該網路介面卡21之間可互相存資訊。該網路介面卡21包含一直接記憶體存取引擎211(direct memory access,DMA Engine),其為一緩衝區。該網路介面卡21可以是網路卡或是處理通訊協定底層的硬體裝置。該主機22還包含一直接記憶體存取接收環221(DMA receive ring)及一插口接收緩衝區222(socket received buffer),該直接記憶體存取接收環221相當於緩衝區,該直接記憶體存取接收環221由網卡驅動程式223控制資訊25及資訊26之流量,該插口接收緩衝區222由核心224(kernel)控制資訊27之流量,該核心224控制該插口接收緩衝區222的資訊之存取。應用程式225在執行程序2251時,應用程式225在通訊協定最上層經由系統呼叫28以提取儲存於該插口接收緩衝區222中的資訊27。Please refer to the second figure (a), which is a schematic diagram of the high-speed information system of the case. The high speed information system 20 of the present invention includes a network interface card 21 and a host 22 (host). The host 22 includes a processing unit 226, and a peripheral component interconnect bus (PCI bus) is interconnected. The host 22 and the network interface card 21 can store information. The network interface card 21 includes a direct memory access (GPU) 211, which is a buffer. The network interface card 21 can be a network card or a hardware device that processes the underlying protocol. The host 22 further includes a DMA receive ring 221 and a socket received buffer 222. The direct memory access receiving ring 221 is equivalent to a buffer, and the direct memory The access receiving ring 221 controls the traffic of the information 25 and the information 26 by the network card driver 223. The socket receiving buffer 222 controls the traffic of the information 27 by the core 224, and the core 224 controls the information of the socket receiving buffer 222. access. When the application 225 executes the program 2251, the application 225 extracts the information 27 stored in the socket receiving buffer 222 via the system call 28 at the top of the communication protocol.
以開放原始碼的Linux核心為例,當該網路介面卡21接收資訊29後,資訊29在該網路介面卡21中被處理,於是該網路介面卡21產生資訊25儲存於該記憶體存取引擎中211,藉由直接記憶體存取(direct memory access,DMA)的機制,該機制將資訊25從直接記憶體存取引擎211移動到主機22的直接記憶體存取接收環221,當該直接記憶體存取接收環221被資訊25佔滿時,則該網卡驅動程式223會控制該直接記憶體存取接收環221直接將資訊25丟棄。當該網路介面卡21完成DMA的行為時,該網路介面卡21會觸發硬體中斷24(Hardware Interrupt)以通知主機22進行資訊25的處理,然後主機22會儲存目前的工作狀態,且呼叫中斷處理函式(interrupt handler)2241來處理中斷之工作。中斷處理函式2241會再觸發軟體中斷處理函式(softirq handler)2242以進行後續複雜的處理來完成協定處理2240,該協定處理可包含:例如網際網路協定(IP)處理、傳輸層通訊協定(TCP)處理、及使用者資料協定(UDP)處理等協定處理2240。當資訊25進入直接記憶體存取接收環221時,該網卡驅動程式223對資訊25作媒體存取層(MAC)的協定的處理,而產生資訊26,資訊26經由協定處理2240完成後由該核心224產生資訊27,資訊27被放進插口接收緩衝區222中,該應用程式225指定一埠口(port)(未顯示),該埠口配置該插口接收緩衝區222,上層的應用程式225會呼叫網路相關的系統呼叫28(system call)來清空該插口接收緩衝區222,且將資訊27從核心224轉移到應用程式225來處理。Taking the Linux kernel of the open source code as an example, after the network interface card 21 receives the information 29, the information 29 is processed in the network interface card 21, and the network interface card 21 generates the information 25 stored in the memory. In the access engine 211, the mechanism moves the information 25 from the direct memory access engine 211 to the direct memory access receiving ring 221 of the host 22 by a direct memory access (DMA) mechanism. When the direct memory access receiving ring 221 is filled by the information 25, the network card driver 223 controls the direct memory access receiving ring 221 to directly discard the information 25. When the network interface card 21 completes the DMA behavior, the network interface card 21 triggers a hardware interrupt 24 to notify the host 22 to process the information 25, and then the host 22 stores the current working state, and The call interrupt handler 2241 handles the work of the interrupt. The interrupt handling function 2241 will then trigger the softirq handler 2242 to perform subsequent complex processing to complete the protocol processing 2240, which may include, for example, Internet Protocol (IP) processing, transport layer communication protocols. Protocol processing 2240, such as (TCP) processing and User Data Protocol (UDP) processing. When the information 25 enters the direct memory access receiving ring 221, the network card driver 223 processes the information 25 as a protocol of the media access layer (MAC), and generates the information 26, which is completed by the agreement processing 2240. The core 224 generates information 27, which is placed in the jack receive buffer 222. The application 225 specifies a port (not shown) that configures the jack receive buffer 222, the upper application 225 A network related system call 28 is called to clear the socket receive buffer 222 and the information 27 is transferred from the core 224 to the application 225 for processing.
本案的中斷可分成硬體中斷24及軟體中斷。中斷處理可分成中斷處理函式(interrupt handler)2241及軟體中斷處理函式(softirq handler)2242的中斷,其執行順序如第二圖(b)所示。The interrupt in this case can be divided into hardware interrupt 24 and software interrupt. The interrupt processing can be divided into interrupts of an interrupt handler 2241 and a softirq handler 2242, the order of which is as shown in the second diagram (b).
第二圖(b)為本案中斷處理的示意圖。實心圓形所連成的線段代表應用程式225的執行時段31,空心圓形所連成的線段代表中斷處理函式2241的執行時段32,空心三角形所連成的線段代表軟體中斷處理函式2242的執行時段33。當硬體中斷24發生時,本案高速資訊系統20從用戶模式(user mode)切換到核心模式(kernel mode)來執行中斷處理函式2241,待中斷處理函式2241結束後,再執行軟體中斷處理函式2242,等所有軟體中斷處理完成後,才會回到一般行程(normal process)的執行,應用程式225的執行包括至少一個以上的一般行程的執行。The second figure (b) is a schematic diagram of the interrupt processing of the present case. The line segments connected by the solid circles represent the execution period 31 of the application 225, and the line segments connected by the hollow circles represent the execution period 32 of the interrupt processing function 2241, and the line segments connected by the hollow triangles represent the software interrupt processing function 2242. The execution period 33. When the hardware interrupt 24 occurs, the high speed information system 20 of the present case switches from the user mode to the kernel mode to execute the interrupt processing function 2241. After the interrupt processing function 2241 ends, the software interrupt processing is executed. The function 2242, after all software interrupt processing is completed, will return to the execution of the normal process, and the execution of the application 225 includes the execution of at least one general itinerary.
請參閱第二圖(c),其為本案軟體中斷的優先順序之示意圖。橫軸代表軟體中斷的執行時間,左邊縱軸代表執行的優先順序,右邊縱軸代表執行環境,其包括中斷執行環境與一般行程執行環境。從第二圖(c)可知,中斷處理函式2241具有最高的優先權,軟體中斷處理函式2242次之,而一般行程具有最低的優先權,執行時段所佔之時間與軟體中斷的優先順序成反比,也就是具有最高優先順序的中斷處理函式2241的執行時段最短,而具有最低的優先權的一般行程的執行時段最長。Please refer to the second figure (c), which is a schematic diagram of the priority order of the software interruption. The horizontal axis represents the execution time of the software interrupt, the left vertical axis represents the execution priority, and the right vertical axis represents the execution environment, which includes the interrupt execution environment and the general execution environment. As can be seen from the second figure (c), the interrupt handling function 2241 has the highest priority, the software interrupt processing function 2242 is second, and the general stroke has the lowest priority, the time occupied by the execution period and the priority of the software interrupt. In inverse proportion, that is, the execution period of the interrupt processing function 2241 having the highest priority is the shortest, and the execution period of the general stroke having the lowest priority is the longest.
連續的硬體中斷24後續會觸發一連串高優先權的中斷處理函式2241之軟體中斷,而軟體中斷尚未完成,亦會再觸發低優先權的軟體中斷處理函式2242,如第二圖(d)所示。第二圖(d)為本案中斷處理的示意圖。The continuous hardware interrupt 24 will trigger a series of high-priority interrupt processing function 2241 software interrupts, and the software interrupt is not completed, and the low-priority software interrupt processing function 2242 is triggered again, as shown in the second figure (d ) shown. The second figure (d) is a schematic diagram of the interrupt handling of the case.
在第二圖(d)中,實心圓形所連成的線段代表應用程式225的執行時段31,空心圓形所連成的線段代表中斷處理函式2241的執行時段32,空心三角形所連成的線段代表軟體中斷處理函式2242的執行時段33。空心菱形代表軟體中斷結束,實心菱形所連成的線段代表低優先權的軟體中斷處理的執行時段34。由第二圖(d)可知,低優先權的軟體中斷處理的順序在最後才被執行。In the second diagram (d), the line segments connected by the solid circles represent the execution period 31 of the application 225, and the line segments connected by the hollow circles represent the execution period 32 of the interrupt processing function 2241, and the hollow triangles are connected. The line segment represents the execution period 33 of the software interrupt processing function 2242. The open diamond represents the end of the software interruption, and the line segment formed by the solid diamond represents the execution period 34 of the low priority software interrupt processing. As can be seen from the second diagram (d), the order of low priority software interrupt processing is executed at the end.
在高流量的網路環境之下,網路介面裝置21接收完資訊29後,會利用硬體中斷24的機制通知該處理單元226來處理資訊25,而處理單元226接受硬體中斷24後,需儲存目前的工作狀態,並跳至中斷處理函式2241(interrupt handler)來處理資訊26。中斷處理函式2241的優先權比一般行程(process)高,大量連續的資訊29進入該網路介面卡21將會引發一連串硬體中斷24,而造成上層的網路之應用程式225無法處理資訊27,資訊27雖然已經過協定處理2240,卻因插口接收緩衝區222被佔滿而使資訊27被丟棄,以致於整個該高速資訊系統20之網路的吞吐率(throughput)降為0。In the high-traffic network environment, after receiving the information 29, the network interface device 21 notifies the processing unit 226 to process the information 25 by using the mechanism of the hardware interrupt 24, and after the processing unit 226 accepts the hardware interrupt 24, The current working state needs to be saved and jumped to the interrupt handler 2241 (interrupt handler) to process the information 26. The priority of the interrupt handling function 2241 is higher than the normal process. A large amount of continuous information 29 entering the network interface card 21 will cause a series of hardware interrupts 24, and the upper layer network application 225 cannot process the information. 27. Although the information 27 has passed the agreement processing 2240, the information 27 is discarded because the socket receiving buffer 222 is occupied, so that the throughput of the entire high speed information system 20 is reduced to zero.
本案提出的解決方法為偵測資訊系統之第一負載及第二負載,根據該資訊系統之第一負載及第二負載來決定該資訊系統之協定處理。第一負載可為系統核心所處理的流量負載,其包括資訊26或資訊27之流量負載,也可以是來自於網際網路的資訊29之流量負載,也可以是硬體中斷24所造成資訊25之流量負載。第二負載可以是應用程式225所處理的流量負載。The solution proposed in the present case is to detect the first load and the second load of the information system, and determine the protocol processing of the information system according to the first load and the second load of the information system. The first load may be the traffic load processed by the system core, including the traffic load of the information 26 or the information 27, or the traffic load from the information 29 of the Internet, or the information caused by the hardware interrupt 24 25 The traffic load. The second load can be the traffic load handled by the application 225.
請參閱第三圖(a),其為本案第一實施例資訊系統的示意圖。該資訊系統50具有一網卡驅動程式523、一核心524、及一應用程式525。該資訊系統50包含一主機52及一網路介面卡51。該主機52包含一直接記憶體存取接收環521、一插口接收緩衝區(socket received buffer) 522、及一處理單元526。該網卡驅動程式523控制該直接記憶體存取接收環521。該核心524具有一協定處理5241,該協定處理5241具有一核心協定處理率52413。資訊56從核心524進入插口接收緩衝區522,資訊57從插口接收緩衝區522輸出,然後由應用程式525處理。該應用程式525具有一應用服務率5250(application service rate)。插口接收緩衝區522具有一封包遺失率5220。該協定處理5241包含高優先權行程環境52411的中斷處理及低優先權行程環境52412的中斷處理。網路介面卡51產生一硬體中斷54,該核心524分配處理單元526的時間與運算資源進行該資訊系統50的作業。Please refer to the third figure (a), which is a schematic diagram of the information system of the first embodiment of the present invention. The information system 50 has a network card driver 523, a core 524, and an application 525. The information system 50 includes a host 52 and a network interface card 51. The host 52 includes a direct memory access receiving ring 521, a socket received buffer 522, and a processing unit 526. The network card driver 523 controls the direct memory access receiving ring 521. The core 524 has a protocol process 5241 with a core protocol processing rate 52413. Information 56 enters socket receive buffer 522 from core 524, and information 57 is output from socket receive buffer 522 and then processed by application 525. The application 525 has an application service rate of 5250 (application service rate). The socket receive buffer 522 has a packet loss rate of 5220. The protocol processing 5241 includes interrupt processing for the high priority travel environment 52411 and interrupt processing for the low priority travel environment 52412. The network interface card 51 generates a hardware interrupt 54, which allocates the time and computing resources of the processing unit 526 for the operation of the information system 50.
當上述的第一負載或第二負載較高時,因為高優先權行程環境52411的中斷處理的優先權較高,因此會佔用該核心524大量的系統資源,而使應用程式525的執行效能低落。低優先權行程環境52412的中斷處理的優先權較低,因此禁用或限制高優先權行程環境52411的中斷處理,而將資訊55交給低優先權行程環境52412的中斷處理進行協定處理5041將有助於防止應用程式525的執行效能低落,並且可減少該資訊系統50的協定處理5041。When the first load or the second load is higher, because the priority of the interrupt processing of the high priority travel environment 52411 is higher, a large amount of system resources of the core 524 are occupied, and the execution performance of the application 525 is lowered. . The priority of the interrupt processing of the low priority trip environment 52412 is lower, thus disabling or limiting the interrupt handling of the high priority trip environment 52411, while the interrupt processing of the information 55 to the low priority trip environment 52412 is subject to the protocol processing 5041. Helps prevent the execution performance of the application 525 from being low, and can reduce the agreement processing 5041 of the information system 50.
本案第二實施例可參閱第三圖(a)。由第三圖(a)所提供本案一種處理資訊系統的方法為:偵測該資訊系統50之一負載,其中該資訊系統50具一高優先權的行程環境52411及一低優先權的行程環境52412。根據該資訊系統50之該負載來決定該資訊系統50是否應於該高優先權的行程環境52411或該低優先權的行程環境52412進行作業。該負載可以是應用程式525所處理的負載,也可以是資訊53或資訊55之流量負載。The second embodiment of the present invention can be referred to the third figure (a). The method for processing an information system provided by the third diagram (a) is to detect a load of the information system 50, wherein the information system 50 has a high priority travel environment 52411 and a low priority travel environment. 52412. Based on the load of the information system 50, it is determined whether the information system 50 should operate in the high priority travel environment 52411 or the low priority travel environment 52212. The load can be the load handled by the application 525 or the traffic load of the information 53 or the information 55.
在第三圖(a)中,當禁用或限制高優先權行程環境52411的中斷處理時,資訊56不易佔滿該插口接收緩衝區522而不會造成經過協定處理5241後的資訊56被丟棄,而且該直接記憶體存取接收環521較易被佔滿而將來自於網路的資訊丟棄。這種在底層提前將來自於網路的資訊丟棄的機制可減緩該核心524的協定處理5241,亦可避免應用程式525執行效能的低落。In the third diagram (a), when the interrupt processing of the high priority travel environment 52411 is disabled or restricted, the information 56 does not easily fill the socket receive buffer 522 without causing the information 56 after the agreed processing 5241 to be discarded. Moreover, the direct memory access receiving ring 521 is relatively easy to be filled and discards information from the network. This mechanism of discarding information from the network in advance at the bottom layer can slow down the protocol processing 5241 of the core 524, and can also prevent the application 525 from performing low performance.
本案第三實施例可參閱第三圖(a)。由第三圖(a)所提供本案一種處理一資訊系統之方法為:偵測該資訊系統50之一負載。根據該資訊系統50之該負載來決定是否提前丟棄該資訊55。當該資訊系統50之該負載為高負載的狀況時,該資訊55在通訊協定處理的底層/前期被丟棄。The third embodiment of the present invention can be referred to the third figure (a). The method provided by the third figure (a) for processing an information system is to detect a load of the information system 50. Based on the load of the information system 50, it is determined whether the information 55 is discarded in advance. When the load of the information system 50 is in a high load condition, the information 55 is discarded at the bottom/previous stage of the protocol processing.
雖然以上的方法可減緩核心524的協定處理5241,但是資訊55進入核心524而經過協定處理5241後,其所獲得的資訊56仍會佔滿該插口接收緩衝區522,因而造成該插口接收緩衝區522空間不足,使得資訊56被丟棄,無法順利傳給應用程式525來進行處理,造成應用程式525效能的低落。因此本案提出一種控核心的方法來解決應用程式525效能低落的問題。Although the above method can slow down the protocol processing 5241 of the core 524, after the information 55 enters the core 524 and passes through the agreement processing 5241, the information 56 obtained by the information still fills the socket receiving buffer 522, thereby causing the socket to receive the buffer. The lack of space in 522 causes the information 56 to be discarded and cannot be smoothly transmitted to the application 525 for processing, resulting in low performance of the application 525. Therefore, this case proposes a core control method to solve the problem of low performance of the application 525.
本案第四實施例可參閱第三圖(a)。本案第四實施例提出一種控制一核心524的方法為:偵測該核心524之封包遺失率5220。根據該封包遺失率5220來決定該核心524處於執行低優先權的中斷處理函式之時機。The fourth embodiment of the present invention can be referred to the third figure (a). The fourth embodiment of the present invention provides a method for controlling a core 524 by detecting a packet loss rate 5220 of the core 524. Based on the packet loss rate 5220, the timing at which the core 524 is executing the low priority interrupt handling function is determined.
請參閱第三圖(b),其為本案第四實施例資訊接收模式切換的示意圖。當該封包遺失率5220大於一上限值時,則該資訊系統50切換到高負載模式,當該封包遺失率5220小於一下限值時,則該資訊系統50切換到低負載模式。當資訊的接收模式切換到高負載模式時,則限制高優先權的行程環境52411,或該核心524從高優先權的執行環境52411切換到低優先權的行程環境52412。Please refer to the third figure (b), which is a schematic diagram of the information receiving mode switching in the fourth embodiment of the present invention. When the packet loss rate 5220 is greater than an upper limit value, the information system 50 switches to the high load mode. When the packet loss rate 5220 is less than the lower limit value, the information system 50 switches to the low load mode. When the receive mode of the information is switched to the high load mode, the high priority travel environment 52411 is restricted, or the core 524 is switched from the high priority execution environment 52411 to the low priority travel environment 52412.
請參閱第三圖(c),其為本案第四實施例切換機制實作的示意圖。接收模式的切換在核心524進行,預定的接收模式是將核心協定處理5241設定在高優先權的52411的行程環境,當該封包遺失率5220大於一上限值時,接收模式為高負載模式,則限制高優先權的核心軟體中斷處理函式的執行,改以優先權較低的行程環境(process-context) ksoftirq daemon進行協定處理;在接收模式為低負載模式時,則以原有的核心軟體中斷處理函式處理,也就是以高優先權的行程環境52411進行處理,以避免不必要的延遲產生。由於核心軟體中斷處理函式與優先權較低的行程環境ksoftirq daemon只是協定處理的優先權不同及執行環境不同,而處理的流程並不會更改,所以切換機制的負擔(overhead)很少,切換過程並不會造成額外的負擔及資訊的遺失。Please refer to the third figure (c), which is a schematic diagram of the implementation of the switching mechanism of the fourth embodiment of the present invention. The receiving mode is switched in the core 524. The predetermined receiving mode is to set the core protocol processing 5241 in the high priority 52411 travel environment. When the packet loss rate 5220 is greater than an upper limit value, the receiving mode is the high load mode. Then, the execution of the high-priority core software interrupt processing function is restricted, and the ksoftirq daemon is processed by the lower-priority process-context; when the receiving mode is the low-load mode, the original core is used. The software interrupt processing function is processed in a high priority travel environment 52411 to avoid unnecessary delays. Since the core software interrupt processing function and the lower priority trip environment ksoftirq daemon only have different priorities for the protocol processing and different execution environments, and the processing flow does not change, the switching mechanism has little overhead, switching The process does not create additional burdens and loss of information.
本案第五實施例可參閱第三圖(a)。第五實施例提出一種控制一核心之方法,該方法包含下列步驟:(a)偵測該核心之一封包遺失率5220。(b)根據該封包遺失率5220來決定該核心524之運作模式。The fifth embodiment of the present invention can be referred to the third figure (a). The fifth embodiment proposes a method for controlling a core, the method comprising the following steps: (a) detecting a packet loss rate 5220 of the core. (b) The mode of operation of the core 524 is determined based on the packet loss rate 5220.
本案第六實施例可參閱第三圖(a)。第六實施例提出一種控制一核心的方法,該方法包含下列步驟:偵測該核心524之封包遺失率5220,其中該核心524具有核心協定處理率52413及一應用服務率5250。根據該封包遺失率520來降低該核心協定處理率52413,以增加該網路應用服務率5250。根據第六實施例的方法可使核心524不至於將大量的時間分配在協定處理5241,而使應用程式525可分配到足夠的處理單元時間,使應用服務率5250大於核心協定處理率52413,以避免核心524分配不必要的時間進行協定處理5241。The sixth embodiment of the present invention can be referred to the third figure (a). The sixth embodiment provides a method for controlling a core, the method comprising the steps of: detecting a packet loss rate 5220 of the core 524, wherein the core 524 has a core protocol processing rate 52413 and an application service rate 5250. The core agreement processing rate 52413 is lowered based on the packet loss rate 520 to increase the network application service rate 5250. The method according to the sixth embodiment can cause the core 524 not to allocate a large amount of time to the protocol processing 5241, but allows the application 525 to allocate sufficient processing unit time to make the application service rate 5250 larger than the core protocol processing rate 52413 to The core 524 is prevented from allocating unnecessary time for the contract processing 5241.
本案第七實施例可參閱第三圖(a)。第七實施例提出一種控制一核心的方法,該方法包含下列步驟:(a)偵測該核心之封包遺失率,其中該核心具有一網路應用服務率。(b)根據該封包遺失率來增加該網路應用服務率。The seventh embodiment of the present invention can be referred to the third figure (a). The seventh embodiment provides a method for controlling a core, the method comprising the steps of: (a) detecting a packet loss rate of the core, wherein the core has a network application service rate. (b) Increasing the network application service rate based on the packet loss rate.
本案第八實施例可參閱第三圖(a)。第八實施例提出一種控制一核心的方法,該方法包含下列步驟:偵測該核心524的封包遺失率5220。根據該封包遺失率5220來決定一硬體中斷54。The eighth embodiment of the present invention can be referred to the third figure (a). The eighth embodiment proposes a method of controlling a core, the method comprising the steps of: detecting a packet loss rate 5220 of the core 524. A hardware interrupt 54 is determined based on the packet loss rate 5220.
本案第九實施例可參閱第三圖(a)。第九實施例提出一種控制一核心的方法,該方法包含下列步驟:偵測該核心524的封包遺失率5220。根據該封包遺失率5220來決定是否預先從底層丟棄封包。當網路流量增大時,根據上述方法可避免大量已完成協定處理5241的資訊56於該插口接收緩衝區522被丟棄,所以提早於該網路介面卡51將資訊丟棄,來增加應用服務率5250。The ninth embodiment of the present invention can be referred to the third figure (a). The ninth embodiment proposes a method of controlling a core, the method comprising the steps of: detecting a packet loss rate 5220 of the core 524. Based on the packet loss rate 5220, it is determined whether or not the packet is discarded from the bottom layer in advance. When the network traffic is increased, according to the above method, the information 56 of the completed agreement processing 5241 can be prevented from being discarded in the socket receiving buffer 522, so the information is discarded earlier than the network interface card 51 to increase the application service rate. 5250.
根據實驗的驗證,在高流量的網路環境下,本案所提的方法與目前Linux的NAPI封包接收機制比較,最多可提升108%的應用程式525的吞吐率(throughput)。According to the experimental verification, in the high-traffic network environment, the method proposed in this case can increase the throughput of the application 525 by up to 108% compared with the current NAPI packet receiving mechanism of Linux.
請參閱第四圖(a),其為本案第十實施例的處理一資訊的裝置60。該處理一資訊的裝置60包含一資訊過濾單元61及一核心單元62。該核心單元62具有一封包遺失率621、一高優先權的中斷處理函式622、及低優先權的中斷處理函式623,該核心單元62處理該資訊,該核心單元62根據其封包遺失率621來決定該核心單元62處於執行低優先權的中斷處理函式623之時機。該資訊過濾單元61包含一控制單元614、一第一處理模組611、一第二處理模組612、及一第三處理模組613。該第一處理模組611包含一第一暫存單元6111與一第一記憶單元6112。該第二處理模組612包含一第二暫存單元6121與一第二記憶單元6122。該第三處理模組613包含一第三暫存單元6131與一第三記憶單元6132。該第一處理模組611、該第二處理模組612、及該第三處理模組613之間以管線式(pipeline)的方式連接,以處理資訊63、資訊64、資訊65、資訊66、資訊67、資訊68、資訊69。該資訊過濾單元61藉由一PCI匯流排601與該核心單元62相連接。Please refer to the fourth figure (a), which is the apparatus 60 for processing an information according to the tenth embodiment of the present invention. The device 60 for processing an information includes an information filtering unit 61 and a core unit 62. The core unit 62 has a packet loss rate 621, a high priority interrupt processing function 622, and a low priority interrupt processing function 623. The core unit 62 processes the information, and the core unit 62 according to its packet loss rate. 621 determines the timing at which the core unit 62 is in the execution of the low priority interrupt handling function 623. The information filtering unit 61 includes a control unit 614, a first processing module 611, a second processing module 612, and a third processing module 613. The first processing module 611 includes a first temporary storage unit 6111 and a first memory unit 6112. The second processing module 612 includes a second temporary storage unit 6121 and a second memory unit 6122. The third processing module 613 includes a third temporary storage unit 6131 and a third memory unit 6132. The first processing module 611, the second processing module 612, and the third processing module 613 are connected in a pipeline manner to process information 63, information 64, information 65, and information 66. Information 67, information 68, information 69. The information filtering unit 61 is connected to the core unit 62 by a PCI bus 601.
在第四圖(b)中顯示第一記憶單元6112與第二記憶單元6122之間資訊65傳遞的協定的示意圖。在第四圖(b)中,資訊65的傳送使用到四種型態的信號:資料信號、控制信號、寫入信號、以及讀取信號。當第一記憶單元6112接收到準備好(ready) 632的信號後,第二記憶單元6122響應一寫入信號(write)653,而將資料651寫入第二記憶單元6122。或是第二記憶單元6122響應讀取信號(read) 654,而從第二記憶單元6122讀取資料。同理,第二記憶單元6122接收到準備好652的信號後,亦對第三記憶單元寫入資料或讀取資料。A schematic diagram of the agreement of the information 65 transfer between the first memory unit 6112 and the second memory unit 6122 is shown in the fourth diagram (b). In the fourth diagram (b), the transmission of the information 65 uses four types of signals: a data signal, a control signal, a write signal, and a read signal. When the first memory unit 6112 receives the signal ready 632, the second memory unit 6122 writes the data 651 to the second memory unit 6122 in response to a write signal 653. Or the second memory unit 6122 reads the data from the second memory unit 6122 in response to the read signal 654. Similarly, after receiving the signal ready for 652, the second memory unit 6122 also writes data or reads data to the third memory unit.
處理一資訊的裝置60的優勢可先在該資訊過濾單元61將不想要的資訊過濾掉,例如該資訊可能是病毒資訊或網路入侵資訊,在這些資訊進行攻擊之前將其過濾掉,可避免對該核心單元62造成負荷,例如使該核心單元62一直執行協定處理而無法執行應用程式。該控制單元可將過濾後的資訊傳送至該核心單元62。The advantage of the device 60 for processing a message may first filter out unwanted information in the information filtering unit 61. For example, the information may be virus information or network intrusion information, and the information may be filtered before being attacked. The core unit 62 is caused to load, for example, the core unit 62 is always performing the contract processing and cannot execute the application. The control unit can transmit the filtered information to the core unit 62.
請參閱第五圖(a),其為本案第十一實施例處理一資訊的裝置的示意圖。該資訊73包含一表頭731(Header)及一內容732,該處理一資訊的裝置70包含一資訊過濾單元71及一資訊處理單元72。該資訊過濾單元71保有一第一表頭過濾規則,且藉由該第一表頭過濾規則過濾該表頭731。該資訊處理單元72檢視過濾後的資訊74的內容732而獲得一第二表頭過濾規則712,且使該第二表頭過濾規則712取代該第一表頭過濾規則711,該資訊過濾單元71根據該第二表頭過濾規則712對後續資訊75進行過濾,以免除檢視該後續資訊75的內容752,如第五圖(b)所示,第五圖(b)為本案置換表頭規則的示意圖。Please refer to FIG. 5( a ), which is a schematic diagram of an apparatus for processing an information according to the eleventh embodiment of the present invention. The information 73 includes a header 731 (Header) and a content 732. The information processing device 70 includes an information filtering unit 71 and an information processing unit 72. The information filtering unit 71 maintains a first header filtering rule, and filters the header 731 by the first header filtering rule. The information processing unit 72 checks the content 732 of the filtered information 74 to obtain a second header filtering rule 712, and causes the second header filtering rule 712 to replace the first header filtering rule 711. The information filtering unit 71 The subsequent information 75 is filtered according to the second header filtering rule 712 to avoid viewing the content 752 of the subsequent information 75, as shown in the fifth figure (b), and the fifth figure (b) is the replacement header rule of the present case. schematic diagram.
在第五圖(b)中,深層封包檢視單元721檢視過濾後的資訊74的內容732之後,會先產生一內容處理規則722,然後再將其轉換成該第二表頭過濾規則712。In the fifth diagram (b), after the deep packet inspection unit 721 views the content 732 of the filtered information 74, a content processing rule 722 is generated first, and then converted into the second header filtering rule 712.
在第五圖(a)中,該表頭過濾單元71負責第一階段的表頭層級(header level)的高速過濾及分類,而複雜的決策判斷或是內容層級(content-level)的流量辨識則在第二階段的資訊處理單元72中以軟體處理,例如以深層封包檢視(deep packet inspection,DPI)單元處理。該表頭過濾單元可為一可規劃邏輯閘陣列FPGA或是網路可規劃邏輯閘陣列NetFPGA,其皆可儲存該第一表頭過濾規則711或該第二表頭過濾規則712。該資訊處理單元72可為主機(host),例如主機52。In the fifth diagram (a), the header filtering unit 71 is responsible for high-speed filtering and classification of the header level of the first stage, and complex decision determination or content-level traffic identification. Then, it is processed by software in the information processing unit 72 of the second stage, for example, by deep packet inspection (DPI) unit processing. The header filtering unit can be a programmable logic gate array FPGA or a network programmable logic gate array NetFPGA, which can store the first header filtering rule 711 or the second header filtering rule 712. The information processing unit 72 can be a host, such as the host 52.
在第五圖(a)與第五圖(b)中,資訊73會先經由該資訊過濾單元71進行初步表頭層級的處理,若該資訊73為包含未知流量的訊息而無法由資訊過濾單元71所處理,則將該資訊73傳送到該資訊處理單元72,以對過濾後的資訊74進行後續複雜的處理。若是該資訊過濾單元71過濾該表頭732時,發現該資訊73的目的位址(destination address)並不是處理一資訊的裝置的位址,則該資訊過濾單元71直接將該資訊73丟棄,以減少該資訊處理單元72在處理該資訊73時所耗費的時間與資源。若該資訊73經該資訊過濾單元71過濾及分類後,需送到上層的資訊處理單元72,則該DPI單元721會將過濾後的資訊74進行分析及比對。經由該DPI單元721辨識得知結果後,該DPI單元721將內容處理規則722轉換成該資訊過濾單元71可處理之該第二表頭過濾規則712。最後,該第一表頭過濾規則711更新成為該第二表頭過濾規則712,對於後續相同連線的資訊75,及可直接由該資訊過濾單元71進行處理,而不需要將過濾後的資訊74導至該資訊處理單元72以軟體處理。本案第十一實施例的目的是盡量以硬體高速處理通訊協定的底層的資訊,且盡量避免由上層的軟體來處理,以避免影響到上層應用程式的執行效能。In the fifth (a) and fifth (b) diagrams, the information 73 is first processed by the information filtering unit 71 at the preliminary header level. If the information 73 is a message containing unknown traffic, the information filtering unit cannot be used. If the processing is 71, the information 73 is transmitted to the information processing unit 72 to perform subsequent complicated processing on the filtered information 74. If the information filtering unit 71 filters the header 732, and finds that the destination address of the information 73 is not the address of the device that processes the information, the information filtering unit 71 directly discards the information 73 to The time and resources consumed by the information processing unit 72 in processing the information 73 are reduced. If the information 73 is filtered and classified by the information filtering unit 71 and sent to the upper layer information processing unit 72, the DPI unit 721 analyzes and compares the filtered information 74. After the result is recognized by the DPI unit 721, the DPI unit 721 converts the content processing rule 722 into the second header filtering rule 712 that the information filtering unit 71 can process. Finally, the first header filtering rule 711 is updated to the second header filtering rule 712, and the information 75 of the subsequent connection is directly processed by the information filtering unit 71, without filtering the information. 74 leads to the information processing unit 72 processing in software. The purpose of the eleventh embodiment of the present invention is to process the underlying information of the communication protocol at a high speed as much as possible, and to avoid processing by the upper layer software to avoid affecting the execution performance of the upper application.
請參閱第五圖(c),其為本案第十一實施例過濾資訊的流程圖。在本案第十一實施例中可知處理一資訊的方法包含下列步驟:步驟S501,過濾該表頭731以對該資訊73分類。步驟S502,接收分類後的資訊74,並檢視分類後的資訊74的內容732而獲得一表頭過濾規則712。步驟S503,儲存該表頭過濾規則712,以對後續資訊75進行過濾。Please refer to FIG. 5(c), which is a flow chart of filtering information according to the eleventh embodiment of the present invention. In the eleventh embodiment of the present invention, the method for processing an information includes the following steps: Step S501, filtering the header 731 to classify the information 73. Step S502, receiving the classified information 74, and viewing the content 732 of the classified information 74 to obtain a header filtering rule 712. In step S503, the header filtering rule 712 is stored to filter the subsequent information 75.
請參閱第五圖(d),其為本案第十一實施例依照流量過濾資訊的流程圖。本案第十一實施例中可根據流量來處理該資訊73。在步驟S511中,該處理一資訊的裝置70根據一連線狀況建立一內容過濾規則。在步驟S512中,該DPI單元721將該內容過濾規則轉換成一表頭過濾規則。在步驟S513中,該資訊過濾單元71更新該表頭過濾規則,以對後續資訊的表頭進行過濾。Please refer to FIG. 5(d), which is a flow chart of filtering information according to traffic according to the eleventh embodiment of the present invention. In the eleventh embodiment of the present invention, the information 73 can be processed according to the traffic. In step S511, the device 70 for processing an information establishes a content filtering rule according to a connection condition. In step S512, the DPI unit 721 converts the content filtering rule into a header filtering rule. In step S513, the information filtering unit 71 updates the header filtering rule to filter the header of the subsequent information.
在一實施例中,該處理一資訊的裝置70對所有的連線分群。當該資訊處理單元72判斷該資訊73的重要性較高,且該資訊73的流量較大時,則該資訊處理單元72設定規則如下:將該資訊73的連線設定為高優先權的連線,並對低優先權的連線進行流量限制,或在底層提早丟棄該資訊73。然後再將該規則更新至該資訊過濾單元71,後續資訊75的流量直接於該資訊過濾單元71被分類、過濾、及隔離,以避免佔用該資訊處理單元72的資源。In one embodiment, the device 70 that processes an information groups all of the connections. When the information processing unit 72 determines that the importance of the information 73 is high, and the traffic of the information 73 is large, the information processing unit 72 sets the rule as follows: the connection of the information 73 is set to a high priority connection. Line, and restrict traffic to low priority connections, or discard this information early in the underlying layer 73. Then, the rule is updated to the information filtering unit 71, and the traffic of the subsequent information 75 is classified, filtered, and isolated directly from the information filtering unit 71 to avoid occupying resources of the information processing unit 72.
在第一實施例中,一種處理一資訊系統之方法被提出,該方法包含下列步驟:(a)偵測該資訊系統之第一負載及第二負載。(b)根據該資訊系統之第一負載及第二負載來決定該資訊系統之協定處理。In a first embodiment, a method of processing an information system is provided, the method comprising the steps of: (a) detecting a first load and a second load of the information system. (b) determining the agreed processing of the information system based on the first load and the second load of the information system.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該第一負載或該第二負載為高負載時,減少該資訊系統的協定處理。According to any of the above embodiments, the method further comprises the step of: (c) reducing the protocol processing of the information system when the first load or the second load is a high load.
依據上述實施例中的任一實施例,其中,該第一負載為一系統核心所處理之流量負載,該第二負載為一應用程式所處理之流量負載。According to any of the above embodiments, the first load is a traffic load processed by a system core, and the second load is a traffic load processed by an application.
在第二實施例中,一種處理一資訊系統之方法被提出,該方法包含下列步驟:(a)偵測該資訊系統之一負載,其中該資訊系統具一高優先權的行程環境及一低優先權的行程環境。(b)根據該資訊系統之該負載來決定該資訊系統是否應於該高優先權的行程環境或該低優先權的行程環境進行作業。In a second embodiment, a method of processing an information system is provided, the method comprising the steps of: (a) detecting a load of the information system, wherein the information system has a high priority travel environment and a low Priority travel environment. (b) determining whether the information system should operate in the high priority travel environment or the low priority travel environment based on the load of the information system.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該負載為高負載時,該資訊系統於該低優先權的行程環境進行作業。According to any of the above embodiments, the method further comprises the following steps: (c) when the load is high load, the information system operates in the low priority travel environment.
依據上述實施例中的任一實施例,其中,該高優先權的行程環境為一軟體中斷協定處理的執行環境,該低優先權的行程環境為一般行程協定處理的執行環境。In accordance with any of the above embodiments, wherein the high priority travel environment is an execution environment for a software break agreement process, the low priority travel environment being an execution environment for general trip agreement processing.
在第三實施例中,一種處理一資訊系統之方法被提出,該方法包含下列步驟:(a)偵測該資訊系統之一負載。(b)根據該資訊系統之該負載來決定是否提前丟棄該資訊。In a third embodiment, a method of processing an information system is provided, the method comprising the steps of: (a) detecting a load of the information system. (b) Decide whether to discard the information in advance based on the load of the information system.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該負載為高負載時,該資訊提前被丟棄。According to any of the above embodiments, the method further comprises the following steps: (c) when the load is high load, the information is discarded in advance.
依據上述實施例中的任一實施例,其中該負載為一網路流量的負載或一應用程式的負載。According to any of the above embodiments, the load is a load of network traffic or a load of an application.
依據上述實施例中的任一實施例,其中該資訊在通訊協定處理的底層/前期被丟棄。In accordance with any of the above embodiments, wherein the information is discarded at the bottom/previous stage of the protocol processing.
在第四實施例中,一種控制一核心之方法被提出,該方法包含下列步驟:(a)偵測該核心之一封包遺失率。(b)根據該封包遺失率來決定該核心處於執行低優先權的中斷處理函式之時機。In a fourth embodiment, a method of controlling a core is provided, the method comprising the steps of: (a) detecting a packet loss rate of the core. (b) The timing at which the core is in the execution of a low priority interrupt handling function is determined based on the packet loss rate.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該封包遺失率超過一上限值時,該核心處於低優先權的中斷處理函式。According to any of the above embodiments, the method further comprises the following steps: (c) when the packet loss rate exceeds an upper limit value, the core is in a low priority interrupt processing function.
在第五實施例中,一種控制一核心之方法被提出,該方法包含下列步驟:(a)偵測該核心之一封包遺失率。(b)根據該封包遺失率來決定該核心之運作模式。In a fifth embodiment, a method of controlling a core is provided, the method comprising the steps of: (a) detecting a packet loss rate of the core. (b) Determine the mode of operation of the core based on the loss rate of the packet.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該封包遺失率超過一上限值時,限制高優先權的行程環境,或該核心從高優先權的執行環境切換到低優先權的行程環境。According to any of the above embodiments, the method further comprises the steps of: (c) limiting the high priority travel environment when the packet loss rate exceeds an upper limit, or the core is from a high priority The execution environment switches to a low priority travel environment.
在第六實施例中,一種控制一核心之方法被提出,該方法包含下列步驟:(a)偵測該核心之封包遺失率,其中該核心具有一核心協定處理率及一網路應用服務率。(b)根據該封包遺失率來降低該核心協定處理率,以增加該網路應用服務率。In a sixth embodiment, a method of controlling a core is provided, the method comprising the steps of: (a) detecting a packet loss rate of the core, wherein the core has a core protocol processing rate and a network application service rate . (b) reducing the core protocol processing rate based on the packet loss rate to increase the network application service rate.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該封包遺失率超過一上限值時,降低該核心協定處理率。In accordance with any of the above embodiments, the method further comprises the step of: (c) reducing the core protocol processing rate when the packet loss rate exceeds an upper limit.
在第七實施例中,一種控制一核心的方法被提出,該方法包含下列步驟:(a)偵測該核心之封包遺失率,其中該核心具有一網路應用服務率。(b)根據該封包遺失率來增加該網路應用服務率。In a seventh embodiment, a method of controlling a core is provided, the method comprising the steps of: (a) detecting a packet loss rate of the core, wherein the core has a network application service rate. (b) Increasing the network application service rate based on the packet loss rate.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該封包遺失率超過一上限值時,增加該網路應用服務率。According to any of the above embodiments, the method further comprises the following steps: (c) increasing the network application service rate when the packet loss rate exceeds an upper limit value.
在第八實施例中,一種控制一核心的方法被提出,該方法包含下列步驟:(a)偵測該核心的封包遺失率。(b)根據該封包遺失率來決定一硬體中斷。In the eighth embodiment, a method of controlling a core is proposed, the method comprising the steps of: (a) detecting a packet loss rate of the core. (b) A hardware interrupt is determined based on the packet loss rate.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該封包遺失率超過一上限值時,減少該硬體中斷。According to any of the above embodiments, the method further comprises the step of: (c) reducing the hardware interruption when the packet loss rate exceeds an upper limit value.
在第九實施例中,一種控制一核心的方法被提出,該方法包含下列步驟:(a)偵測該核心的封包遺失率。(b)根據該封包遺失率來決定是否預先從底層丟棄封包。In the ninth embodiment, a method of controlling a core is proposed, the method comprising the steps of: (a) detecting a packet loss rate of the core. (b) Decide whether to discard the packet from the bottom layer in advance based on the packet loss rate.
依據上述實施例中的任一實施例,其中,該方法更包含下列步驟:(c)當該封包遺失率超過一上限值時,預先從底層丟棄封包。According to any of the above embodiments, the method further comprises the step of: (c) discarding the packet from the bottom layer in advance when the packet loss rate exceeds an upper limit value.
在第十實施例中,一種處理一資訊的裝置被提出,該處理一資訊的裝置包含一資訊過濾單元及一核心單元。該資訊過濾單元過濾該資訊。該核心單元處理經由該資訊過濾單元過濾後的資訊,該核心單元根據其封包遺失率來決定該核心單元處於執行低優先權的中斷處理函式之時機。In a tenth embodiment, a device for processing an information is provided, and the device for processing an information comprises an information filtering unit and a core unit. The information filtering unit filters the information. The core unit processes the information filtered by the information filtering unit, and the core unit determines the timing at which the core unit is in the execution of the low priority interrupt processing function according to the packet loss rate.
依據上述實施例中的任一實施例,其中該資訊包括一第一資訊與一第二資訊的其中之一,該第一資訊包括控制資訊,該第二資訊包括一病毒資訊或一網路入侵資訊。該核心單元為一處理器。該資訊過濾單元為一可規劃邏輯閘陣列FPGA。According to any of the above embodiments, the information includes one of a first information and a second information, the first information including control information, the second information including a virus information or a network intrusion News. The core unit is a processor. The information filtering unit is a programmable logic gate array FPGA.
依據上述實施例中的任一實施例,其中該可規劃邏輯閘陣列包括複數個處理模組及一控制單元。該複數個處理模組的每一個處理模組包括一暫存器及一記憶區,每一個處理模組之間以管線式連接以處理該資訊,藉以獲得該第一資訊。該控制單元接收該第一資訊且傳送該第一資訊至該核心。According to any of the above embodiments, the programmable logic gate array comprises a plurality of processing modules and a control unit. Each processing module of the plurality of processing modules includes a temporary memory and a memory area, and each processing module is connected in a pipeline to process the information to obtain the first information. The control unit receives the first information and transmits the first information to the core.
在第十一實施例中,一種處理一資訊的裝置被提出,該資訊包含一表頭(Header)及一內容,該處理一資訊的裝置包含一資訊過濾單元及一資訊處理單元。該資訊過濾單元保有一第一表頭過濾規則,並且藉由該第一表頭過濾規則過濾該表頭。該資訊處理單元檢視過濾後的資訊的內容而獲得一第二表頭過濾規則,且使該第二表頭過濾規則取代該第一表頭過濾規則,該資訊過濾單元根據該第二表頭過濾規則對後續資訊進行過濾,以免除檢視該後續資訊的內容。In the eleventh embodiment, a device for processing an information is provided. The information includes a header and a content. The device for processing an information includes an information filtering unit and an information processing unit. The information filtering unit maintains a first header filtering rule, and filters the header by the first header filtering rule. The information processing unit checks the content of the filtered information to obtain a second header filtering rule, and causes the second header filtering rule to replace the first header filtering rule, and the information filtering unit filters according to the second header. The rules filter subsequent information to avoid viewing the content of the subsequent information.
依據上述實施例中的任一實施例,其中該資訊過濾單元包括一可規劃邏輯閘陣列FPGA。該第一表頭規則及該第一表頭規則儲存於該可規劃邏輯閘陣列。資訊處理單元處理經由該資訊過濾單元過濾後的資訊。該資訊處理單元包括一深層封包檢視(Deep Packet Inspection,DPI)單元。該深層封包檢視單元檢視過濾後的資料的內容。該資訊經過濾後被分類為一高優先權的資訊或一低優先權的資訊,該高優先權的資訊由該資訊處理單元接收,該低優先權的資訊被丟棄。According to any of the above embodiments, the information filtering unit comprises a programmable logic gate array FPGA. The first header rule and the first header rule are stored in the programmable logic gate array. The information processing unit processes the information filtered by the information filtering unit. The information processing unit includes a Deep Packet Inspection (DPI) unit. The deep packet inspection unit views the content of the filtered data. The information is filtered and classified into a high priority information or a low priority information, the high priority information being received by the information processing unit, and the low priority information is discarded.
在第十一實施例中,一種處理一資訊的方法被提出,該資訊包含一表頭(Header)及一內容,該方法包含下列步驟:(a)過濾該表頭以對該資訊分類。(b)接收分類後的資訊,並檢視分類後的資訊的內容而獲得一表頭過濾規則。(c)儲存該表頭過濾規則以對後續的資訊進行過濾。In an eleventh embodiment, a method of processing an information is provided, the information comprising a header and a content, the method comprising the steps of: (a) filtering the header to classify the information. (b) receiving the classified information and viewing the content of the classified information to obtain a header filtering rule. (c) Store the header filtering rules to filter subsequent information.
依據上述實施例中的任一實施例,其中步驟(b)包括下列步驟:分析及比對該資訊而產生一內容處理規則。轉換該內容處理規則成為一表頭過濾規則。According to any of the above embodiments, wherein step (b) comprises the steps of: analyzing and comparing the information to generate a content processing rule. Converting the content processing rule becomes a header filtering rule.
在第十一實施例中,依照流量過濾資訊的流程如下:(a)根據一連線狀況建立一內容過濾規則。(b)將該內容過濾規則轉換成一表頭過濾規則。(c)更新該表頭過濾規則,以對後續資訊的表頭進行過濾。In the eleventh embodiment, the flow of filtering information according to the traffic is as follows: (a) A content filtering rule is established according to a connection condition. (b) Converting the content filtering rule into a header filtering rule. (c) Update the header filtering rules to filter the headers of subsequent messages.
依據上述實施例中的任一實施例,其中步驟(a)包括下列步驟:當該連線狀況為高負載時,則設定該連線為高優先權的連線。當該連線狀況為低負載時,則設定該連線為低優先權的連線。According to any of the above embodiments, the step (a) comprises the step of setting the connection to a high priority connection when the connection condition is a high load. When the connection status is low load, the connection is set to a low priority connection.
依據上述實施例中的任一實施例,其中當該連線為高優先權的連線時,則對該後續資訊隔離。當該連線為低優先權的連線時,則限制或禁止該連線。當該連線為低優先權的連線時,則早期丟棄該後續資訊。According to any of the above embodiments, wherein the connection is a high priority connection, the subsequent information is isolated. When the connection is a low priority connection, the connection is restricted or prohibited. When the connection is a low priority connection, the subsequent information is discarded early.
本發明的說明與實施例已揭露於上,然其非用來限制本發明,凡習知此技藝者,在不脫離本本發明的精神與範圍之下,當可做各種更動與修飾,其仍應屬在本發明專利的涵蓋範圍之內。The description and examples of the present invention have been disclosed, but are not intended to limit the present invention, and it is understood that those skilled in the art can make various changes and modifications without departing from the spirit and scope of the invention. It should be within the scope of the invention patent.
10...習知高速封包處理系統10. . .知知High speed packet processing system
11...網卡11. . . Network card
12...主機12. . . Host
13,14,15...封包13,14,15. . . Packet
16...外部封包16. . . External packet
17...硬體中斷17. . . Hardware interruption
18...週邊元件互連匯流排18. . . Peripheral component interconnection bus
121...網卡驅動程式121. . . NIC driver
122...Linux核心122. . . Linux core
123...應用程式123. . . application
124...處理器124. . . processor
20...本案高速資訊系統20. . . High-speed information system
21...網路介面卡twenty one. . . Network interface card
22...主機twenty two. . . Host
23...週邊元件互連匯流排twenty three. . . Peripheral component interconnection bus
24...硬體中斷twenty four. . . Hardware interruption
25,26,27,29...資訊25,26,27,29. . . News
28...系統呼叫28. . . System call
211...直接記憶體存取引擎211. . . Direct memory access engine
221...直接記憶體存取接收環221. . . Direct memory access receiving ring
222...插口接收緩衝區222. . . Socket receive buffer
223...網卡驅動程式223. . . NIC driver
224...核心224. . . core
225...應用程式225. . . application
226...處理單元226. . . Processing unit
2240...協定處理2240. . . Agreement processing
2241...中斷處理函式2241. . . Interrupt processing function
2242...軟體中斷處理函式2242. . . Software interrupt processing function
2251...程序2251. . . program
50...資訊系統50. . . Information system
51...網路介面卡51. . . Network interface card
52...主機52. . . Host
53,55,56,57...資訊53,55,56,57. . . News
54...硬體中斷54. . . Hardware interruption
521...直接記憶體存取接收環521. . . Direct memory access receiving ring
522...插口接收緩衝區522. . . Socket receive buffer
523...網卡驅動程式523. . . NIC driver
524...核心524. . . core
525...應用程式525. . . application
526...處理單元526. . . Processing unit
52413...核心協定處理率52413. . . Core agreement processing rate
5241...協定處理5241. . . Agreement processing
52411...高優先權行程環境52,411. . . High priority travel environment
52412...低優先權行程環境52412. . . Low priority travel environment
5220...封包遺失率5220. . . Packet loss rate
5250...應用服務率5250. . . Application service rate
60...處理一資訊的裝置60. . . Device for processing an information
61...資訊過濾單元61. . . Information filtering unit
62...核心單元62. . . Core unit
601...PCI匯流排601. . . PCI bus
63,64,65,66,67,68,69...資訊63, 64, 65, 66, 67, 68, 69. . . News
611...第一處理模組611. . . First processing module
614...控制單元614. . . control unit
612...第二處理模組612. . . Second processing module
613...第三處理模組613. . . Third processing module
6111...第一暫存單元6111. . . First temporary storage unit
6112...第一記憶單元6112. . . First memory unit
6121...第二暫存單元6121. . . Second temporary storage unit
6122...第二記憶單元6122. . . Second memory unit
6131...第三暫存單元6131. . . Third temporary storage unit
6132...第三記憶單元6132. . . Third memory unit
621...封包遺失率621. . . Packet loss rate
622...高優先權中斷處理函式622. . . High priority interrupt processing function
623...低優先權中斷處理函式623. . . Low priority interrupt processing function
70...處理一資訊的裝置70. . . Device for processing an information
71...資訊過濾單元71. . . Information filtering unit
72...資訊處理單元72. . . Information processing unit
73...資訊73. . . News
731...表頭731. . . Head
732...內容732. . . content
711...第一表頭過濾規則711. . . First header filtering rule
721...深層封包檢視單元721. . . Deep packet inspection unit
74...過濾後的資訊74. . . Filtered information
75...後續資訊75. . . Follow-up information
752...後續資訊的內容752. . . Follow-up information
712...第二表頭過濾規則712. . . Second header filtering rule
722...內容處理規則722. . . Content processing rule
第一圖:習知高速封包處理系統的示意圖;The first picture: a schematic diagram of a conventional high-speed packet processing system;
第二圖(a):本案高速資訊系統的示意圖;Figure 2 (a): Schematic diagram of the high-speed information system of the case;
第二圖(b):本案中斷處理的示意圖;Figure 2 (b): Schematic diagram of interrupt handling in this case;
第二圖(c):本案軟體中斷的優先順序之示意圖;Figure 2 (c): Schematic diagram of the priority order of software interruption in this case;
第二圖(d):本案中斷處理之示意圖;Figure 2 (d): Schematic diagram of interrupt handling in this case;
第三圖(a):本案第一實施例資訊系統的示意圖;Figure 3 (a) is a schematic diagram of the information system of the first embodiment of the present invention;
第三圖(b):本案第四實施例資訊接收模式切換的示意圖;Third diagram (b): a schematic diagram of information receiving mode switching in the fourth embodiment of the present invention;
第三圖(c):本案第四實施例切換機制實作的示意圖;Figure 3 (c) is a schematic diagram showing the implementation of the switching mechanism of the fourth embodiment of the present invention;
第四圖(a):本案第十實施例的處理一資訊的裝置;Figure 4 (a) is a device for processing an information in the tenth embodiment of the present invention;
第四圖(b):複數個記憶單元之間資訊傳遞的協定的示意圖;Figure 4 (b): Schematic diagram of an agreement for information transfer between a plurality of memory cells;
第五圖(a):本案第十一實施例處理一資訊的裝置的示意圖;Figure 5 (a) is a schematic diagram of an apparatus for processing an information in the eleventh embodiment of the present invention;
第五圖(b):本案置換表頭規則的示意圖;Figure 5 (b): Schematic diagram of the replacement header rule in this case;
第五圖(c):本案第十一實施例過濾資訊的流程圖;及Figure 5 (c) is a flow chart of filtering information in the eleventh embodiment of the present invention;
第五圖(d):本案第十一實施例依照流量過濾資訊的流程圖。Figure 5 (d): Flow chart of filtering information according to traffic in the eleventh embodiment of the present invention.
20...本案高速資訊系統20. . . High-speed information system
21...網路介面卡twenty one. . . Network interface card
22...主機twenty two. . . Host
23...週邊元件互連匯流排twenty three. . . Peripheral component interconnection bus
24...硬體中斷twenty four. . . Hardware interruption
25,26,27,29...資訊25,26,27,29. . . News
28...系統呼叫28. . . System call
211...直接記憶體存取引擎211. . . Direct memory access engine
221...直接記憶體存取接收環221. . . Direct memory access receiving ring
222...插口接收緩衝區222. . . Socket receive buffer
223...網卡驅動程式223. . . NIC driver
224...核心224. . . core
225...應用程式225. . . application
226...處理單元226. . . Processing unit
2240...協定處理2240. . . Agreement processing
2241...中斷處理函式2241. . . Interrupt processing function
2242...軟體中斷處理函式2242. . . Software interrupt processing function
2251...程序2251. . . program
50...資訊系統50. . . Information system
51...網路介面卡51. . . Network interface card
52...主機52. . . Host
53,55,56,57...資訊53,55,56,57. . . News
54...硬體中斷54. . . Hardware interruption
521...直接記憶體存取接收環521. . . Direct memory access receiving ring
522...插口接收緩衝區522. . . Socket receive buffer
523...網卡驅動程式523. . . NIC driver
524...核心524. . . core
525...應用程式525. . . application
526...處理單元526. . . Processing unit
52413...核心協定處理率52413. . . Core agreement processing rate
5241...協定處理5241. . . Agreement processing
52411...高優先權行程環境52,411. . . High priority travel environment
52412...低優先權行程環境52412. . . Low priority travel environment
5220...封包遺失率5220. . . Packet loss rate
5250...應用服務率5250. . . Application service rate
70...處理一資訊的裝置70. . . Device for processing an information
71...資訊過濾單元71. . . Information filtering unit
72...資訊處理單元72. . . Information processing unit
73...資訊73. . . News
731...表頭731. . . Head
732...內容732. . . content
711...第一表頭過濾規則711. . . First header filtering rule
721...深層封包檢視單元721. . . Deep packet inspection unit
74...過濾後的資訊74. . . Filtered information
75...後續資訊75. . . Follow-up information
752...後續資訊的內容752. . . Follow-up information
712...第二表頭過濾規則712. . . Second header filtering rule
722...內容處理規則722. . . Content processing rule
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99138583A TWI429230B (en) | 2010-11-09 | 2010-11-09 | Method of porcessing information system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99138583A TWI429230B (en) | 2010-11-09 | 2010-11-09 | Method of porcessing information system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201220760A TW201220760A (en) | 2012-05-16 |
TWI429230B true TWI429230B (en) | 2014-03-01 |
Family
ID=46553243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW99138583A TWI429230B (en) | 2010-11-09 | 2010-11-09 | Method of porcessing information system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI429230B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI514823B (en) * | 2013-10-11 | 2015-12-21 | Univ Nat Chiao Tung | A traffic classification system based on message size sequence and method thereof |
-
2010
- 2010-11-09 TW TW99138583A patent/TWI429230B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201220760A (en) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10003544B2 (en) | Method and apparatus for priority flow and congestion control in ethernet network | |
CN107204931B (en) | Communication device and method for communication | |
US8677042B2 (en) | Interrupt moderation | |
US9384033B2 (en) | Large receive offload for virtual machines | |
US7836195B2 (en) | Preserving packet order when migrating network flows between cores | |
US9742682B2 (en) | Large receive offload for virtual machines | |
US20190280991A1 (en) | Quality of service traffic management in high-speed packet processing systems | |
US9755981B2 (en) | Snooping forwarded packets by a virtual machine | |
US20080240140A1 (en) | Network interface with receive classification | |
US20070058649A1 (en) | Packet queuing system and method | |
EP3823228A1 (en) | Message processing method and apparatus, communication device, and switching circuit | |
CN113315720B (en) | Data flow control method, system and equipment | |
CN116233018A (en) | Message processing method and device, electronic equipment and storage medium | |
JP5957318B2 (en) | Network system, information relay device, and packet distribution method | |
US11552905B2 (en) | Managing virtual output queues | |
CN116868553A (en) | Dynamic network receiver driven data scheduling on a data center network for managing endpoint resources and congestion relief | |
CN116723162B (en) | Network first packet processing method, system, device, medium and heterogeneous equipment | |
TWI429230B (en) | Method of porcessing information system | |
EP4195615A1 (en) | Network processor with external memory protection | |
TWI609326B (en) | Method of controlling kernel | |
TWI493923B (en) | Apparatus of processng imformation and method thereof | |
US8004991B1 (en) | Method and system for processing network information | |
WO2021209016A1 (en) | Method for processing message in network device, and related device | |
US20040228280A1 (en) | Dynamic blocking in a shared host-network interface | |
EP4195616A1 (en) | Network processor with external memory protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |