CN101043446A - Method and apparatus for data transmission process - Google Patents

Method and apparatus for data transmission process Download PDF

Info

Publication number
CN101043446A
CN101043446A CNA2007100734611A CN200710073461A CN101043446A CN 101043446 A CN101043446 A CN 101043446A CN A2007100734611 A CNA2007100734611 A CN A2007100734611A CN 200710073461 A CN200710073461 A CN 200710073461A CN 101043446 A CN101043446 A CN 101043446A
Authority
CN
China
Prior art keywords
message
information
data message
forwarding
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007100734611A
Other languages
Chinese (zh)
Inventor
夏阳
郭英辉
薛蕴全
高秋明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNA2007100734611A priority Critical patent/CN101043446A/en
Publication of CN101043446A publication Critical patent/CN101043446A/en
Priority to PCT/CN2008/070350 priority patent/WO2008106879A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

The related data transmitting device comprises: a receiving unit to receive data message and extract its transmission message for transmission processing unit, a buffer unit to buffer the data message, a transmission processing unit to send message to the next unit according to former extracted transmission message, and a transmission unit to extract data from the buffer unit and send message to the target port. This invention needs no OS, just uses one stack for high efficient data transmission process, occupies less resource, reduces system spending and software complexity, and improves processing performance.

Description

The method and apparatus that data forwarding is handled
Technical field
The present invention relates to the communication technology, relate in particular to the method and apparatus that a kind of data forwarding is handled.
Background technology
Polycaryon processor is exactly integrated a plurality of general processor cores on a phy chip, shared external bus of these processor cores and memory.Each nuclear has complete and independent CPU structure, and for example registers group, streamline, arithmetic element, buffer memory etc. can move as a separate CPU.When processor host frequency and power consumption became bottleneck, multi-core technology can increase substantially the disposal ability of chip.
Polycaryon processor is applied in the network processes, a key technology point on the software design is exactly the selection of system architecture, the polycaryon processor system architecture generally is divided into symmetric multiprocessor mode (SMP now, Symmetric Multi Process) and non-to multiprocessor mode (AMP, Asymmetric MultiProcess).
AMP (Asymmetric Multi Process) is that different nuclear is handled different tasks.In this case, each nuclear moves independently operating system.With reference to figure 1, Fig. 1 is a prior art AMP construction system schematic diagram.Each CPU has independently operating system such as OS1 (Operation system1), OS2 etc.Under the AMP mode, the task that each different processor processing is different.Such as the agreement on a processor processing controls plane, the data forwarding on an another one processor deal with data plane.The AMP mode is because the relation of itself and operating system is little, and resource allocation is shared, and communication etc. is all by user oneself definition with design between CPU.
Under the AMP mode, when increasing the number of nuclear, the structure of application program needs redesign, and design complexities is not linear increasing, and complexity can increase a lot.And internuclear synchronous nuclear communication realizes that by application layer messages efficient is low.
SMP is meant processing that each processor can equality task arbitrarily.In this case, have only an operating system, manage all processors and resource in operation.With reference to figure 2, Fig. 2 is a prior art SMP construction system schematic diagram.Under this pattern, each processor is on average shared and is handled various types of resource managements, and work such as course allocation are all finished by operating system OS.SMP mode extendible capacity is good.When increasing the number of nuclear, application program does not need to revise.OS can see and manage all resources, handles resource-sharing automatically, the arbitration problem.Load on each nuclear of OS dynamic assignment and adjustment makes systematic function reach optimum.Internuclear communication and finish the efficient height synchronously by the OS kernel.Because operating system can be managed all resources, thus the various statistic of the operation of acquisition system easily, with the system of evaluating and optimizing.Because SMP is higher to operating system call, supports that at present the real time operating system of polycaryon processor SMP mode is few.And under the SMP mode, performance can not satisfy the demand on data forwarding plane efficiently fully, and can not support the application of some complexity.
Summary of the invention
In view of this, the main purpose of the embodiment of the invention provides the method and apparatus that a kind of data forwarding is handled.
The purpose of the embodiment of the invention is achieved through the following technical solutions:
The device that the embodiment of the invention provides a kind of data forwarding to handle comprises:
Receiving element, being used to receive needs the data message transmitted, and the forwarding information that extracts described data message sends to forward processing unit;
Buffer unit is used for the described data message of buffer memory;
Forward processing unit is used for extracting the transmission information of described data message to transmitting element according to described forwarding information;
Transmitting element is used for according to the pairing data message of described transmission information extraction buffer unit and is transmitted to destination interface.
In addition, the embodiment of the invention also provides a kind of method of data forwarding, comprising:
Receiving element is put into buffer unit with the data message that is received;
The forwarding information that receiving element extracts described data message sends to forward processing unit;
Forward processing unit extracts the transmission information of described data message to transmitting element according to described forwarding information;
Transmitting element is according to the pairing data message in the described transmission information extraction buffer unit and be transmitted to destination interface.
The technical scheme that provides by the invention described above embodiment as can be seen, the method and apparatus that the data forwarding that the embodiment of the invention provides is handled does not need operating system, and a heap and stack only are provided, suitable needs data forwarding are efficiently handled.And compare with the single task under the operating system, resource occupation is few, has reduced the expense of software and hardware, has also reduced the complexity of software simultaneously, improves handling property.
Description of drawings
Fig. 1 is a prior art AMP construction system schematic diagram;
Fig. 2 is a prior art SMP construction system schematic diagram;
Fig. 3 is the device schematic diagram that the data forwarding of the embodiment of the invention is handled;
Fig. 4 is the schematic diagram of the CPU parallel processing module of the embodiment of the invention;
Fig. 5 is the schematic diagram of the CPU serial process module of the embodiment of the invention;
Fig. 6 is the schematic diagram of processing module of the CPU serial parallel combination of the embodiment of the invention;
Fig. 7 is the system architecture schematic diagram that the data forwarding of the embodiment of the invention is handled;
Fig. 8 is the method schematic diagram that the data forwarding of the embodiment of the invention is handled.
Embodiment
For making the purpose, technical solutions and advantages of the present invention clearer, by the following examples, and with reference to accompanying drawing, the present invention is described in more detail.
In embodiments of the present invention, the device that data forwarding is handled does not need operating system, and a heap and stack only are provided, and is equivalent to a single task, can respond interruption, carries out the Interrupt Process function.
The device that the embodiment of the invention provides a kind of data forwarding to handle can be with reference to figure 3, and Fig. 3 is the device schematic diagram that the data forwarding of the embodiment of the invention is handled.Described device comprises:
Receiving element, being used to receive needs the data message transmitted, and the forwarding information that extracts described data message sends to forward processing unit;
In the specific implementation of the embodiment of the invention, the forwarding information of described data message comprises at least: the port number information of ENMES information, message length information, start of message (SOM) address information and reception message.
Buffer unit is used for the data message that the described receiving element of buffer memory is received;
In the specific implementation of the embodiment of the invention, described receiving element receives the data message that needs forwarding, earlier described data message is put into buffer unit.Also can extract the forwarding information of described data message earlier, and then data message is put into buffer unit.
Forward processing unit is used for extracting the transmission information of described data message to transmitting element according to described forwarding information;
In the specific implementation of the embodiment of the invention, sending information to less of described data message comprises: described ENMES information, described message length information and described start of message (SOM) address information.
Transmitting element is used for according to the pairing data message of described transmission information extraction buffer unit and is transmitted to destination interface.
In order to carry out data forwarding processing efficiently, forward processing unit of the invention process can be finished by at least one CPU.
Correspondingly, described forward processing unit is made up of at least one CPU, and each described CPU comprises message processing module (MPM), is used for the message of being received is handled; Message is handled sending module, is used for handled information is sent to follow-up CPU.
In the specific implementation of the embodiment of the invention, CPU need decide according to concrete business the processing of message.
In embodiments of the present invention, the distribution process module of the polycaryon processor in the forward processing unit can have following several: a kind of is parallel processing module, promptly whole forwarding processes of a message are finished in a CPU, like this, and the same code of all CPU that transmits operations.Can be with reference to figure 4, Fig. 4 is the schematic diagram of the CPU parallel processing module of the embodiment of the invention; Another kind is the serial process module, and promptly each or every group of CPU finish a processing capacity, and all processing capacities adopt the serial process modes to finish length by length.Can be with reference to figure 5, Fig. 5 is the schematic diagram of the CPU serial process module of the embodiment of the invention; If do not need the message of certain processing capacity can see through certain column processor, for example, CPU1 finishes classification feature, and CPU2 finishes table lookup function, if certain message does not need to handle through classification feature, then can see through CPU1, and directly carry out the processing of CPU2.The mode that specifically sees through has many kinds, for example: select different CPU by transmit the destination address of specifying different CPU in the message at message.In addition, to also have a kind of mode can be parallel and serial combines.Can be with reference to figure 6, Fig. 6 is the schematic diagram of processing module of the CPU serial parallel combination of the embodiment of the invention.In concrete realization, the distribution process mode of CPU can freely make up as the case may be in the forward processing unit, considers that such as needs the hardware system structure characteristics of CPU are selected suitable distribution process mode.
In the specific implementation that data forwarding is handled, network board is used to provide message to finish forwarding between different ply-yarn drills.In an embodiment of the present invention, we are that example comes the solution of the present invention is further detailed with distributed up-downgoing processing structure.Can be with reference to figure 7, Fig. 7 is the system architecture schematic diagram that the data forwarding of the embodiment of the invention is handled; In Fig. 7, the forwarded upstream processing unit carries out data forwarding by CPU1, CPU2 and CPU3 in parallel mode respectively, like this, CPU1, CPU2 and the same code of CPU3 operation, promptly move same code and support IP to transmit and QoS simultaneously, message can be finished the processing capacity of IP forwarding and QoS by one of CPU1, CPU2 and CPU3.Descending forward processing unit carries out data forwarding by CPU4, CPU5, CPU6, CPU7 and CPU8 in the mode of parallel and serial combination respectively, and promptly CPU4 and CPU5 support TM formation poll and GTS formation poll processing capacity respectively in the mode of serial.CPU6, CPU7 and CPU8 support IP forwarding, QoS and the GTM/TM processing capacity of joining the team simultaneously in parallel mode.Like this, message is in descending repeating process, and IP forwarding, QoS and the GTM/TM processing capacity of joining the team can be finished by one of CPU6, CPU7 and CPU8.TM formation poll and GTS formation poll processing capacity need to finish by CPU4 and CPU5 respectively.Simultaneously, the sending and receiving module of line side and network side interface also can be assisted by hardware or software and be finished.Need to prove that the present invention can support the application of some complexity, promptly can design the distribution mode of different CPU according to the needs of different applied business.For example according to firewall services, the distribution mode of the CPU that design helps realizing that this is professional.
In addition, the embodiment of the invention provides a kind of method of handling based on the data forwarding of polycaryon processor, and with reference to figure 8, Fig. 8 is the method schematic diagram that the data forwarding of the embodiment of the invention is handled.
Step 801, receiving element are put into buffer unit with the data message that is received;
In the specific implementation of the embodiment of the invention, have in the buffer unit head pointer to be set to each data message, be used for index to described data message.
The forwarding information that step 802, receiving element extract described data message sends to forward processing unit;
In the specific implementation of the embodiment of the invention, the forwarding information of described data message comprises at least: the port number information of ENMES information, message length information, start of message (SOM) address information and reception message, and the data structure of the forwarding information of described data message can be as follows:
EOP Status Packet?Lenth Packet?address
Source?Port
Wherein, EOP represents the ENMES sign.We can represent with 0 and 1.0 expression is not last message of this message; 1 is expressed as last message of this message.
Status is used for representing information such as the various error messages of RX and message broadcast/multi broadcast/clean culture, and it can design the figure place that takies as required.
Packet Lenth represents the length of described data message.
Packet address represents the initial address of described data message.
Source Port represents to receive the port numbers of described data message.
Step 803, forward processing unit extract the transmission information of described data message to transmitting element;
In specific implementation of the present invention, sending information to less of described data message comprises: described ENMES information, described message length information and described start of message (SOM) address information, and the data structure of the transmission information of described data message can be as follows:
EOP
Packet?Lenth Packet?address
Wherein, EOP represents the ENMES sign.We can represent that 0 expression is not last message of this message with 0 and 1; 1 is expressed as last message of this message.
Packet Lenth represents the length of described data message.
Packet address represents the initial address of described data message.
In order to carry out data forwarding processing efficiently, forward processing unit of the invention process can be finished by at least one CPU.Like this, described forward processing unit is made up of at least one CPU, and each described CPU handles the message of being received, and handled information is sent to follow-up CPU.
In embodiments of the present invention, carrying out message message transmitted form between a plurality of CPU can be as follows:
Message information CPU transmits process information
Wherein, message information is represented the EOP in the message of front, Packet Lenth, all information of this message of sign such as Packet address.
In the specific implementation of the embodiment of the invention, CPU need decide according to concrete business the processing of message.
Step 804, transmitting element is according to the pairing data message in the described transmission information extraction buffer unit and be transmitted to destination interface.
In the realization of the embodiment of the invention, transmitting element can extract pairing data message in the buffer unit according to the head pointer of the above-mentioned data message of mentioning and in conjunction with described transmission information.
So, the method and apparatus that the data forwarding that the embodiment of the invention provided is handled, do not need operating system, a heap and stack only are provided, compare with the single task under the operating system, resource occupation is few, has reduced the expense of software and hardware, also reduced simultaneously the complexity of software, this kind pattern is fit to needs data forwarding processing efficiently.In addition, the embodiment of the invention provides a kind of and can select for use flexibly according to different service needed transmitting the distribution process module of the CPU in the CPU module, has increased transfer capability like this, has guaranteed forwarding performance.
The above; only for the preferable embodiment of the present invention, but protection scope of the present invention is not limited thereto, and anyly is familiar with the people of this technology in the disclosed technical scope of the present invention; the variation that can expect easily or replacement all should be encompassed within protection scope of the present invention.

Claims (10)

1, a kind of device of data forwarding processing is characterized in that, comprising:
Receiving element, being used to receive needs the data message transmitted, and the forwarding information that extracts described data message sends to forward processing unit;
Buffer unit is used for the described data message of buffer memory;
Forward processing unit is used for extracting the transmission information of described data message to transmitting element according to described forwarding information;
Transmitting element is used for according to the pairing data message of described transmission information extraction buffer unit and is transmitted to destination interface.
2, device according to claim 1 is characterized in that, the forwarding information of described data message comprises at least: the port number information of ENMES information, message length information, start of message (SOM) address information and reception message.
3, device according to claim 1 is characterized in that, sending information to less of described data message comprises: described ENMES information, described message length information and described start of message (SOM) address information.
According to the arbitrary described device of claim 1-3, it is characterized in that 4, described receiving element receives the data message that needs forwarding, earlier described data message is put into buffer unit.
5, device according to claim 1 is characterized in that, described forward processing unit is made up of at least one CPU, and each described CPU comprises as lower module:
Message processing module (MPM) is used for the message of being received is handled;
Message is handled sending module, is used for handled information is sent to follow-up CPU.
6, device according to claim 5 is characterized in that, is the distribution mode of serial parallel combination between the described CPU.
7, a kind of method of data forwarding is characterized in that, comprising:
Receiving element is put into buffer unit with the data message that is received;
The forwarding information that receiving element extracts described data message sends to forward processing unit;
Forward processing unit extracts the transmission information of described data message to transmitting element according to described forwarding information;
Transmitting element is according to the pairing data message in the described transmission information extraction buffer unit and be transmitted to destination interface.
8, method according to claim 7 is characterized in that, sending information to less of described data message comprises: described ENMES information, described message length information and described start of message (SOM) address information.
9, method according to claim 7 is characterized in that, the forwarding information of described data message comprises at least: the port number information of ENMES information, message length information, start of message (SOM) address information and reception message.
10, method according to claim 7 is characterized in that, described forward processing unit is made up of at least one CPU, and each described CPU handles the message of being received, and handled information is sent to follow-up CPU.
CNA2007100734611A 2007-03-08 2007-03-08 Method and apparatus for data transmission process Pending CN101043446A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNA2007100734611A CN101043446A (en) 2007-03-08 2007-03-08 Method and apparatus for data transmission process
PCT/CN2008/070350 WO2008106879A1 (en) 2007-03-08 2008-02-22 Data transfer process device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100734611A CN101043446A (en) 2007-03-08 2007-03-08 Method and apparatus for data transmission process

Publications (1)

Publication Number Publication Date
CN101043446A true CN101043446A (en) 2007-09-26

Family

ID=38808658

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100734611A Pending CN101043446A (en) 2007-03-08 2007-03-08 Method and apparatus for data transmission process

Country Status (2)

Country Link
CN (1) CN101043446A (en)
WO (1) WO2008106879A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008106879A1 (en) * 2007-03-08 2008-09-12 Huawei Technologies Co., Ltd. Data transfer process device and method
WO2014131335A1 (en) * 2013-03-01 2014-09-04 华为终端有限公司 Data transmission method and data forwarding apparatus
CN104184685A (en) * 2013-05-27 2014-12-03 华为技术有限公司 Data center resource allocation method, device and system
CN105959228A (en) * 2016-06-23 2016-09-21 华为技术有限公司 Flow processing method and transparent cache system
CN108984327A (en) * 2018-07-27 2018-12-11 新华三技术有限公司 Message forwarding method, multi-core CPU and the network equipment
CN111049910A (en) * 2019-12-16 2020-04-21 瑞斯康达科技发展股份有限公司 Method, device, equipment and medium for processing message

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209996B2 (en) * 2001-10-22 2007-04-24 Sun Microsystems, Inc. Multi-core multi-thread processor
DE10260604B4 (en) * 2002-12-23 2006-09-21 Infineon Technologies Ag Multi-channel processor
CN100389579C (en) * 2004-07-29 2008-05-21 国家数字交换系统工程技术研究中心 Forwarding method and router for supporting linear speed of IPv6 single multicast operation
CN100466629C (en) * 2006-09-18 2009-03-04 杭州华三通信技术有限公司 Network equipment and message transferring method based on multiple-core processor
CN100452757C (en) * 2006-10-12 2009-01-14 杭州华三通信技术有限公司 Message transferring method and device
CN101043446A (en) * 2007-03-08 2007-09-26 华为技术有限公司 Method and apparatus for data transmission process

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008106879A1 (en) * 2007-03-08 2008-09-12 Huawei Technologies Co., Ltd. Data transfer process device and method
WO2014131335A1 (en) * 2013-03-01 2014-09-04 华为终端有限公司 Data transmission method and data forwarding apparatus
CN104184685A (en) * 2013-05-27 2014-12-03 华为技术有限公司 Data center resource allocation method, device and system
CN104184685B (en) * 2013-05-27 2018-05-29 华为技术有限公司 Data center resource distribution method, apparatus and system
CN105959228A (en) * 2016-06-23 2016-09-21 华为技术有限公司 Flow processing method and transparent cache system
CN105959228B (en) * 2016-06-23 2020-06-16 华为技术有限公司 Traffic processing method and transparent cache system
CN108984327A (en) * 2018-07-27 2018-12-11 新华三技术有限公司 Message forwarding method, multi-core CPU and the network equipment
CN111049910A (en) * 2019-12-16 2020-04-21 瑞斯康达科技发展股份有限公司 Method, device, equipment and medium for processing message

Also Published As

Publication number Publication date
WO2008106879A1 (en) 2008-09-12

Similar Documents

Publication Publication Date Title
CN1138207C (en) Method for use of remote JAVA object allocator
US20130283286A1 (en) Apparatus and method for resource allocation in clustered computing environment
CN101784989B (en) Method and system for allocating network adapter resources among logical partitions
US20170187766A1 (en) Hybrid network system, communication method and network node
CN101043446A (en) Method and apparatus for data transmission process
CN1774699A (en) Concurrent access of shared resources
CN1934536A (en) Computer system, server constituting the same, job execution control method thereof, and program
US9424096B2 (en) Task allocation in a computer network
CN101055532A (en) Method for executing an allgather operation on a parallel computer and its parallel computer
WO2022247105A1 (en) Task scheduling method and apparatus, computer device and storage medium
CN1707461A (en) Data communication apparatus
CN100562850C (en) Multi-processor load distribution-regulation method
CN101076982A (en) Technology for controlling management flow
CN101311915A (en) Method and system for dynamically reassigning virtual lane resources
CN108768667B (en) Method for inter-chip network communication of multi-core processor
CN1394310A (en) Inter-processor communication system
WO2020125396A1 (en) Processing method and device for shared data and server
CN1925453A (en) Message transferring method and device
CN100351824C (en) Bus system and bus interface connected to bus
CN104410725A (en) Processing method and processing system of GPU (Graphics Processing Unit) as well as method and system for DNS (Domain Name Server) resolution based on GPU
CN1825272A (en) Remote printing method for multi-node intelligent network application service system
US20090037616A1 (en) Transaction flow control in pci express fabric
CN102073548A (en) Method for executing task, and system thereof
CN111858035A (en) FPGA equipment allocation method, device, equipment and storage medium
KR100590764B1 (en) Method for mass data processing through scheduler in multi processor system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070926