CN102073539B - Queue request processing method and device - Google Patents
Queue request processing method and device Download PDFInfo
- Publication number
- CN102073539B CN102073539B CN 201010577858 CN201010577858A CN102073539B CN 102073539 B CN102073539 B CN 102073539B CN 201010577858 CN201010577858 CN 201010577858 CN 201010577858 A CN201010577858 A CN 201010577858A CN 102073539 B CN102073539 B CN 102073539B
- Authority
- CN
- China
- Prior art keywords
- request
- queue
- target engine
- team
- sheet
- 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.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
The embodiment of the invention provides a queue request processing method and device. The method comprises the following steps: receiving a queue request of a flow queue, and acquiring the queue identification of the flow queue; searching a target engine corresponding to the flow queue in a chip according to the queue identification, wherein an on-chip queue information table is stored in the target engine; if the target engine is founded, writing the queue request into a request queue corresponding to the flow queue, processing the queue request in the request queue, and updating the on-chip queue information table stored in the target engine; when the request queue is empty, updating an off-chip queue information table of a new flow queue according to the information of the on-chip queue information table, and releasing the target engine to be an idle engine. The embodiment of the invention achieves the aim of correctly accessing the off-chip queue information table.
Description
Technical field
The embodiment of the invention relates to the communication technology, relates in particular to a kind of formation request disposal route and device.
Background technology
In the traffic management chip, comprise K flow queue (Flow Queue, hereinafter to be referred as: FQ), each FQ has queuing message table (the Flow Queue Information Table of 128bit, hereinafter to be referred as: FQIT), comprise in the queuing message table: queue identity, team head pointer, tail of the queue pointer, queue depth and be used for the token (token) of this formation flow of control and credit (credit rating) etc.Joining the team at every turn or going out team of each FQ will be visited FQIT, to obtain and to upgrade the queuing message of this FQ.Along with improving constantly of mechanics of communication, the storage of FQ queuing message mainly lays particular emphasis on large capacity cache and high-speed mutually combining of visiting.
A kind of method of FQIT storage at present is, FQIT is deposited in the buffer memory in sheet (the inner integrated buffer memory of stream reason managing chip), can improve the speed of visit FQIT.Yet buffer memory capacity is less usually in the sheet, has limited the FQ quantity that can hold.Consider that FQIT can take bigger spatial cache.Another kind method is that FQIT is stored in the outer buffer memory of sheet (the external buffer memory of stream reason managing chip), as QDR SRAM (Quad Data Rate static RAM, four times of fast static RAM (SRAM)s).
Yet for the method for the outer buffer memory FQIT of sheet, when receiving the request of eight teams or going out team's request, the FQIT that reads outside sheet might not be up-to-date FQIT, thereby causes irrecoverable error.
Summary of the invention
The embodiment of the invention provides a kind of formation request disposal route and device, can not correctly visit the problem of the outer FQIT of sheet in order to solve prior art.
The embodiment of the invention provides a kind of formation request disposal route, comprising:
Receive the formation request of flow queue, obtain the queue identity of described flow queue;
According to queue identity, in sheet, search the target engine that whether has described flow queue correspondence, preserve the interior queuing message table of sheet of described flow queue in the described target engine;
If find the target engine, described formation request is write the request queue of described flow queue correspondence, the described formation request in the processes said request formation, and upgrade queuing message table in the sheet of preserving in the described target engine; When described request formation when being empty, according to the outer queuing message table of sheet of the described flow queue of information updating of described interior queuing message table, and described target engine is released to idle engine.
The embodiment of the invention also provides a kind of formation request treating apparatus, comprising:
The request receiver module is used for receiving the formation request of flow queue, and described formation request comprises the request of joining the team and goes out team's request;
The interior engine management module of sheet is used for a plurality of interior engines of management, and described interior engine is used for according to the outer queuing message table of the sheet of flow queue, generates and preserve the interior queuing message table of sheet of described flow queue;
Search module, for the queue identity that receives according to the described request receiver module, in sheet, search the target engine of queuing message table in the sheet of preserving described flow queue in the engine management module;
The request queue administration module is used for the formation request of described flow queue is write the corresponding request queue of described flow queue, and according to the disposition of described request formation, more queuing message table in the sheet of flow queue correspondence described in the fresh target engine.
The embodiment of the invention, the queuing message table that outside sheet, reads by engine cache in the sheet.When receiving the formation request that carries queue identity, whether elder generation searches to exist in sheet and is cached with the target engine corresponding with queue identity.If exist, then do not need outside sheet, to read this queue identity corresponding queues information table; If there is no corresponding queuing message table then reads the queuing message table and writes in the sheet the idle engine outside sheet.Thereby the queuing message table of having avoided reading outside sheet is not the defective of up-to-date queuing message table, has reached the purpose of the outer queuing message table of correct visit sheet.
Description of drawings
In order to be illustrated more clearly in the embodiment of the invention or technical scheme of the prior art, to do one to the accompanying drawing of required use in embodiment or the description of the Prior Art below introduces simply, apparently, accompanying drawing in describing below is some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain other accompanying drawing according to these accompanying drawings.
Fig. 1 is formation request disposal route embodiment one process flow diagram of the present invention;
Fig. 2 A is the request process flow figure that joins the team among the formation request disposal route embodiment two of the present invention;
Fig. 2 B is engine formation synoptic diagram in the embodiment of the invention;
Fig. 3 is for going out the request process flow figure of team among the formation request disposal route embodiment three of the present invention;
Fig. 4 is for discharging the method flow diagram of engine among the formation request disposal route embodiment five of the present invention;
Fig. 5 is formation request treating apparatus embodiment one structural representation of the present invention;
Fig. 6 is formation request treating apparatus embodiment two structural representations of the present invention;
Fig. 7 distributes synoptic diagram for the clock period among the formation request treating apparatus embodiment three of the present invention;
Fig. 8 is engine arbitration scene synoptic diagram among the formation request treating apparatus embodiment four.
Embodiment
For the purpose, technical scheme and the advantage that make the embodiment of the invention clearer, below in conjunction with the accompanying drawing in the embodiment of the invention, technical scheme in the embodiment of the invention is clearly and completely described, obviously, described embodiment is the present invention's part embodiment, rather than whole embodiment.Based on the embodiment among the present invention, those of ordinary skills belong to the scope of protection of the invention not making the every other embodiment that obtains under the creative work prerequisite.
The embodiment of the invention is based on the read of engine control in the sheet to the outer FQIT of sheet, to reach the purpose of the outer FQIT of correct visit sheet.Engine refers to be used in the buffer memory in the sheet address space of buffer memory FQIT in the embodiment of the invention.Each FQ only can take an engine, can be provided with a plurality of engines in the sheet, with a plurality of FQ of correspondence.When preserving the FQIT of certain FQ in the engine, it is associated with this FQ corresponding queues sign, thereby make engine to be associated with the request queue of FQ, thereby when processing is joined the team or go out team's request, can find corresponding engine according to queue identity and upgrade the FQIT that preserves in the engine.When the request queue of engine correspondence is sky, the FQIT that preserves in the engine can be write outside the sheet, thereby be equivalent to discharge FQIT occupation space in sheet.
Fig. 1 is formation request disposal route embodiment one process flow diagram of the present invention.As shown in Figure 1, present embodiment comprises:
Step 11: receive the formation request of flow queue, obtain the queue identity of described flow queue.
In embodiments of the present invention, described formation request comprises the request of joining the team and goes out team's request.
Step 12: according to queue identity, in sheet, search the target engine that whether has the flow queue correspondence, preserve the interior queuing message table of sheet of flow queue in the target engine.
In embodiments of the present invention, can be the engine configuration contingency table relevant with queue identity, also can search described target engine according to the included corresponding queue identity of the queuing message table in the engine.
Step 13: if find the target engine, the formation request is write the request queue of flow queue correspondence, handle the formation request in the request queue, and queuing message table in the sheet of preserving in the corresponding more fresh target engine.
If do not find the target engine, illustrate do not have in the sheet request of buffer memory current queue the queuing message table of corresponding flow queue, be that current queue request corresponding queues information table does not take any engine in the sheet, then select the interior idle engine of a slice as the target engine of described flow queue, and outside sheet, read queuing message table outside the sheet of described flow queue correspondence, the information of described outer queuing message table is write described target engine, obtain the interior queuing message table of sheet of described flow queue.
Step 14: when request queue when being empty, according to the outer queuing message table of sheet of the information updating flow queue of queuing message table in the sheet, and the target engine is released to idle engine.
The request queue of the target engine correspondence in sheet is empty, show that this target engine corresponding queues request is all processed, for making other FQ of this target engine cache to save space in the sheet, the queuing message table of buffer memory in this target engine is write back outside the sheet, and empty the queuing message table of buffer memory in this target engine, namely discharge this target engine.
The queuing message table that the embodiment of the invention reads outside sheet by engine cache in the sheet.When receiving the formation request that carries queue identity, whether elder generation searches to exist in sheet and is cached with the target engine corresponding with queue identity.If exist, then do not need outside sheet, to read this queue identity corresponding queues information table; If there is no corresponding queuing message table then reads the queuing message table and writes in the sheet the idle engine outside sheet.Thereby the queuing message table of having avoided reading outside sheet is not the defective of up-to-date queuing message table, has reached the purpose of the outer queuing message table of correct visit sheet.Further, when the target engine corresponding queues request in sheet is empty, show that this target engine corresponding queues request finishes dealing with, the queuing message table of buffer memory in this target engine is write back to outside the sheet, thereby saved space in the sheet.
For improving the speed of the outer FQIT of visit sheet, the embodiment of the invention is organized each list item among the FQIT.Because list items such as tail of the queue pointer, queue depth are only visited in the corresponding operation of the request of joining the team, therefore will organize together with the relevant list item (hereinafter to be referred as the list item of joining the team) of operation of joining the team.And some list item as token and credit, only goes out team's corresponding operation of request just can have access to, and therefore will organize together with the operation of joining the team other list item (hereinafter to be referred as going out group list item) irrelevant, that only just visit when handling out team's request.For example, the FQIT of a 128bit takies 4 physical addresss in the QDR of 18bit Burst2, position by each territory of rational planning FQIT, make to carry out and only visit high 64bit (2 QDR addresses) when joining the team the request respective operations, only just visit whole 128bit (4 QDR addresses) carrying out out team's request respective operations.The embodiment of the invention is with two states of engine: the list item state and go out group list item state of joining the team, represent respectively this engine whether be cached with FQIT join the team list item and FQIT go out group list item.The list item state of joining the team of engine represents that for taking this engine has been cached with the list item of joining the team of FQIT; Engine go out group list item state for taking, represent that this engine has been cached with group list item that goes out of FQIT.Particularly, each engine adopts the Status Flag register engine_fqit_status of two bits, respectively join the team list item state and go out group list item state of buffer memory.Wherein, engine_fqit_status[1] be that the high 64bit of 1 expression FQIT has been buffered in ram in slice, be the high 64bit of 0 expression FQIT also is not buffered in the sheet.Engine_fqit_status[0] be 1 the expression FQIT low 64bit be buffered in the sheet, be 0 the expression FQIT low 64bit also be not buffered in the sheet.Below illustrate respectively by two embodiment how to handle the request of joining the team and how to handle out team's request when the embodiment of the invention adopts the queuing message table of said structure.
Fig. 2 A is the request process flow figure that joins the team among the formation request disposal route embodiment two of the present invention.
Fig. 2 B is engine formation synoptic diagram in the embodiment of the invention.Shown in Fig. 2 A, present embodiment comprises:
Step 21: receive the request of joining the team that carries queue identity.
Step 22: be in the sheet that takies in the engine at the list item state of joining the team, search the target engine corresponding with queue identity.If find the target engine, execution in step 23, otherwise execution in step 24.
Shown in Fig. 2 B, corresponding engine numbering of engine in the sheet.The queuing message table FQIT of a formation FQ of each busy engine cache includes the queue identity FQID of respective queue FQ among each FQIT, therefore, and the corresponding FQID of each busy engine.Each busy engine also corresponding join the team request queue and one goes out group request queue.
For example, engine is numbered 8 Status Flag register, its high-order engine_fqit_status[1] be 1 o'clock, show the list item of joining the team of this engine for taking, namely this engine cache has the list item of joining the team of FQIT; Its low level engine_fqit_status[0] be 0 o'clock, what show this engine goes out group list item for idle, does not namely also have group list item that goes out among the buffer memory FQIT in the engine.Receive when request of joining the team, at engine_fqit_status[1] be in 1 the engine, to search the target engine corresponding with queue identity FQID in the request of joining the team.
Step 23: if find the target engine, the formation request is write in the request queue of joining the team of target engine correspondence.
When in sheet, finding the target engine corresponding with FQID in the request of joining the team, show the list item of joining the team among the FQIT that has this FQID correspondence of engine cache in the sheet.That processing module is handled operation when joining the team request owing to join the team is the corresponding FQIT of buffer memory in the sheet, so the FQIT of target engine cache table is current up-to-date FQIT, does not need to read outside sheet again.
For example, at engine_fqit_status[1] be in 1 the engine, to find the target engine corresponding with FQID in the request of joining the team, for being numbered 2 engine.This request of joining the team is written to and is numbered 2 the corresponding request queue of joining the team of engine, wait for the scheduling of the processing module of joining the team.Be dispatched to this request of joining the team in the processing module of joining the team and carry out when joining the team operation accordingly, directly from be numbered 2 engine, read FQIT.
Step 24: if do not find the target engine, the list item of joining the team that reads the queuing message table according to queue identity outside sheet writes an idle engine in the sheet, as the target engine of queue identity correspondence.
Step 25: the list item state of joining the team of target engine is written as takies, and the request of will joining the team writes the request queue of joining the team of target engine correspondence.
When in sheet, not finding the target engine corresponding with FQID in the request of joining the team, show the FQIT that in sheet, does not also have engine cache corresponding with this FQID, need outside sheet, read FQIT.Owing to handle when joining the team request and only operate the list item of joining the team among the FQIT, therefore, receiving when joining the team request, if in sheet, do not find the target engine, only need outside sheet, read the list item of joining the team the corresponding FQIT, thereby improved the outer visit speed of sheet.After outside sheet, reading the list item of joining the team the FQIT, the request of joining the team is write the request queue of joining the team of target engine correspondence.In addition, also need the list item state of joining the team with this target engine be written as and take, be cached with the list item of joining the team of FQIT to show this target engine.
For example, when in sheet, not finding the target engine corresponding with FQID in the request of joining the team, in sheet, select an idle engine, for example be that engine is numbered 3 idle engine, the list item of joining the team the FQIT corresponding with FQID that will outside sheet, read, be written to engine and be numbered in 3 the engine, and engine is numbered the status register engine_fqit_status[1 of 3 engine] be written as 1.
The embodiment of the invention is in the engine that takies at all list items of joining the team in request process is joined the team in processing, if do not match the engine corresponding with this queue identity, only reads the list item of joining the team this FQIT this moment outside sheet.Because when only in sheet, not distributing to the engine of this FQ, just outside sheet, read the list item of joining the team of this FQIT, therefore guaranteed that the FQIT that reads is the up-to-date FQIT of FQ outside sheet, reduced the visit of the outer FQIT of sheet and the bandwidth of having saved the outer buffer memory of sheet, realized lot of F QIT is stored in the outer purpose of sheet, reduced cost.
Fig. 3 is for going out the request process flow figure of team among the formation request disposal route embodiment three of the present invention.Going out team's request is with the difference of asking of joining the team: going out team's request needs the full content of visit FQIT, and the list item of joining the team (high position of FQIT in the embodiment of the invention) that FQIT is only visited in the request of joining the team.Therefore, do not have engine to store the joining the team during list item of FQIT of a FQ correspondence in the sheet, show the FQIT that also outside sheet, did not read this FQ.For going out team request, the full content that needs read FQIT outside sheet writes the idle engine, and with the list item and go out group list item and all be recorded as and take of joining the team of this engine, shows that this engine stored the full content of FQIT.Particularly, with engine_fqit_status[0] and engine_fqit_status[1] all be set to 1, to represent to preserve in this engine the total data of this FQIT.Wherein, engine go out group request queue referring to shown in Figure 1B, the description of relevant engine is referring to the description of above embodiment.As shown in Figure 3, comprising:
Step 31: receive the team that goes out that carries queue identity and ask.
Step 32: be in the sheet that takies in the engine at the list item state of joining the team, search the target engine corresponding with queue identity.If find execution in step 33, otherwise execution in step 36.
Step 33: if find the target engine corresponding with queue identity, whether that judges the target engine goes out group list item state for taking.If execution in step 34, otherwise execution in step 35.
Step 34: if the target engine go out group list item state for taking, will go out group request queue that goes out that team asks to write target engine correspondence.
Step 35: if group list item state that goes out of target engine is the free time, outside sheet, read and go out group list item the queue identity corresponding queues information table and write the target engine, and group list item state that goes out of target engine correspondence is written as and takies, will go out group request queue that goes out that team's request writes target engine correspondence.
For example, at engine_fqit_status[1] be in 1 the engine, find with go out team's request in the corresponding target engine of FQID, for being numbered 2 engine, judging the engine_fqit_status[0 that is numbered 2 engine] whether be 1.If be numbered the engine_fqit_status[0 of 2 engine] be 1, this is gone out team's request be written to and be numbered that 2 engine is corresponding to go out group request queue, wait for out the scheduling of group processing module; If be numbered the engine_fqit_status[0 of 2 engine] be 0, the low level that reads this FQIT outside sheet writes and is numbered 2 engine, while engine_fqit_status[1] be written as 1, this is gone out team request be written to and be numbered that 2 engine is corresponding to go out group request queue, wait for out the scheduling of group processing module.Be dispatched to this and go out team request and carry out when going out team's operation accordingly going out group processing module, directly from be numbered 2 engine, read FQIT.
Step 36: if do not find the target engine corresponding with queue identity, outside sheet, read queue identity corresponding queues information table and write an idle engine, as the target engine of queue identity correspondence.
Step 37: with the list item state of joining the team of target engine with go out group list item state and all be written as and take, and will go out group request queue that goes out that team's request writes target engine correspondence.
For example, at engine_fqit_status[1] be in 1 the engine, do not find with go out team's request in the corresponding target engine of FQID.In sheet, select an idle engine, for example be that engine is numbered 4 idle engine, outside sheet, read and be written to engine the FQIT corresponding with FQID and be numbered in 4 the engine, and engine is numbered two status register engine_fqit_statuss[0 of 4 engine] and engine_fqit_status[1] all be written as 1.
The embodiment of the invention is in handling out group request process, be in the engine that takies at all list items of joining the team, if do not match with go out team request in the corresponding engine of the queue identity of carrying, the FQIT full content that reads the queue identity correspondence outside sheet the buffer memory writes in the sheet in the idle engine in the buffer memory, and with the list item state of joining the team of this engine with go out group list item state and all be recorded as and take.If match with go out team request in the identical engine of the queue identity of carrying, whether that judges this engine goes out group list item for taking, if directly this is gone out group request queue that goes out that team's request writes this engine correspondence for taking, otherwise also need the FQIT that outside sheet, reads the queue identity correspondence the buffer memory to go out group list item.Since only in sheet, do not preserve in the engine of buffer memory this FQIT go out group list item the time just outside sheet buffer memory read group list item that goes out of FQIT, therefore guaranteed that the FQIT that buffer memory reads outside sheet is the up-to-date FQIT of FQ, reduced the access times of the outer FQIT of sheet and the bandwidth of having saved the outer buffer memory of sheet, realized lot of F QIT is stored in the outer purpose of sheet, reduced cost.
Fig. 4 is for discharging the method flow diagram of engine among the formation request disposal route embodiment four of the present invention.As shown in Figure 4, present embodiment comprises:
Step 41: in the request queue and go out group request queue when being sky of joining the team of engine correspondence, the queuing message table of engine cache is write outside the sheet.
For empty, show that the processing module of joining the team handled the request of joining the team in the request queue of joining the team of this engine correspondence in the request queue of joining the team of engine correspondence; The engine correspondence go out group request queue when empty, indicate that group processing module handled going out of this engine correspondence and gone out team's request in group request queue.Therefore, certain engine correspondence join the team request queue for empty and this engine correspondence go out group request queue also when empty, showing the request of not joining the team and going out team's request needs and operating the FQIT that preserves in this engine.Thereby, the FQIT of this engine cache can be write back sheet outer in.
When the FQIT with this engine cache writes back outside the sheet, if the list item state of joining the team of this engine correspondence is for taking, and the engine correspondence go out group list item state for idle, namely only to the FQ of this engine correspondence operation of having carried out joining the team, operate and go out team.Therefore, only need the list item of joining the team of FQIT is write back in the outer buffer memory of sheet.If the list item state of joining the team of engine be take and engine go out group list item state when taking, the queuing message table is write back outside the sheet, namely to the FQ of this engine correspondence carried out joining the team operation and go out team and operate.
Step 42: empty data in buffer in this engine.
Empty that data in buffer comprises in this engine: two status registers and the FQIT that remove engine.Empty the data of storing in the engine, use this engine is distributed to next FQ.
The embodiment of the invention in the request queue and go out group request queue when being sky of joining the team of engine correspondence, writes sheet with the queuing message table of engine storage and empties data in this engine after outer.When writing FQIT outside the sheet, if the list item state of joining the team of this engine correspondence is for taking, and the engine correspondence go out group list item state for idle, only the list item of joining the team of FQIT need be write back outside the sheet.Reduced the access times of the outer FQIT of sheet and the bandwidth of having saved the outer buffer memory of sheet, realized lot of F QIT is stored in the outer purpose of sheet, reduced cost.
Fig. 5 is formation request treating apparatus embodiment one structural representation of the present invention.Present embodiment comprises: ask receiver module 51, search engine management module 54 in module 52, request queue administration module 53 and the sheet.
The interior engine management module 54 of sheet is used for a plurality of interior engines of management, and described interior engine is used for according to the outer queuing message table of the sheet of flow queue, generates and preserve the interior queuing message table of sheet of described flow queue.Search module 52, be used in sheet, searching the target engine of queuing message table in the sheet of preserving described flow queue in the engine management module 54 according to the queue identity of asking receiver module 51 to receive.Request queue administration module 53 is used for the formation request of described flow queue is write the corresponding request queue of described flow queue, and according to the disposition of described request formation, upgrades queuing message table in the sheet in the target engine of described flow queue correspondence.
Further, as shown in Figure 6, described interior engine management module 54 comprises: information table reading unit 541 and information table write back unit 542.
Information table reading unit 541, be used for searching module 52 when not finding described target engine, select an idle engine as the target engine of flow queue, and in described target engine, generate queuing message table in the sheet of described flow queue correspondence according to the outer queuing message table of the sheet of described flow queue.
Information table writes back unit 542, be used for when the request queue of described flow queue correspondence is sky, upgrade the outer queuing message table of sheet of described flow queue according to queuing message table in the sheet of the target engine of described flow queue correspondence, and the target engine of just described flow queue discharges.
The working mechanism of above-mentioned each module does not repeat them here referring to describing among the corresponding embodiment of Fig. 1.
The queuing message table that the embodiment of the invention reads outside sheet by engine cache in the sheet.When receiving the formation request that carries queue identity, whether elder generation searches to exist in sheet and is cached with the target engine corresponding with queue identity.If exist, then do not need outside sheet, to read this queue identity corresponding queues information table; If there is no corresponding queuing message table then reads the queuing message table and writes in the sheet the idle engine outside sheet.Thereby the queuing message table of having avoided reading outside sheet is not the defective of up-to-date queuing message table, has reached the purpose of the outer queuing message table of correct visit sheet.Further, when the target engine corresponding queues request in sheet is empty, show that this target engine corresponding queues request finishes dealing with, the queuing message table of buffer memory in this target engine is write back to outside the sheet, thereby saved space in the sheet.
Further, the formation request comprises the request of joining the team and goes out team's request.For improving the speed of the outer FQIT of visit sheet, the embodiment of the invention will organize together with the relevant list item (list item of joining the team) of operation of joining the team among the FQIT, and other and the list item of joining the team list item (going out group list item) irrelevant, that only just need visit when handling out team's request is organized together.Only store in the target engine when joining the team list item, the list item state of joining the team of this target engine group list item state for idle for taking.Therefore, each module is to the request of joining the team with to go out group processing of request method different, specific as follows:
Request queue administration module 53, when the formation request of asking receiver module 51 to receive is asked for joining the team, writes the request of joining the team in the request queue of joining the team of target engine correspondence concrete being used for if searching module 52 finds the target engine.
Request queue administration module 53, also concrete being used for finds the target engine if search module 52, when the formation request of asking receiver module 51 to receive is asked for going out team, whether that judges the target engine goes out group list item state for taking, if take, will go out team's request and write going out in group request queue of target engine correspondence; If it is idle, group list item that goes out of queuing message table writes the target engine outside the sheet of announcement information table reading unit 541 reading flow formation correspondence outside sheet, to go out team request and write going out in group request queue of target engine correspondence, and group list item that goes out of target engine is written as and takies.
Request queue administration module 53, also concrete being used for do not find the target engine if search module 52, when the formation request is asked for joining the team, the list item of joining the team of queuing message table writes an idle engine in the sheet outside the sheet of announcement information table reading unit 541 reading flow formation correspondence outside sheet, as the target engine of flow queue; The list item state of joining the team of target engine is written as takies, and the request of will joining the team writes in the request queue of joining the team of target engine correspondence.
Request queue administration module 53, also concrete being used for do not find the target engine if search module 52, when the formation request is asked for going out team, the queuing message table writes an idle engine outside the sheet of announcement information table read module 541 reading flow formation correspondence outside sheet, as the target engine of queue identity correspondence; With the list item state of joining the team of target engine with go out group list item state and all be written as and take, and will go out group request queue that goes out that team's request writes target engine correspondence.
By the processing with upper module, the embodiment of the invention has reduced the visit of the outer FQIT of sheet and the bandwidth of having saved buffer memory outside the sheet, has realized lot of F QIT is stored in the outer purpose of sheet, has reduced cost.
At synchronization, may exist the request queue of joining the team of a plurality of engines to satisfy simultaneously and group condition, group request queue that goes out of a plurality of engines is satisfied simultaneously and group condition, and a plurality of engines satisfy release conditions simultaneously.In the embodiment of the invention in a processing cycle, with time division multiplex (Time Division Multiplexed, hereinafter to be referred as: TDM) mode is separately fixed at three clock period polls and goes out to join the team in the request queue of joining the team and ask out team, poll to go out one to go out to go out in group request queue team and ask out team, poll to go out engine to discharge.
Further, request queue administration module 53 also is used for adopting the time division multiplex referee method, respectively to the request that goes out team's request and release target engine that team asked, went out group request queue that goes out of the request queue of joining the team, carries out arbitration process in a processing cycle.
Fig. 7 distributes synoptic diagram for the clock period among the formation request treating apparatus embodiment three of the present invention.As shown in Figure 7, a processing cycle is 8 clock period.In a processing cycle, handle a request of joining the team in the T1 clock period, handle one in the T5 clock period and go out team's request, therefore, can take two engines in the processing cycle at most.For reaching the balance that engine takies and discharges, in a processing cycle, distribute two clock period polling engines to discharge request.0 clock period of distribution T scheduler meets in the request queue of joining the team of group condition poll at all and goes out a formation and go out team, the request of joining the team that goes out team enters into the processing module of joining the team and handles, 2 clock period of distribution T go out a formation and go out team at the poll that goes out in group request queue that all meet group condition, the team's request that goes out that goes out team enters into out group processing module processing, meet at all 4 clock period of distribution T that poll goes out a release in the engine of release conditions, meet at all 6 clock period of distribution T that poll goes out a release in the engine of release conditions.Fig. 8 is engine arbitration scene synoptic diagram among the formation request treating apparatus embodiment four, as shown in Figure 8, when each poll, selects one to carry out the operation of being correlated with in the engine formation that satisfies condition in the mode of RR (Round Robin) poll.
The engine number is crossed that I haven't seen you for ages and is caused the access speed that processing power in the sheet is depended on the outer buffer memory of sheet, and the engine number too much can cause the waste of resource.In the embodiment of the invention, handle out the cycle of team request according to going out group processing module, the processing module of joining the team handle join the team the processing of request cycle and from the request initiating to read FQIT outside the sheet to the time delay that FQIT returns outside sheet, decide the number of engine.
Further, request queue administration module 53 also is used for handling out the cycle of team's request according to going out group processing module, and the processing module of joining the team is handled join the team processing of request cycle and the time delay that reads the queuing message table, determines the engine number in the sheet.
Suppose the read request of reading FQIT outside the sheet from sending, turning back to FQIT needs 16 processing cycles in the sheet, goes out group processing module and handles one and go out 8 processing cycles of group requirements of process, and the processing module of joining the team is handled one and joined the team 8 processing cycles of requirements of process; If FQID is identical, go out group request queue and the request queue of joining the team can take same engine.But consider worst case: each FQID that goes out group request queue and the request queue of joining the team in a period of time is different, i.e. formation takies an engine.For going out team's request, an engine is used release 24 processing cycles of need from occupied, so need 24 engines at least for going out team's request; In like manner, for the request of joining the team, engine is used release and is also needed 24 processing cycles from occupied, so need 24 engines at least for the request of joining the team.Consider other some expenses again, the engine number is defined as 64.
One of ordinary skill in the art will appreciate that: all or part of step that realizes said method embodiment can be finished by the relevant hardware of programmed instruction, aforesaid program can be stored in the computer read/write memory medium, this program is carried out the step that comprises said method embodiment when carrying out; And aforesaid storage medium comprises: various media that can be program code stored such as ROM, RAM, magnetic disc or CD.
It should be noted that at last: above embodiment only in order to technical scheme of the present invention to be described, is not intended to limit; Although with reference to previous embodiment the present invention is had been described in detail, those of ordinary skill in the art is to be understood that: it still can be made amendment to the technical scheme that aforementioned each embodiment puts down in writing, and perhaps part technical characterictic wherein is equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution break away from the spirit and scope of various embodiments of the present invention technical scheme.
Claims (7)
1. a formation request disposal route is characterized in that, comprising:
Receive the formation request of flow queue, obtain the queue identity of described flow queue;
According to described queue identity, in sheet, search the target engine that whether has described flow queue correspondence, preserve the interior queuing message table of sheet of described flow queue in the described target engine;
If find described target engine, described formation request is write the request queue of described flow queue correspondence, the described formation request in the processes said request formation, and upgrade the described interior queuing message table of preserving in the described target engine;
If do not find described target engine, then select the interior idle engine of a slice as the target engine of described flow queue, and outside sheet, read queuing message table outside the sheet of described flow queue correspondence, the information of described outer queuing message table is write described target engine, obtain the interior queuing message table of sheet of described flow queue, described formation request is write the request queue of described flow queue correspondence, described formation request in the processes said request formation, and upgrade the described interior queuing message table of preserving in the described target engine;
When described request formation when being empty, according to the outer queuing message table of sheet of the described flow queue of information updating of described interior queuing message table, and described target engine is released to idle engine.
2. formation request disposal route according to claim 1 is characterized in that, describedly described target engine is released to idle engine comprises:
Empty data in the described target engine.
3. formation request disposal route according to claim 1 is characterized in that, described target engine refers to the address space in the buffer memory in the sheet, is used for preserving described interior queuing message table.
4. formation request disposal route according to claim 1 is characterized in that, and is described according to described queue identity, searches the target engine that whether has described flow queue correspondence in sheet, comprising:
According to described queue identity, be to search the target engine corresponding with described flow queue in the sheet that takies in the engine at the list item state of joining the team;
If find, when described formation request is asked for joining the team, the described request of joining the team is write in the request queue of joining the team of described target engine correspondence; For going out team when request, whether that judges described target engine goes out group list item state for taking in described formation request, if take, goes out team's request and writes going out in group request queue of described target engine correspondence described; If it is idle, group list item that goes out that reads queuing message table outside the sheet of described flow queue correspondence outside sheet writes described target engine, go out team's request and write going out in group request queue of described target engine correspondence described, and group list item that goes out of described target engine is written as and takies;
If do not find, when described formation request is asked for joining the team, outside sheet, read the list item of joining the team the queuing message table outside the sheet of described flow queue correspondence and write an idle engine in the sheet, target engine as described flow queue, the list item state of joining the team of described target engine is written as takies, and the described request of joining the team is write in the request queue of joining the team of described target engine correspondence; When described formation request is asked for going out team, read outside sheet that the queuing message table writes an idle engine outside the sheet of described flow queue correspondence, target engine as described queue identity correspondence, with the list item state of joining the team of described target engine with go out group list item state and all be written as and take, and will be described go out group request queue that goes out that team asks to write described target engine correspondence.
5. a formation request treating apparatus is characterized in that, comprising:
The request receiver module is used for receiving the formation request of flow queue, obtains the queue identity of described flow queue;
Search module, for the described queue identity that receives according to the described request receiver module, in sheet, search the target engine of queuing message table in the sheet of preserving described flow queue that whether has described flow queue correspondence;
The request queue administration module, be used for if find described target engine, the formation request of described flow queue is write in the request queue of described flow queue correspondence, the described formation request in the processes said request formation, and upgrade the described interior queuing message table of preserving in the described target engine;
Read writing module, if be used for not finding described target engine, then select the interior idle engine of a slice as the target engine of described flow queue, and outside sheet, read queuing message table outside the sheet of described flow queue correspondence, the information of described outer queuing message table is write described target engine, obtain the interior queuing message table of sheet of described flow queue, described formation request is write the request queue of described flow queue correspondence, described formation request in the processes said request formation, and upgrade the described interior queuing message table of preserving in the described target engine;
Upgrade release module, be used for when the request queue of described flow queue is idle, according to the outer queuing message table of sheet of the described flow queue of information updating of described interior queuing message table, and discharge described target engine.
6. formation request treating apparatus according to claim 5 is characterized in that, discharges described target engine and comprises described target engine is emptied.
7. formation request treating apparatus according to claim 5 is characterized in that;
The described module of searching, concrete being used for according to described queue identity is to search the target engine corresponding with described flow queue in the sheet that takies in the engine at the list item state of joining the team;
The described request queue management module, concrete being used for if the described module searches of searching to described target engine, when described formation request is asked for joining the team, writes the described request of joining the team in the request queue of joining the team of described target engine correspondence;
The described request queue management module, also concrete being used for arrives described target engine as if the described module searches of searching, when described formation request is asked for going out team, whether that judges described target engine goes out group list item state for taking, if take, go out team's request and write going out in group request queue of described target engine correspondence described; If it is idle, group list item that goes out that reads queuing message table outside the sheet of described flow queue correspondence outside sheet writes described target engine, go out team's request and write going out in group request queue of described target engine correspondence described, and group list item that goes out of described target engine is written as and takies;
The described request queue management module, also concrete being used for do not find described target engine as if the described module of searching, be that the request of joining the team the time is read the list item of joining the team the queuing message table outside the sheet of described flow queue correspondence and write an idle engine in the sheet outside sheet in described formation request, as the target engine of described flow queue; The list item state of joining the team of described target engine is written as takies, and the described request of joining the team is write in the request queue of joining the team of described target engine correspondence;
The described request queue management module, also concrete being used for do not find described target engine as if the described module of searching, when described formation request is asked for going out team, read outside sheet that the queuing message table writes an idle engine outside the sheet of described flow queue correspondence, as the target engine of described queue identity correspondence; With the list item state of joining the team of described target engine with go out group list item state and all be written as and take, and will be described go out group request queue that goes out that team asks to write described target engine correspondence.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010577858 CN102073539B (en) | 2010-12-02 | 2010-12-02 | Queue request processing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010577858 CN102073539B (en) | 2010-12-02 | 2010-12-02 | Queue request processing method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073539A CN102073539A (en) | 2011-05-25 |
CN102073539B true CN102073539B (en) | 2013-10-09 |
Family
ID=44032085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010577858 Active CN102073539B (en) | 2010-12-02 | 2010-12-02 | Queue request processing method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073539B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423982B (en) * | 2013-08-27 | 2018-03-06 | 阿里巴巴集团控股有限公司 | The processing method and processing equipment of request |
CN106302374B (en) * | 2015-06-26 | 2019-08-16 | 深圳市中兴微电子技术有限公司 | It is a kind of for improve list item access bandwidth and atomicity operation device and method |
CN115269467B (en) * | 2022-09-29 | 2023-01-10 | 沐曦科技(成都)有限公司 | Bus arbitration method and device, storage medium and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801778A (en) * | 2005-12-29 | 2006-07-12 | 中山大学 | Multidimensional queue dispatching and managing system for network data stream |
CN101246460A (en) * | 2008-03-10 | 2008-08-20 | 华为技术有限公司 | Caching data writing system and method, caching data reading system and method |
-
2010
- 2010-12-02 CN CN 201010577858 patent/CN102073539B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801778A (en) * | 2005-12-29 | 2006-07-12 | 中山大学 | Multidimensional queue dispatching and managing system for network data stream |
CN101246460A (en) * | 2008-03-10 | 2008-08-20 | 华为技术有限公司 | Caching data writing system and method, caching data reading system and method |
Also Published As
Publication number | Publication date |
---|---|
CN102073539A (en) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100499565C (en) | Free list and ring data structure management | |
CN102549552B (en) | For the treatment of the method for the packet in flow-aware network nodes | |
US10740006B2 (en) | System and method for enabling high read rates to data element lists | |
US8155134B2 (en) | System-on-chip communication manager | |
EP0947926A2 (en) | System and method for multi-tasking, resource sharing, and execution of computer instructions | |
US8626955B2 (en) | Directing packets to a processor unit | |
CN102437929B (en) | Method and device for de-queuing data in queue manager | |
CN109684099B (en) | Message processing method and device | |
US20070274303A1 (en) | Buffer management method based on a bitmap table | |
CN106537858B (en) | A method and device for queue management | |
CN106503008B (en) | File storage method and device and file query method and device | |
US20150067695A1 (en) | Information processing system and graph processing method | |
US9753660B2 (en) | System and method for implementing hierarchical distributed-linked lists for network devices | |
US20030056073A1 (en) | Queue management method and system for a shared memory switch | |
US9785367B2 (en) | System and method for enabling high read rates to data element lists | |
CN102073539B (en) | Queue request processing method and device | |
CN106254270A (en) | A kind of queue management method and device | |
US7411902B2 (en) | Method and system for maintaining partial order of packets | |
US9767014B2 (en) | System and method for implementing distributed-linked lists for network devices | |
CN117499351A (en) | Message forwarding device and method, communication chip and network equipment | |
US9563584B2 (en) | Method and device for buffer processing in system on chip | |
US9705985B1 (en) | Systems and methods for cross protocol automatic sub-operation scheduling | |
CN109426562A (en) | Priority weighted robin scheduling device | |
KR20160145250A (en) | Shuffle Embedded Distributed Storage System Supporting Virtual Merge and Method Thereof | |
CN118132506B (en) | System-on-chip soft and hard sharing cache architecture and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |