WO2007147756A1 - A processor and a method for a processor - Google Patents

A processor and a method for a processor Download PDF

Info

Publication number
WO2007147756A1
WO2007147756A1 PCT/EP2007/055777 EP2007055777W WO2007147756A1 WO 2007147756 A1 WO2007147756 A1 WO 2007147756A1 EP 2007055777 W EP2007055777 W EP 2007055777W WO 2007147756 A1 WO2007147756 A1 WO 2007147756A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
processing means
credit
credit parameter
limit
Prior art date
Application number
PCT/EP2007/055777
Other languages
French (fr)
Inventor
Jakob CARLSTRÖM
Original Assignee
Xelerated Ab
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 Xelerated Ab filed Critical Xelerated Ab
Priority to DE602007002718T priority Critical patent/DE602007002718D1/en
Priority to EP07730098A priority patent/EP2036267B1/en
Priority to CN2007800232609A priority patent/CN101473614B/en
Priority to US12/306,029 priority patent/US8171478B2/en
Priority to AT07730098T priority patent/ATE445277T1/en
Publication of WO2007147756A1 publication Critical patent/WO2007147756A1/en
Priority to US13/457,001 priority patent/US8522246B2/en
Priority to US13/960,954 priority patent/US8997105B2/en

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket

Definitions

  • the present invention relates to a processor and a method for a processor comprising processing meant, the method comprising the steps of admitting a data packet to the processing means based at least partly on a value of a first credit parameter and a first limit of the first credit parameter, and decreasing the value of the first credit parameter if the data packet is admitted to the processing means,
  • buffer capacity i.e. storage capacity provided for storing data durmg queuing.
  • incoming data traffic is admitted as quickly as possible without controlled admittance limitation, whereby limitations are given by processing capabilities. This will result in large requirements on buffer capacities in ihc processor
  • data shaping can be used so that incoming data traffic is :o admitted to the processing element(s) of the processor so as to accomplish a constant bit rate, and/or a constant packet rate.
  • a shaper might be used for controlling incoming traffic based on a first resource of the processor, for example the bit rate capacity, and another shaper
  • 2 ⁇ might be used to control incoming traf fic based on a second resource of the processor, for example the data packet rate capacity.
  • Such shapers usually have some credit parameter, for example in the form of a token bucket, based on which packets are admitted to the processing element(s) of the processor. 1 lie credit values arc increased periodically with predetermined amounts, data packets are not j ⁇ > admitted unless credit values of the shapers have reached a limit value, and the credit v alues are decreased when data packets are admitted. In such a processor.
  • bursts might occur in the processor reasons illustrated by the following example: After a sequence of packets consuming a relative! ' large amount of the first resource and a relative!' small amount of the second resource, e.g. relatively long data packets, the credit value of one of the shapers will reach a relatively high level.
  • the data packet, the admission of which is based on the value of the second credit parameter can be identical or not identical with the data packet, the admission of which is based on the value of the first credit parameter,
  • the invention is especially advantageous where the value of the first credit parameter is compared to a first Hunt of the first credit parameter, the data packet not being admitted to the processing means if the value of the first credit parameter is lower than the first limit, l he invention will make it possible to compare the value of the first credit parameter to a second limit of the first credit parameter, the j(> value of the first credit parameter not being increased, so as to become larger that the second limit of the first credit parameter, if the value of the second credit parameter is below a first limit of the second credit parameter,
  • the first limit and the second limit of the first credit parameter can be different or so equal.
  • the step of increasing the value of the first credit parameter is based at least partly on a first resource or a second resource of the processing means, whereby, the credit levels, and therefore data admittance is adapted to chosen
  • the processing means resources can be any of a large amount of different types of features of the processing means.
  • one or more of the resources can be performance parameters relating to the processing means, e.g. !he first resource can be a bit rate capacity of the
  • the second resource can be a data packet rate capacity of the processing means.
  • one or more of the resources can be processing elements, adapted to process data.
  • if the data packet is admitted to the processing means can be based at least partly on an expected time period of residence in the processing means in the form of a processing pipeline, as described in the International patent application No PC 1 /SE2005/00196 Q . tiled by the applicant, arid incorporated herein by reference,
  • the term ""credit parameter" implies a parameier. the value of which is adjusted based on the admission of data packets, fh ⁇ s, also the value of the second credit parameter is decreased if the data packet is admitted to the processing means.
  • he object of the invention is also reached with a method of the type mentioned initially, comprising the step of increasing the value of the first credit parameter, in dependence on a data storage level in a buffer in which the data packet is stored before admitted to the processing means.
  • This prevent a build-up of a large credit at a processor data input interface not receiving traffic, or receiving a relatively small i o flow of traffic, for a period time, so that data burst from such an interlace can be avoided when such a time period has passed.
  • the value of the first credit parameter is not increased, so as to become larger that a second limit of the first credit parameter, if the buffer is empty.
  • - fig. 1 is a block diagram corresponding to a processor according to one embodiment of the present invention.
  • Hg. 2 is a block diagram corresponding to a part of the processor to which 25 the diagram in fig. 1 corresponds
  • fig, 3 is a block diagram corresponding to a processor according to another embodiment of the present invention
  • - tig. 4 is a block diagram corresponding to a processor according io a further embodiment of the present invention.
  • a network processor 1 comprises processing means 2. 1 wo features of the processing means 2 are in this presentation referred ro as a firsi and a second resource Rl , R2.
  • a resource as 5 understood in this presentation can be any of a large amount of different types of features, and a few examples are given herein, Tn addition, in general, the processing means can present more than two resources, see below with reference to fig. 3.
  • One or more of the resources Rl . R2 can be processing elements, adapted to process data.
  • one or more of the resources Rl , R2 can be i n performance parameters related to the processing means 2, In this embodiment of the invention, boih performance parameters are performance parameters. More specifically, the first resource R l is the bit rate capacity of the processing means 2. and the second resource R2 is the packet rate capacity of the processing means 2.
  • the processing means 2 can be any of a variety of known types, including an asynchronous processing pipeline, as described in said International patent application No, PCT/SF2005/001969, incorporated herein by reference. 1 hereby, any or all of the resources Rl, R2 can be performance parameters related to the processing means 2, or processing elements of the processing pipeline, the amount
  • processing elements can be an access point for access to a processing device, or engine, as describes in WO2004/01028S, included herein by reference.
  • the processing means 2 can be a RISC (Reduced Instruction Set ?. ⁇ ; Computer) processor, microcoded engine, hard.cod.ed. engine, or a combination of multiple processing means of one type or many types.
  • RISC Reduced Instruction Set ?. ⁇ ; Computer
  • Data traffic is forwarded from left to right in fig. 1.
  • Data packets Dl , D2. D3 enter the processor through a data input interface comprising an input port 3, and are 30 stored in an input buffer 4 before admitted to the processing means 2 in a manner described below. After exiting the processing means 2. the packets are stored in an output buffer 6 before being transmitted through an output port 7.
  • Admission to the processing means 2 is determined by a first and a second shaper S l .
  • S2 in the form of a bit rate shaper S l and a packet rate shaper S2, respectively.
  • I he bit rate shaper S l limits the bit rate to the processing means 2.
  • the limitation property of the bit rate shaper S l is chosen based on the first resource R l , i.e. the bit rate capacity of the processing means 2.
  • the packet rate shaper S2 limits the flow of data packets to the processing means 2.
  • the limitation property of the packet rate shaper S2 is chosen based on the second resource R2. i.e. the packet rate capacity of the processing means 2.
  • the shapcrs S l , S2 can be provided in any suitable form, for example as a software program, or part thereof, or as digital or analogue circuits of electrical, optical or mechanical components
  • simpers S l, S2 use token bucket algorithms, so that admittance of data is based on a respective value CS l, CS2 of a credit parameter, L-ach of these values CS l , CS2, herein also referred to as credit values CS l , CS2. are compared to a respective first limit L1 S2, L1S2. If any of the credit values CS L CS2 is below the respective first limit I i S2. L l S2, no data traffic is allowed to pass the respective shaper,
  • each data packet D l , D2, D 3 can comprise a header with information, and the packet rate shaper S2 can be adapted to
  • D 3 keeps any processing element of the processing means 2 busy from accepting new data packets.
  • header information can be used to establish the identity of the resource, i.e. the processing element, to be engaged in processing of
  • the header can also include information about the size of the respective data packet.
  • the credit value CS2 of the packet rate shaper S2 is reduced by an amount corresponding to the header information, e.g. cost infoi mation.
  • ⁇ " credit amount which is based on the frequency of the periodic increments and the second resource R2. i.e. the packet rate capacity of the processing means 2.
  • the shapers S l, S2 use a so called loose token bucket algorithm, i.e. the first limits Ll b l , L1 S2 are zero, and when the both credit values CS l , CS2 are non- Ji) negative, the next packet Dl in turn in the input buffer 4 is admitted to the processing means 2.
  • the credit value of any of the shapes SL S2 is below the first limit L 1S2.
  • L 1 S2. the credit value of the other shaper S L S2 is not incremented above a respective second limit L2s l , L2S2. Limiting the credit value of any of the shapers S i , S2 to ⁇ the respective second limit L2S 1. L2S2. if the credit value of any other of the shapers S L S2 is below the first limit L1 S2, L1 S2, will reduce buffer capacity requirements of the processing means 2. This is explained by the following example:
  • the invention will prevent a build-up of large credit values during data sequences consuming a large amount of one resource in relation to another resource of the processor. This will significantly reduce burst sizes, which in turn will allow lower i ⁇ downstream buffer capacity requirements
  • the invention will reduce requirements on processing clement buffers, in the form of a FIFO buffers, provided before the processing elements.
  • the shapers S l , S2 preferably use a loose token bucket algorithm, but alternatively, any other suitable admittance algorithm can be used, in case a so called strict token bucket algorithm is used, the first limits Ll S [ , Ll S2 can be positive, and the packet Dl is admitted to the processing means 2 when the credit values CS l, CS2 are at least as large so as to correspond to the respective first limits ;o L I S l . L 1 S2.
  • the first limit L I S L L 1 S2 of any or all of the shapcrs can be predetermined and identical for all data packets passing the respective shaper S l 5 S2.
  • the first limit L l S L I 1 S2 can be individual
  • the respective shaper S l , S2 is adapted to read, before admittance, header information (e.g. of the type described above) of each data packet D i , D2, D3, and set the fust limit T 1 S 1 , Ll S2 based on the header information,
  • header information e.g. of the type described above
  • ihc header information of the respective daia packet Dl , D2, D3 could include a cost C l, C2, C3, corresponding to a first limit value I I S l,
  • L 1 S2 of one of the shapers, Sl. h2. fhus, from the header information of the first packet Dl in the input buffer 4, the cost C l is read, and the firsi limit value L l S l. L 1 S2 is determined a* I I S 1 (or L 1 S2 ) - C 1.
  • the second limit 1 2S L L2S2, ? ⁇ " (above which the credit value of the respective shaper Sl , S2 is not incremented sf the credit value of the other shaper S i , S2 is below its first limit L1 S2, L1 S2), can either be identical with or higher than the first limit Ll S2. 1 1 S2, In the latter case, the second limit L2S 1 , L2S2 can be set individually for each packet to a value exceeding the first limit Ll S 1 , Ll S2 by a predetermined amount.
  • Hg, 3 illustrates a further embodiment of the present invention, fhe processing means 2 presents more than two features in the form of resources Rl, R2...
  • a first and a second resource Rl, R2 can be the bit rate capacity and the packet rate capacity, respectively, of the processing means 2, and farther resources can be processing elements, adapted to process data.
  • Admission to the processing means 2 is determined by shapers Sl. S2... SN, the amount of which is the same as the amount of processor means resources Rl, Ri ... !0 RN,
  • the limitation property of the first shaper Sl is chosen based on the first resource Rl, and the limitation property o ⁇ the second shaper S2 is chosen based on the second resource R2, etc.
  • each shaper Sl, S2... SN uses a token bucket algorithm, so that 15 admittance of data i ⁇ based on a respective value CSl, CS2... CSN of a credit parameter. If a credit value CSl, CS2.,, CSN is below a first limit L1S2, L1S2. . LlSN, no data traffic is allowed to pass the respective shaper. Admittance of data traffic is carried out in a manner corresponding to what has been described above with reference to fig.1 and 2. fh ⁇ s, if the credit value CSl, CS2... CSN of any of Za the shapers Sl, S2... SN is below the respective first limit L1S2, L1S2...
  • the respective credit value CSL CS2 ,,. CSX is periodically, e.g. every clock cycle of the processor 1 , incremented by a respective fixed credit amount.
  • the value of the respective fixed credit amount is based on the frequency of the periodic increments (e.g. every clock cycle) and the respective resource Ri , R2... RN.
  • the credit value of any of the shapers Sl, S2 ,,. SN is below the respective first limit 1_1S2, 1_1S2 ,,. LlSX, the credit value of the other shapers Sl, S2... SN is not incremented above a respective second limit I 2Sl, 12S2. , L2SN, lhe second limit L2Sl, L2S2. , , I 2SN can be above or identical with the respective first limit ;- «i I IS2, 11S2...LlSN.
  • the data packet D l , D2, D3. the admission of which is based on the value CS2 of " the second credit parameter, is identical with the data packet, the admission of which is based on the value CS l of the first credit parameter.
  • the admission of which is based on the value CS l of the first credit parameter is identical with the data packet, the admission of which is based on the value CS l of the first credit parameter.
  • the invention is also adaptable so that admittance of a first data packet to the processing means 2 is based on a value of a first credit parameter, the value of the first credit parameter being increased in dependence on a value of a second credit parameter, based on W'hich a second data packet is admitted to the processing means, the second data packet not being identical with the first data io packet.
  • the first and second data packets enter the processor through separate interfaces.
  • ⁇ network processor 1 comprises processing means 2 in the form of an asynchronous
  • processing means 2 can alternatively be provided in another form, for example as
  • data packets D I l , . . DIM enter the processor through interfaces each comprising an input port 3 1 , 32, ... 3 ⁇ 1
  • a pipeline arbiter 1 1, S L S2, . .. SM comprises a scheduler 1 1 and a plurality of shapers S I, S2, ... SM.
  • a shaper S L S2, ... SM is provided for each pair of input port 31 , 32. ... 3 M and input buffer 4 1 , 42, ... 4M. Admission to the pipeline 2 is determined by the shapers S L S2. ... SM and the scheduler 1 1. which operates
  • io according to a Round Robin algorithm, access io the pipeline being given to the shapes s S L S2. ... SM in a continuous sequence of pollings by the scheduler 1 1.
  • alternative scheduling disciplines could be used, for example weighted fair queuing, deficit round robin, deficit weighted round robin, strict priority queuing, earliest deadline first, and first-come first-serve.
  • each shaper S l. S2 . .. SM uses a token bucket algorithm, so thai admittance of data is based on a respective value CS l, CS2 . .. CSM of a credit parameter. If a credit value Cb I, CS2 ... CSM is below a first limit Ll S2, Ll S2 . .. L I SM, no data traffic is allowed to pass the respective shaper. If the credit value CS i , CS2 ... CSM of any of the shapcrs S l, S2 ... bM is below the respective first
  • L1 S2 ... L l SM, the respective credit value CSl , CS2 ... CSM is periodically, e.g. every clock cycle of the processor I , incremented by a respective fixed credit amount.
  • the value of the respective fixed credit amount is based on a resource of the processing means 2. for example the packet rate capacity thereof, the frequency of the periodic increments (e.g. every clock cycle) and the amount of
  • the resource of the processing means 2, on which the fixed credit amount increments of the shapers S l , S2 . .. SM are based can alternatively be the bit rate capacity of the processing means 2, or any other performance parameter thereof.
  • the fixed credit amount increments of different shapers S l . S2 ... SM can be based on different processing o elements P l , ... PK, 8 to which traffic from the respective shaper is addressed.
  • ⁇ O is not incremented above a respective second limit.
  • any of the embodiments described above with reference to fig, 1-4 can be adjusted so that, if any of the input buffers 4, 4 L 42, ... 4 M is empty, the credit value of the shaper (or shapers ⁇ , adapted to receive traffic from ! 5 this input buffer 4, 41 , 42, ... 4M, is not incremented above the second limit L2S 1 , L2S2 ... L2SM. This prevent a build-up of a large credit in a shaper at an interface noi receiving traffic, or receiving a relatively small flow of traffic for a period time, so that data burst from such an interface can be avoided when such a time period has passed.

Abstract

The present invention relates to a processor (1) and a method for a processor comprising processing means (2), the method comprising the steps of - admitting a data packet (D1, D2, D3) to the processing means (2) based at least partly on a value (CS1) of a first credit, parameter and a first limit (L1S1) of the first credit parameter, - decreasing the value (CS1) of the first credit parameter if the data packet (D1, D2, D3) is admitted to the processing means (2), and - increasing the value (CS1) of the first credit parameter, in dependence on a value (CS2) of a second credit parameter, based on which a data packet (D1, D2, D3) is admitted to the processing means (2).

Description

A PROCESSOR AND A MFTIIOD FOR Λ PROCFSSOR
I FC HXICAL FIELD
* The present invention relates to a processor and a method for a processor comprising processing meant,, the method comprising the steps of admitting a data packet to the processing means based at least partly on a value of a first credit parameter and a first limit of the first credit parameter, and decreasing the value of the first credit parameter if the data packet is admitted to the processing means,
10
BACKGROUND
In data processings it is desired to reduce buffer capacity, i.e. storage capacity provided for storing data durmg queuing.
15
In some known processors, incoming data traffic is admitted as quickly as possible without controlled admittance limitation, whereby limitations are given by processing capabilities. This will result in large requirements on buffer capacities in ihc processor Also, data shaping can be used so that incoming data traffic is :o admitted to the processing element(s) of the processor so as to accomplish a constant bit rate, and/or a constant packet rate.
In a processor, a shaper might be used for controlling incoming traffic based on a first resource of the processor, for example the bit rate capacity, and another shaper
2^ might be used to control incoming traf fic based on a second resource of the processor, for example the data packet rate capacity. Such shapers usually have some credit parameter, for example in the form of a token bucket, based on which packets are admitted to the processing element(s) of the processor. 1 lie credit values arc increased periodically with predetermined amounts, data packets are not j<> admitted unless credit values of the shapers have reached a limit value, and the credit v alues are decreased when data packets are admitted. In such a processor. n
bursts might occur in the processor reasons illustrated by the following example: After a sequence of packets consuming a relative!)' large amount of the first resource and a relative!)' small amount of the second resource, e.g. relatively long data packets, the credit value of one of the shapers will reach a relatively high level.
5 If such a packet sequence consuming a lot of the first resource and little of the second resource is followed by a sequence of packets consuming a relative!)' small amount of she first resource, e.g. relatively short data packets, a hurst of packets will be permitted until the credit value having reached a relatively high level falls below the limit for admittance of packets. The risk of such data bursts will require a large
K) buffer capacity downstream of the shapers.
SΓMMΛRY
It is an object of the invention to reduce buffer capacity in a processor.
15
This object is reached with a method of the type mentioned initially, comprising the step of increasing the value of the first credit parameter, in dependence on a value of a second credit parameter, based on which a data packet is admitted to the processing means, :o
Λs described closer below, the data packet, the admission of which is based on the value of the second credit parameter, can be identical or not identical with the data packet, the admission of which is based on the value of the first credit parameter,
:5 The invention is especially advantageous where the value of the first credit parameter is compared to a first Hunt of the first credit parameter, the data packet not being admitted to the processing means if the value of the first credit parameter is lower than the first limit, l he invention will make it possible to compare the value of the first credit parameter to a second limit of the first credit parameter, the j(> value of the first credit parameter not being increased, so as to become larger that the second limit of the first credit parameter, if the value of the second credit parameter is below a first limit of the second credit parameter,
In particular, none of the credit values are allowed to increase while any of the other 5 credit values aie below a predetermined limit. This will avoid a build-up of large credit values, and will significantly reduce burst sizes, which in turn will allow lower downstream butler capacity requirements.
The first limit and the second limit of the first credit parameter can be different or so equal.
Preferably, the step of increasing the value of the first credit parameter is based at least partly on a first resource or a second resource of the processing means, Thereby, the credit levels, and therefore data admittance is adapted to chosen
15 resources of the processing means, which will reduce buffer capacity requirements of the latter. As explained further below, the processing means resources can be any of a large amount of different types of features of the processing means. For example, one or more of the resources can be performance parameters relating to the processing means, e.g. !he first resource can be a bit rate capacity of the
?M processing means, and the second resource can be a data packet rate capacity of the processing means. Alternatively, one or more of the resources can be processing elements, adapted to process data. Alternatively or in addition, the step of increasing the value of the first credit parameter and/or the value of the second credit parameter, and-'or decreasing the values of the first and the second credit parameter
: ; if the data packet is admitted to the processing means, can be based at least partly on an expected time period of residence in the processing means in the form of a processing pipeline, as described in the International patent application No PC 1 /SE2005/00196Q. tiled by the applicant, arid incorporated herein by reference, Herein, the term ""credit parameter" implies a parameier. the value of which is adjusted based on the admission of data packets, fhυs, also the value of the second credit parameter is decreased if the data packet is admitted to the processing means.
5 1 he object of the invention is also reached with a method of the type mentioned initially, comprising the step of increasing the value of the first credit parameter, in dependence on a data storage level in a buffer in which the data packet is stored before admitted to the processing means. This prevent a build-up of a large credit at a processor data input interface not receiving traffic, or receiving a relatively small i o flow of traffic, for a period time, so that data burst from such an interlace can be avoided when such a time period has passed. Preferably, the value of the first credit parameter is not increased, so as to become larger that a second limit of the first credit parameter, if the buffer is empty.
! 5 The object of the invention is also reached with a processor according to any of the claims 9-16,
DhSCRlPTIOK OF THF FIGURES
20 Below, the invention w ill be described in the detailed description with reference to ihc drawings, in which:
- fig. 1 is a block diagram corresponding to a processor according to one embodiment of the present invention.
Hg. 2 is a block diagram corresponding to a part of the processor to which 25 the diagram in fig. 1 corresponds, fig, 3 is a block diagram corresponding to a processor according to another embodiment of the present invention, and
- tig. 4 is a block diagram corresponding to a processor according io a further embodiment of the present invention.
JO
DFTAILED DhSCRTPTION Fig. I illustrates one embodiment of the present invention. A network processor 1 comprises processing means 2. 1 wo features of the processing means 2 are in this presentation referred ro as a firsi and a second resource Rl , R2. A resource as 5 understood in this presentation can be any of a large amount of different types of features, and a few examples are given herein, Tn addition, in general, the processing means can present more than two resources, see below with reference to fig. 3. One or more of the resources Rl . R2 can be processing elements, adapted to process data. Alternatively, one or more of the resources Rl , R2 can be i n performance parameters related to the processing means 2, In this embodiment of the invention, boih performance parameters are performance parameters. More specifically, the first resource R l is the bit rate capacity of the processing means 2. and the second resource R2 is the packet rate capacity of the processing means 2.
15 The processing means 2 can be any of a variety of known types, including an asynchronous processing pipeline, as described in said International patent application No, PCT/SF2005/001969, incorporated herein by reference. 1 hereby, any or all of the resources Rl, R2 can be performance parameters related to the processing means 2, or processing elements of the processing pipeline, the amount
2υ of which can be considerably larger than two. Any of such processing elements can be an access point for access to a processing device, or engine, as describes in WO2004/01028S, included herein by reference.
Alternatively, the processing means 2 can be a RISC (Reduced Instruction Set ?.<; Computer) processor, microcoded engine, hard.cod.ed. engine, or a combination of multiple processing means of one type or many types.
Data traffic is forwarded from left to right in fig. 1. Data packets Dl , D2. D3 enter the processor through a data input interface comprising an input port 3, and are 30 stored in an input buffer 4 before admitted to the processing means 2 in a manner described below. After exiting the processing means 2. the packets are stored in an output buffer 6 before being transmitted through an output port 7.
Admission to the processing means 2 is determined by a first and a second shaper S l . S2, in the form of a bit rate shaper S l and a packet rate shaper S2, respectively. I he bit rate shaper S l limits the bit rate to the processing means 2. The limitation property of the bit rate shaper S l is chosen based on the first resource R l , i.e. the bit rate capacity of the processing means 2. The packet rate shaper S2 limits the flow of data packets to the processing means 2. The limitation property of the packet rate shaper S2 is chosen based on the second resource R2. i.e. the packet rate capacity of the processing means 2.
The shapcrs S l , S2 can be provided in any suitable form, for example as a software program, or part thereof, or as digital or analogue circuits of electrical, optical or mechanical components
Reference is made to fig. 2. Both simpers S l, S2 use token bucket algorithms, so that admittance of data is based on a respective value CS l, CS2 of a credit parameter, L-ach of these values CS l , CS2, herein also referred to as credit values CS l , CS2. are compared to a respective first limit L1 S2, L1S2. If any of the credit values CS L CS2 is below the respective first limit I i S2. L l S2, no data traffic is allowed to pass the respective shaper,
If neither of the credit values CS l, CS2 is below the respective first limits L 1 S2, Ll S2 in the token buckets of the shapers S 1 , S2, the next packet L) 1 in turn in the input buffer 4 is admitted to the processing means 2. When the packet Dl is admitted to the processing means, the credit value CS lof the bit rate shaper S I is reduced by an amount corresponding amount of bits ot the packet DL and the credit value CS2 of the packet rate shaper S2 is reduced by an amount corresponding to the number of packets admitted, i.e. one packet. As an alternative, ihc credit value CS2 of the packet rate shapcr S2 can be adjusted as described in said International patent application No. PCl /8122005 -OGl 969, incorporated herein by reference. Accordingly, each data packet D l , D2, D 3 can comprise a header with information, and the packet rate shaper S2 can be adapted to
5 read the information, which can be related to the cost of the data packet, i.e. to the longest time that the respective data packet Dl, 1)2, D 3 keeps any processing element of the processing means 2 busy from accepting new data packets. Alternatively or in addition, such header information can be used to establish the identity of the resource, i.e. the processing element, to be engaged in processing of
10 the respective packet Dl, D2. D3. further, the header can also include information about the size of the respective data packet. When the packet is admitted to the processing means, the credit value CS2 of the packet rate shaper S2 is reduced by an amount corresponding to the header information, e.g. cost infoi mation.
15 Λ second limit I 2S 1 , 1 2S2 of the respective shaper S K S2 is higher than the respective first limit L 1 S2, L 1 S2, as indicated in Hg. 2. Alternatively the second limit L2S 1. L2S2 of the respective shaper M, S2 can be identical with the respective first limit L I S2. L 1 S2. If the credit value CbI of the bit rate shaper S 1 is below the second limit L2S 1 , the credit value CS l is periodically, e.g. every clock za cycle of the processor 1 , incremented by a fixed credit amount. The value of the fixed credit amount is based on the frequency of the periodic increments (e.g. every clock cycle) and the first resource Rl, i.e. the bit rate capacity of the processing means 2. Similarly, if the credit value of the packet rate shaper S2 is below the second limit 1 2S2. the credit value CS2 is periodically incremented by a fixed
\" credit amount, which is based on the frequency of the periodic increments and the second resource R2. i.e. the packet rate capacity of the processing means 2.
Pi eferably, the shapers S l, S2 use a so called loose token bucket algorithm, i.e. the first limits Ll b l , L1 S2 are zero, and when the both credit values CS l , CS2 are non- Ji) negative, the next packet Dl in turn in the input buffer 4 is admitted to the processing means 2. If the credit value of any of the shapes SL S2 is below the first limit L 1S2. L 1 S2. the credit value of the other shaper S L S2 is not incremented above a respective second limit L2s l , L2S2. Limiting the credit value of any of the shapers S i , S2 to ^ the respective second limit L2S 1. L2S2. if the credit value of any other of the shapers S L S2 is below the first limit L1 S2, L1 S2, will reduce buffer capacity requirements of the processing means 2. This is explained by the following example:
io Independent shapers, allowing unlimited increase of credit levels regardless of credit levels in other shapers, can not prevent the situations described as follows; After a sequence of packets consuming a relatively large amount oϊ the first resource Rl and a relatively small amount of the second resource R2, i.e. in this example relatively long data packets, the credit value of the second shaper S2 will
S 5 reach a relatively high level. If such a packet sequence consuming a lot of the first resource Rl and little of the second resource R2 is followed by a sequence of packets consuming a relatively small amount of the first resource R i , i.e. in this example relatively short data packets, a burst of packets will be permitted until credit value CS2 of the second shaper S2 falls below the first limit I 1 S2,
?.-,■ Correspondingly, after a sequence of packets consuming a lot of the second resource R2 and a only a little of the first resource Rl, i.e. in this example relatively short data packets, the credit value of the first shaper S l will reach a high level, allowing a hurst of a following sequence of packets consuming a relatively small amount of the second resource R2, i.e. in this example relatively short data packels,
2^ until credit value CSl of the first shaper S l fails below the first limit L l S l .
The invention will prevent a build-up of large credit values during data sequences consuming a large amount of one resource in relation to another resource of the processor. This will significantly reduce burst sizes, which in turn will allow lower iθ downstream buffer capacity requirements In the case of the processing means 2 being an asynchronous processing pipeline, as described in said International patent application No. PCT/SE20SS5/0O I Q69, the invention will reduce requirements on processing clement buffers, in the form of a FIFO buffers, provided before the processing elements.
5 As mentioned, the shapers S l , S2 preferably use a loose token bucket algorithm, but alternatively, any other suitable admittance algorithm can be used, in case a so called strict token bucket algorithm is used, the first limits Ll S [ , Ll S2 can be positive, and the packet Dl is admitted to the processing means 2 when the credit values CS l, CS2 are at least as large so as to correspond to the respective first limits ;o L I S l . L 1 S2.
Where a strict token bucket algorithm is used, the first limit L I S L L 1 S2 of any or all of the shapcrs can be predetermined and identical for all data packets passing the respective shaper S l 5 S2. Alternatively, the first limit L l S L I 1 S2 can be individual
15 for each packet, in which case the respective shaper S l , S2 is adapted to read, before admittance, header information (e.g. of the type described above) of each data packet D i , D2, D3, and set the fust limit T 1 S 1 , Ll S2 based on the header information, For example, ihc header information of the respective daia packet Dl , D2, D3 could include a cost C l, C2, C3, corresponding to a first limit value I I S l,
^O L 1 S2 of one of the shapers, Sl. h2. fhus, from the header information of the first packet Dl in the input buffer 4, the cost C l is read, and the firsi limit value L l S l. L 1 S2 is determined a* I I S 1 (or L 1 S2 ) - C 1.
Further, where a strict token bucket algorithm is used, the second limit 1 2S L L2S2, ?" (above which the credit value of the respective shaper Sl , S2 is not incremented sf the credit value of the other shaper S i , S2 is below its first limit L1 S2, L1 S2), can either be identical with or higher than the first limit Ll S2. 1 1 S2, In the latter case, the second limit L2S 1 , L2S2 can be set individually for each packet to a value exceeding the first limit Ll S 1 , Ll S2 by a predetermined amount. Hg, 3 illustrates a further embodiment of the present invention, fhe processing means 2 presents more than two features in the form of resources Rl, R2... RX, which each can be any of a large amount of different types of fed? ures, For example, a first and a second resource Rl, R2 can be the bit rate capacity and the packet rate capacity, respectively, of the processing means 2, and farther resources can be processing elements, adapted to process data.
Admission to the processing means 2 is determined by shapers Sl. S2... SN, the amount of which is the same as the amount of processor means resources Rl, Ri ... !0 RN, The limitation property of the first shaper Sl is chosen based on the first resource Rl, and the limitation property oϊ the second shaper S2 is chosen based on the second resource R2, etc.
Preferably, each shaper Sl, S2... SN uses a token bucket algorithm, so that 15 admittance of data i^ based on a respective value CSl, CS2... CSN of a credit parameter. If a credit value CSl, CS2.,, CSN is below a first limit L1S2, L1S2. . LlSN, no data traffic is allowed to pass the respective shaper. Admittance of data traffic is carried out in a manner corresponding to what has been described above with reference to fig.1 and 2. fhυs, if the credit value CSl, CS2... CSN of any of Za the shapers Sl, S2... SN is below the respective first limit L1S2, L1S2... I ISN, the respective credit value CSL CS2 ,,. CSX is periodically, e.g. every clock cycle of the processor 1 , incremented by a respective fixed credit amount. The value of the respective fixed credit amount is based on the frequency of the periodic increments (e.g. every clock cycle) and the respective resource Ri , R2... RN.
If the credit value of any of the shapers Sl, S2 ,,. SN is below the respective first limit 1_1S2, 1_1S2 ,,. LlSX, the credit value of the other shapers Sl, S2... SN is not incremented above a respective second limit I 2Sl, 12S2. , L2SN, lhe second limit L2Sl, L2S2. , , I 2SN can be above or identical with the respective first limit ;-«i I IS2, 11S2...LlSN. In !hc embodiments described with reference io fig. 1-3, the data packet D l , D2, D3. the admission of which is based on the value CS2 of" the second credit parameter, is identical with the data packet, the admission of which is based on the value CS l of the first credit parameter. However, as exemplified below with
5 reference to fig. 4, the invention is also adaptable so that admittance of a first data packet to the processing means 2 is based on a value of a first credit parameter, the value of the first credit parameter being increased in dependence on a value of a second credit parameter, based on W'hich a second data packet is admitted to the processing means, the second data packet not being identical with the first data io packet. In the example in fig, 4, the first and second data packets enter the processor through separate interfaces.
Referring to fig. 4, a further embodiment of the invention is illustrated. Λ network processor 1 comprises processing means 2 in the form of an asynchronous
\ s processing pipeline 2, as described closer in said International patent application No. PCT7'SE2U05/ϋ01 %c', included herein by reference, including asynchronous processing elements Pl , ... PK and a synchronous element 8. with elastic buffering 9, 10. As in the case of the embodiment described with reference to fig, 1 and 2, the processing means 2 can alternatively be provided in another form, for example as
20 provided in a RISC-processor.
As described closer in said International patent application No. PCT/S1I2005/00 ! 969- included herein by reference, data packets D I l , . . DIM enter the processor through interfaces each comprising an input port 3 1 , 32, ... 3\1
?.5 and are stored in respective input buffers 41 . 42. 4M. in addition to which a pipeline arbiter 1 1, S L S2, . .. SM comprises a scheduler 1 1 and a plurality of shapers S I, S2, ... SM. In particular, for each pair of input port 31 , 32. ... 3 M and input buffer 4 1 , 42, ... 4M, a shaper S L S2, ... SM is provided. Admission to the pipeline 2 is determined by the shapers S L S2. ... SM and the scheduler 1 1. which operates
"io according to a Round Robin algorithm, access io the pipeline being given to the shapes s S L S2. ... SM in a continuous sequence of pollings by the scheduler 1 1. Besides the Round Robin algorithm, alternative scheduling disciplines could be used, for example weighted fair queuing, deficit round robin, deficit weighted round robin, strict priority queuing, earliest deadline first, and first-come first-serve.
5 Preferably, each shaper S l. S2 . .. SM uses a token bucket algorithm, so thai admittance of data is based on a respective value CS l, CS2 . .. CSM of a credit parameter. If a credit value Cb I, CS2 ... CSM is below a first limit Ll S2, Ll S2 . .. L I SM, no data traffic is allowed to pass the respective shaper. If the credit value CS i , CS2 ... CSM of any of the shapcrs S l, S2 ... bM is below the respective first
Ki limit L I S2. L1 S2 ... L l SM, the respective credit value CSl , CS2 ... CSM is periodically, e.g. every clock cycle of the processor I , incremented by a respective fixed credit amount. The value of the respective fixed credit amount is based on a resource of the processing means 2. for example the packet rate capacity thereof, the frequency of the periodic increments (e.g. every clock cycle) and the amount of
15 input ports 31. 32, ... 3M. The resource of the processing means 2, on which the fixed credit amount increments of the shapers S l , S2 . .. SM are based, can alternatively be the bit rate capacity of the processing means 2, or any other performance parameter thereof. As a further alternative, the fixed credit amount increments of different shapers S l . S2 ... SM can be based on different processing o elements P l , ... PK, 8 to which traffic from the respective shaper is addressed.
11 the credit value of any of the shapers SL S2 . .. SM is below the respective first limit I 1 S2, 1 1 S2 .. . L l SN, the credit value of the other shapers S l , S2 . .. SM is not incremented above a respective second limit L2S1 , 1 2S2 ... L2SM. fhe second zs limit L2S 1 , L2S2 . . L2SM can be above or identical with the respective first limit L1 S2. J 1 S2 .. . L 1 SM. 1 his prevents a build-up of a large credit in a shaper at an interface not receiving traffic, or receiving a relatively small How of traffic for a period time, so thai data burst from such an interface can be avoided when such a time period has passed, (It should be noted that in this presentation, a shaper being
:-o provided at an interface or an input port, indicates that it is either physically provided by, or functionally connected to the interface or the input port.) Still referring Io fig. 4. it should be mentioned that at each of the interfaces or input ports 31, 32, ... 3 M a plurality of shapers can be provided as described above with reference to fig. 1-3., the credit of the shapers at each interlace being respectively
S adjusted based on respective resources of the processing means. Thus, if the credit value of any of the shapers is below the respective first limit, the credit value of the other shapers at the same interface is not incremented above a respective second limit. Alternatively, if the credit value of any of the shapers is below the respective first limit, the credit value of ail other shapers, including the ones at other interfaces,
Ϊ O is not incremented above a respective second limit.
Alternatively or in addition, any of the embodiments described above with reference to fig, 1-4 can be adjusted so that, if any of the input buffers 4, 4 L 42, ... 4 M is empty, the credit value of the shaper (or shapers}, adapted to receive traffic from ! 5 this input buffer 4, 41 , 42, ... 4M, is not incremented above the second limit L2S 1 , L2S2 ... L2SM. This prevent a build-up of a large credit in a shaper at an interface noi receiving traffic, or receiving a relatively small flow of traffic for a period time, so that data burst from such an interface can be avoided when such a time period has passed.
20

Claims

CI AIMS
1. A method for a processor (1 ) comprising processing means (2 s, the method comprising the steps of
: - admitting a data packet (Dl, D2. D3) to the processing means (2) based at least partly on a -value (CS l) of a first credit parameter and a first limit (L l S D of the first credit paramo! er. and
- decreasing the value (CS I j of the first credit parameter if the data packet (L)L D2, D3) is admitted to the processing means (2), characterized by the
) step of
- increasing the value (CSl ) of the first credit parameter, in dependence on a value (CS2) υf a second credit parameter, hascd on which a data packet (Dl , D2. D3) is admitted to the processing means (2)
5 2. A method according to claim 1. comprising the step of comparing the value
(CS l) of the first credit parameter to a second limit (L2S 1) of the first credit parameter, the value (CS 1) of the first credit parameter not being increased, so as to become larger that the second limit (L 2S l ) of the firs! credit parameter, if the value (CS2) of the second credit parameter is below a first limit (Ll S2) of the second credit parameter,
3 A method according to claim 2, wherein the second limit (L 2 S i ) of the first credit paiameter is higher than the first limit (Ll S Ij of the first credit parameter.
4. Λ method according to an> of she preceding claims, wherein the step of increasing the value (CS l) of the first credit parameter is based at least partly on a firs! resource (Rl ) or a second resource (R2) of the processing means (2)
5. A method according to claim 4, wherein the first resource (R l) is a bit rate capacity of the processing means (2), and the second resource (R2) is a data packet rate capacity of she processing means. (2).
6. A method according to any of the preceding claims, wherein the value
(CS2) of the second credit parameter is decreased if the data packet (D l , U2, D3) is admitted to the processing means (2).
7 A method for a processor ( I ) comprising processing means (2), the method comprising the steps of
- admitting a data packet (Dl . D2, D3) to the processing means (2) based at least partly on a value ^CSl) of a first credit parameter and a first limit
(J , I S i ) of the first credit parameter, and
- decreasing the value (CS 1) of the first credit parameter if the data packet (D 1 , D2. D3) is admitted to the processing means (2), characterized by the step of
- increasing the value (CS l ) of the first credit parameter, in dependence on a data storage level in a buffer (4, 4 1 , 42, ... 4M) in which the data packet is stored before admitted to the processing means (2),
8 A method according to claim 7, wherein the value (CS I j of the first credit parameter is not increased, so as to become larger that the second limit (L2S 1 ) of the first credit parameter, if the buffer (4, 41, 42, ... 4M) is empϊy.
9, A processor (1) comprising processing means (2), the processor being adapted to
- admit a data packet (D l, 1)2, D3) to the processing means (2) based at least πartlv on a value (CS i ) of a first credit parameter and a first limit (Ll Sl) of the first credit parameter, and - decrease the value (CS 1 ) of the first credit parameter if the data packet (D 1 , D2, D3) is admitted to the processing means (2). characterized in that the processor is adapted to increase the value (CS l) of the first credit parameter, in dependence on a 5 value (CS2) of a second credit parameter, ba^ed on which a data packet (D ! ,
D2, D3) is admitted to the processing means (2).
10, A processor according to claim 9. bemg adapted to compare the value
(CSl ) of the first credit parameter to a second limit (L2S 1 ) υf the first 10 credit parameter, and to not increase the value (CS l ) of the first credit parameter, so as to become larger that the second limit (L2S 1 ) of the first credit parameter, if the value (CS2) of the second credit parameter is below a first limit (Ll S2) of the second credit parameter.
\ 5
1 1. A processor according to claim 10, wherein the second limit (L2S 1) of the first credit parameter is higher than the first limit (I I SO of the first credit parameter.
12. A processor according to any of the claims 9-11 , adapted to increase, based Λ> at least partly on a first resource (R l) or a second resource (Rl) of the processing means (2). the value (CS 1) of the first credit parameter.
13. A processor according to claim 12, wherein the first resource (R l) is a bit rate capacity of the processing means (2), and the second resource ( R2) 25 is a data packet rate capacity of the processing means (2).
14. A processor according to any of the claims c'~ !3, adapted to decrease the value (CS2) of the second credit parameter if the data packet (D l, D2, D3 ) is admitted to the processing means (2 ).
15, A processor tor a processor fvl) comprising processing means (2). the processor being adapted io
~ admit a data packet { D i , D2, F) 3 ) to the processing means (2) based at least partly on a value (Cb I) of a first credit parameter and a first limit (Ll Sl) of the first credit parameter, and
- decrease the value (CS l) of the first credit parameter if the data packet (D L D2, 1)3) is admitted to the processing means (2), characterized in that the processor is adapted to increase the value (CS 1 ) of die first credit parameter, in dependence on a data storage level in a buffer (4, 4 L 42. ... 4M) adapted to store the data packet before admitted to the processing means (2).
16. Λ processor according to claim IS, being adapted to not increase the value
(CSl ) of the first credit parameter, so as to become larger that the second limit (L2S 1) of the first credit parameter, if the buffer (4. 4 L 42,
... 4M) is empty,
PCT/EP2007/055777 2006-06-22 2007-06-12 A processor and a method for a processor WO2007147756A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE602007002718T DE602007002718D1 (en) 2006-06-22 2007-06-12 PROCESSOR AND METHOD FOR A PROCESSOR
EP07730098A EP2036267B1 (en) 2006-06-22 2007-06-12 A processor and a method for a processor
CN2007800232609A CN101473614B (en) 2006-06-22 2007-06-12 Processor and method for processor
US12/306,029 US8171478B2 (en) 2006-06-22 2007-06-12 Method for packet flow control using credit parameters with a plurality of limits
AT07730098T ATE445277T1 (en) 2006-06-22 2007-06-12 PROCESSOR AND METHOD FOR A PROCESSOR
US13/457,001 US8522246B2 (en) 2006-06-22 2012-04-26 Method for packet flow control using credit parameters with a plurality of limits
US13/960,954 US8997105B2 (en) 2006-06-22 2013-08-07 Method for packet flow control using credit parameters with a plurality of limits

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE0601389 2006-06-22
SE0601389-0 2006-06-22
US81709506P 2006-06-29 2006-06-29
US60/817,095 2006-06-29

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/306,029 A-371-Of-International US8171478B2 (en) 2006-06-22 2007-06-12 Method for packet flow control using credit parameters with a plurality of limits
US13/457,001 Continuation US8522246B2 (en) 2006-06-22 2012-04-26 Method for packet flow control using credit parameters with a plurality of limits

Publications (1)

Publication Number Publication Date
WO2007147756A1 true WO2007147756A1 (en) 2007-12-27

Family

ID=38669965

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/055777 WO2007147756A1 (en) 2006-06-22 2007-06-12 A processor and a method for a processor

Country Status (6)

Country Link
US (3) US8171478B2 (en)
EP (1) EP2036267B1 (en)
AT (1) ATE445277T1 (en)
DE (1) DE602007002718D1 (en)
TW (1) TWI435574B (en)
WO (1) WO2007147756A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2426874A1 (en) * 2010-09-06 2012-03-07 Hitachi Ltd. Bandwidth control method and bandwidth control device
US9240953B2 (en) 2008-04-24 2016-01-19 Marvell International Ltd. Systems and methods for managing traffic in a network using dynamic scheduling priorities

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483194B1 (en) * 2009-01-21 2013-07-09 Aerohive Networks, Inc. Airtime-based scheduling
US8442056B2 (en) 2011-06-28 2013-05-14 Marvell International Ltd. Scheduling packets in a packet-processing pipeline
US9280503B2 (en) * 2013-04-12 2016-03-08 Apple Inc. Round robin arbiter handling slow transaction sources and preventing block
US10649796B2 (en) 2014-06-27 2020-05-12 Amazon Technologies, Inc. Rolling resource credits for scheduling of virtual computer resources
US9900253B2 (en) * 2014-08-28 2018-02-20 Cavium, Inc. Phantom queue link level load balancing system, method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline
DE102004024407A1 (en) * 2003-05-14 2004-12-09 Extreme Networks, Santa Clara Rate color marker

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3519099A (en) * 1999-03-18 2000-10-09 Nokia Corporation Overload control method for a packet-switched network
US6992984B1 (en) * 2000-03-07 2006-01-31 Lucent Technologies Inc. Credit-based adaptive flow control for multi-stage multi-dimensional switching architecture
US6950395B1 (en) * 2000-12-31 2005-09-27 Cisco Technology, Inc. Method and apparatus for a token bucket metering or policing system with a delayed filling scheme
AU2002326752A1 (en) * 2001-08-24 2003-03-10 Intel Corporation (A Delaware Corporation) (A Delawware Corporation) A general input/output architecture protocol and related methods to manage data integrity
US6798741B2 (en) 2001-12-05 2004-09-28 Riverstone Networks, Inc. Method and system for rate shaping in packet-based computer networks
US7447155B2 (en) 2002-06-17 2008-11-04 Intel Corporation Guaranteed service in a data network
AU2003245225A1 (en) 2002-07-19 2004-02-09 Xelerated Ab Method and apparatus for pipelined processing of data packets
TWI263429B (en) 2004-06-30 2006-10-01 Reti Corp System and method for correlated token bucket shapers
WO2006068595A1 (en) 2004-12-22 2006-06-29 Xelerated Ab A method for reducing buffer capacity in a pipeline processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline
DE102004024407A1 (en) * 2003-05-14 2004-12-09 Extreme Networks, Santa Clara Rate color marker

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9240953B2 (en) 2008-04-24 2016-01-19 Marvell International Ltd. Systems and methods for managing traffic in a network using dynamic scheduling priorities
EP2426874A1 (en) * 2010-09-06 2012-03-07 Hitachi Ltd. Bandwidth control method and bandwidth control device

Also Published As

Publication number Publication date
ATE445277T1 (en) 2009-10-15
US20120210327A1 (en) 2012-08-16
TWI435574B (en) 2014-04-21
DE602007002718D1 (en) 2009-11-19
US8171478B2 (en) 2012-05-01
US20090183164A1 (en) 2009-07-16
US8997105B2 (en) 2015-03-31
TW200818781A (en) 2008-04-16
EP2036267A1 (en) 2009-03-18
US20130326530A1 (en) 2013-12-05
EP2036267B1 (en) 2009-10-07
US8522246B2 (en) 2013-08-27

Similar Documents

Publication Publication Date Title
US8997105B2 (en) Method for packet flow control using credit parameters with a plurality of limits
CN101057481B (en) Method and device for scheduling packets for routing in a network with implicit determination of packets to be treated as a priority
US8250231B2 (en) Method for reducing buffer capacity in a pipeline processor
CN1097913C (en) ATM throttling
CN1938992B (en) Method and device for weighted random scheduling
CN106533982B (en) The dynamic queue&#39;s dispatching device and method borrowed based on bandwidth
CN102301664B (en) Method and device for dispatching streams of multicore processor
CN102594891A (en) Method and system for processing remote procedure call request
CN107483363A (en) A kind of Weight Round Robin device and method of layering
CN112491983A (en) Intelligent contract scheduling method, device, equipment and storage medium based on block chain
CN102811176B (en) A kind of data flow control method and device
CN100477630C (en) Queue dispatching method and apparatus in data network
CN111555984B (en) Method and device for data transmission, smart home equipment and storage medium
US7350208B1 (en) Method and apparatus for scheduling using a resource variable decreased by amounts corresponding to the efficiency of the resource
Zhang et al. Reco: Efficient regularization-based coflow scheduling in optical circuit switches
US7385987B1 (en) Scheduling system and method for multi-level class hierarchy
Huang et al. Exploiting inter-flow relationship for coflow placement in datacenters
CN1373959A (en) Method and system for transmitting chain of messages for database
CN111858019B (en) Task scheduling method and device and computer readable storage medium
TWI394078B (en) A method for a processor, and a processor
CN101473614B (en) Processor and method for processor
Tyan A rate-based message scheduling paradigm
CN113438177A (en) Method and device for limiting number outbound, electronic equipment and storage medium
Xin Sunny Huang Exploiting Inter-Flow Relationship for Coflow Placement in Datacenters
CN115835402A (en) Time-sensitive network flow scheduling method and device based on data frame dynamic priority

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780023260.9

Country of ref document: CN

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

Ref document number: 07730098

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 12306029

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007730098

Country of ref document: EP