CN114745342A - 分时多任务排程器与装置 - Google Patents

分时多任务排程器与装置 Download PDF

Info

Publication number
CN114745342A
CN114745342A CN202011547219.5A CN202011547219A CN114745342A CN 114745342 A CN114745342 A CN 114745342A CN 202011547219 A CN202011547219 A CN 202011547219A CN 114745342 A CN114745342 A CN 114745342A
Authority
CN
China
Prior art keywords
scheduler
value
current
current count
packet transmission
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.)
Granted
Application number
CN202011547219.5A
Other languages
English (en)
Other versions
CN114745342B (zh
Inventor
吕国正
潘钰梅
林永昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202011547219.5A priority Critical patent/CN114745342B/zh
Publication of CN114745342A publication Critical patent/CN114745342A/zh
Application granted granted Critical
Publication of CN114745342B publication Critical patent/CN114745342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种分时多任务排程器,能够决定N个封包传输需求者的一服务顺序。所述分时多任务排程器包括N个当前计数值产生器与一最早届期排程器。所述N个当前计数值产生器分别用来服务所述N个封包传输需求者,并依据所述N个封包传输需求者的参数、所述最早届期排程期先前产生的一最近排程结果、以及一默认计数规则产生N个当前计数值。所述最早届期排程器用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果用于决定所述服务顺序,所述N个当前计数值中的一极值关联所述N个封包传输需求者的其中之一,所述最早届期排程器依据所述默认紧急度判断规则选择此需求者作为一最优先对象。

Description

分时多任务排程器与装置
技术领域
本发明涉及排程器与排程装置,特别是涉及分时多任务排程器与分时多任务排程装置。
背景技术
一般的交换器(例如:以太网络交换器)利用分时多任务(time-divisionmultiplexing;TDM)技术处理多个传输端口的封包传输;更明确地说,所述交换器于一个时槽(time slot)内处理一个传输端口的封包传输,而于连续的多个时槽内依据一预定顺序处理所述些传输端口的封包传输。当所述些传输端口的输入/输出带宽(I/O bandwidth)的总合大于所述交换器的核心带宽(core bandwidth)时,所述交换器无法完全满足所有传输端口的带宽要求,此情形称为超额认购(oversubscription;OS);此时,所述交换器会基于所述些传输端口的属性,完全地满足处于全线速(line rate)模式的传输端口的带宽要求,并满足处于超额认购模式的传输端口的部分带宽要求。
承上所述,一般的网络交换器是以人工方式来规划多份TDM表包括全线速TDM表与超额认购TDM表,以定义前述预定顺序,从而分配时槽给多个传输端口进行封包传输。然而,上述作法耗费人力,须因应不同的传输端口数量规划不同的TDM表,也难以公平地分配带宽给处于超额认购模式的传输端口。
发明内容
本申请的目的之一在于提供一种分时多任务排程器与装置,以避免现有技术的问题。
本申请的TDM排程器的一实施例能够决定N个封包传输需求者的一服务顺序,所述N为大于一的整数。所述实施例包括N个当前计数值产生器与一最早届期(earliest duedate;EDD)排程器。所述N个当前计数值产生器分别用来服务所述N个封包传输需求群组。所述N个当前计数值产生器依据所述N个封包传输需求群组的参数、一最近排程结果以及一默认计数规则产生N个当前计数值。所述最早届期排程器用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果,所述当前排程结果决定所述服务顺序,所述最近排程结果是所述最早届期排程器先前产生的。
本申请的TDM排程器的另一实施例能够决定N个封包传输需求者的一服务顺序,所述N个封包传输需求者包括一第一需求者与一第二需求者。所述实施例包括N个当前计数值产生器以及一最早届期排程器。所述N个当前计数值产生器分别用来服务所述N个封包传输需求者;每个当前计数值产生器用来产生一计数值;所述N个当前计数值产生器共产生N个当前计数值。所述N个当前计数值产生器包括一第一计数值产生电路与一第二计数值产生电路分别用来服务前述第一需求者与一第二需求者。所述第一(第二)计数值产生电路包括:一第一(第二)储存电路,用来储存所述第一(第二)需求者的第一(第二)参数配置;以及一第一(第二)计数电路,用来依据多个第一(第二)输入参数与一默认计数规则更新一第一(第二)先前计数值,以产生所述N个当前计数值的一第一(第二)当前计数值,所述多个第一(第二)输入参数包括所述第一(第二)参数配置与所述第一(第二)先前计数值,所述第一先前计数值源自于所述EDD排程器先前产生的一最近排程结果,所述第一(第二)先前计数值与所述第一(第二)当前计数值均落于一第一(第二)计数范围内,所述第一(第二)计数范围由所述第一(第二)参数配置而定,且包括一第一(第二)极值。所述EDD排程器用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果用于决定所述服务顺序;举例而言,所述N个当前计数值中的一极值关联所述N个封包传输需求者的其中之一,所述EDD排程器依据所述默认紧急度判断规则选择所述极值所关联的需求者作为一最优先对象。
本申请的TDM排程装置的一实施例包括一TDM排程器与一传输端口排程器。所述TDM排程器包括N个当前计数值产生器与一EDD排程器。所述N个当前计数值产生器分别用来服务N个封包传输需求群组;所述N个当前计数值产生器依据所述N个封包传输需求群组的参数、所述EDD排程器先前产生的一最近排程结果、以及一默认计数规则产生N个当前计数值。所述EDD排程器用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果。所述传输端口排程器包括N个排程电路与一多任务器。所述N个排程电路分别用来服务所述N个封包传输需求群组;所述N个封包传输需求群组的每一个包括至少一传输端口,每个排程电路用来依据一默认算法选择所述排程电路所服务的所述封包传输需求群组的一传输端口,因此,所述N个排程电路共选择N个传输端口。所述多任务器用来依据所述当前排程结果所指出的一最优先对象输出一传输端口选择信号指出所述N个传输端口的其中之一作为一获选传输端口,从而允许所述获选传输端口进行传输;所述最优先对象为所述N个封包传输需求群组的其中之一;所述获选传输端口为所述最优先对象的M个传输端口的其中之一,所述M为正整数。
有关本发明的特征、实作与功效,现配合附图作优选实施例详细说明如下。
附图说明
图1显示本申请的分时多任务排程器(TDM排程器)的一实施例;
图2显示图1的每个当前计数值产生器的一实施例;
图3显示图1的最早届期排程器(EDD排程器)的一实施例;
图4显示图1的分时多任务排程器的一应用实例;
图5显示图4的实例的时槽分配结果;
图6显示一补偿值如何用于一时槽分配结果;以及
图7显示本申请的分时多任务排程装置的一实施例。
具体实施方式
本申请的分时多任务排程器(time-division multiplexing scheduler;TDMscheduler)与装置能够自动地为多个封包传输需求者分配时槽,除能大幅节省人力,也能快速地实现时槽分配的规划。所述TDM排程器与装置可用于一网络装置(例如:以太网络交换器)中,然其应用不限于此。
图1显示本申请的TDM排程器的一实施例。图1的TDM排程器100能够决定N个封包传输需求者MG1~MGn(例如:N个媒体访问控制群(media access control groups;MACgroups),每个MAC群包括至少一传输端口)的一服务顺序,所述N为大于一的整数。TDM排程器100包括N个当前计数值产生器110-1~110-n以及一最早届期排程器120。
请参阅图1。N个当前计数值产生器110-1~110-n分别用来服务N个封包传输需求者MG1~MGn。N个当前计数值产生器110-1~110-n的每一个用来产生一当前计数值MGk_DCNT_VAL(1≤k≤n);因此,N个当前计数值产生器110-1~110-n产生N个当前计数值MG1_DCNT_VAL~MGn_DCNT_VAL。每个当前计数值产生器110-k(1≤k≤n)的一实施例包括一储存电路112-k(1≤k≤n)(例如:缓存器)与一计数电路114-k(1≤k≤n),如图2所示。储存电路112-k用来储存封包传输需求者MGk的参数配置。计数电路114-k用来依据封包传输需求者MGk的多个输入参数(例如:封包传输需求者MGk的参数配置以及一最近排程结果如后所述)与一默认计数规则,更新封包传输需求者MGk的一先前计数值,以产生封包传输需求者MGk的当前计数值MGk_DCNT_VAL,第k时槽的先前计数值是第(k-1)时槽的当前计数值。本领域的普通技术人员可依据本申请,利用一已知计数器与一控制电路(未显示于图)来实现计数电路114-k,所述控制电路用来开始与暂停所述已知计数器的计数,并用来重置所述计数器(或说载入所述计数器的初始计数值)。
承上所述,所述默认计数规则的一实施例包括一递减/递增计数规则与一例外规则。当所述多个输入参数不满足所述例外规则所定义的例外情形时,计数电路114-k减少/增加所述先前计数值达一默认值(例如:1),以产生所述当前计数值;而当所述多个输入参数满足所述例外规则所定义的例外情形时,计数电路114-k可依例外情形的种类执行下列操作的至少其中之一:当封包传输需求者MGk于第K时槽获选为一最优先对象或者因无优先服务需求而让出第K时槽的传输机会时,加载计数电路114-k的初始计数值MGk_DCNT_INIT(说明于后面段落)作为它在第(K+1)时槽的当前计数值;当封包传输需求者MGk于第K时槽未获选为所述最优先对象且计数电路114-k的第(K+1)时槽的先前计数值(亦即:计数电路114-k的第K时槽的当前计数值)是它的计数范围内的极值(例如:最小值或最大值)时,输出所述先前计数值作为计数电路114-k的第(K+1)时槽的当前计数值;当封包传输需求者MGk设定在超额认购模式且于第K时槽获选为所述最优先对象时,若它的计数电路114-k的第K时槽的当前计数值不是计数电路114-k的计数范围内的极值,减少/增加其它设定在超额认购模式的封包传输需求者的每一个的计数电路的第(K+1)时槽的先前计数值达一补偿值(例如:所述默认值加上一差值如后所述),以产生此计数电路的第(K+1)时槽的当前计数值。本实施例中,封包传输需求者MGk的多个输入参数包括它的参数配置与它的先前计数值,所述参数配置包括计数电路114-k的初始计数值MGk_DCNT_INIT;封包传输需求者MGk的先前计数值与当前计数值均落于一计数范围内,所述计数范围由所述参数配置而定,且包括一极值(例如:所述计数范围内的最小值或最大值),所述计数范围内的另一极值(例如:所述计数范围内的最大值或最小值)可作为所述先前计数值的初始计数值,且所述计数范围(亦即:所述计数范围内的最大值减去最小值)正比于封包传输需求者MGk被分配的带宽。
承上所述,封包传输需求者MGk的先前计数值源自于一最近排程结果;更明确地说,EDD排程器120所产生的第(K-1)时槽的当前排程结果会作为第K时槽的最近排程结果输出给N个当前计数值产生器110-1~110-n,且EDD排程器120所产生的第K时槽的当前排程结果会作为第(K+1)时槽的最近排程结果输出给N个当前计数值产生器110-1~110-n。另外,封包传输需求者MGk的参数配置可依封包传输需求者MGk的模式(例如:全线速模式或超额认购模式)、所述封包传输需求者的带宽要求以及一核心带宽(例如:包括TDM排程器100的网络装置的核心带宽)而定。举例而言,在所述核心带宽小于所述N个封包传输需求者的带宽要求的总和的情形下,通过每个封包传输需求者的参数配置(尤其是前述计数范围的设定),所述参数配置会优先满足全线速模式的需求者的带宽要求,再以最大努力原则来服务超额认购模式的需求者的部分带宽要求。
请参阅图1。EDD排程器120用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果用于决定所述服务顺序,并可选择性地进一步依据N个封包传输需求者MG1~MGn的至少一部分的传输需求状态(例如:储存所述/所述多个封包传输需求者的待传输封包的缓冲器的状态)与各封包传输需求者所处的模式(例如:全线速模式或超额认购模式)来产生所述当前排程结果。举例而言,所述N个当前计数值中的一极值(例如:当所述默认计数规则采用前述递减计数规则,所述极值为所述N个当前计数值中的最小值;或者当所述默认计数规则采用前述递增计数规则,所述极值为所述N个当前计数值中的最大值)关联所述N个封包传输需求者的其中之一(后称第一目标需求者),EDD排程器120依据所述默认紧急度判断规则选择所述第一目标需求者作为一最优先对象;然而,当EDD排程器120依据所述默认紧急度判断规则发现所述第一目标需求者无优先服务需求时,EDD排程器120可依据所述默认紧急度判断规则选择其它封包传输需求者的其中之一(后称第二目标需求者)作为所述最优先对象,所述第二目标需求者所关联的当前计数值可能是:
(1)所述N个当前计数值中的所述极值。此情形下所述第二目标需求者的顺位低于所述第一目标需求者的顺位,但高于其它也关联所述极值的封包传输需求者(若有的话)的顺位。EDD排程器120是依据一默认顺序得知所述N个封包传输需求者的顺位。
(2)所述N个当前计数值中的一次极值(例如:所述N个当前计数值中的次小值或次大值)。此情形下,所述第二目标需求者以外的其它封包传输需求者所关联的当前计数值均不等于(小于或大于)所述次极值,或者所述第二目标需求者的顺位高于其它也关联所述次极值的封包传输需求者的顺位。
图3显示图1的EDD排程器120的一实施例。如图3所示,EDD排程器120包括一转换电路122与一决定电路124。转换电路122用来依据一默认转换规则将所述N个当前计数值转换为N个优先值。决定电路124用来依据所述N个优先值产生所述当前排程结果;本实施例中,决定电路124决定所述N个优先值中的极值(例如:最小值或最大值)所关联的封包传输需求者为所述最优先对象。
请参阅图3。于一实作实例中,转换电路122依据所述默认转换规则参考所述N个封包传输需求者各自的传输需求状态MGk_PGAE_VLD(1≤k≤n)(例如:储存封包传输需求者MGk的待传输封包的缓冲器的状态),以产生所述N个优先值;所述传输需求状态为一第一状态或一第二状态,所述第一状态表示有至少一待传送封包,所述第二状态表示没有任何待传送封包;处于所述第二状态的所有封包传输需求者无优先服务需求,因此,转换电路122可选择性地将这种封包传输需求者的当前计数值转换为一最低优先值,所述最低优先值可视实施需求而预设。另外,对于无优先服务需求且让出传输机会的封包传输需求者MGk,转换电路122可输出一重载信号RELOAD_MG,以通知计数电路114-k加载它的初始计数值MGk_DCNT_INIT如前所述。
请参阅图3。于一实作实例中,转换电路122依据所述默认转换规则参考所述N个封包传输需求者的每一个的一最小服务间隔状态值MGk_MIN_VLD(1≤k≤n),以产生所述N个优先值。所述最小服务间隔状态值指出它所关联的一封包传输需求者是否已达到未被服务的一时间门槛;当所述封包传输需求者持续未被服务的时间已达到所述时间门槛时(亦即:当所述最小服务间隔状态值为一特定值如后所述),所述封包传输需求者有资格作为所述最优先对象;当所述封包传输需求者持续未被服务的时间未达到所述时间门槛,转换电路122可选择性地将所述封包传输需求者的当前计数值转换为所述最低优先值。
请参阅图3。于一实作实例中,对于未让出传输机会且达到所述时间门槛的全线速模式的封包传输需求者,若它的/它们的当前计数值不是它的/它们的计数范围内的极值,转换电路122依据所述默认转换规则将它的/它们的当前计数值转换为所述最低优先值,否则将它的/它们的当前计数值当作它们的优先值。于一实作实例中,对于未让出传输机会且达到所述时间门槛的超额认购模式的封包传输需求者,转换电路122依据所述默认转换规则将它的/它们的当前计数值当作它们的优先值。
值得注意的是,最小服务间隔状态值MGk_MIN_VLD可由前述当前计数值产生器110-k产生;举例而言,封包传输需求者MGk的参数配置包括所述需求者MGk的最小服务间隔值MCNTk(例如:正整数);当前计数值产生器110-k于一开始计数时加载所述最小服务间隔值MCNTk,且每经过至少一时槽,当前计数值产生器110-k递减所述最小服务间隔值MCNTk;当MCNTk不为零时,当前计数值产生器110-k据以产生所述最小服务间隔状态值为一第一值(例如:0)指出需求者MGk尚不能作为所述最优先对象;当MCNTk为零时,当前计数值产生器110-k据以产生所述最小服务间隔状态值为一第二值(例如:1)指出需求者MGk可作为所述最优先对象。
图4显示图1的TDM排程器100的一应用实例。此实例中,TDM排程器100包括于一以太网络交换器400,以太网络交换器400的核心带宽(或称核心全线速带宽)为400Gbps的。TDM排程器100用来分配时槽给六个封包传输需求者MG1~MG6(例如:六个以太网络传输端口),以允许它们于分配到的时槽内传输封包,MG1~MG4的每一个的输入/输出带宽(或称需求带宽)为100Gbps,MG5~MG6的每一个的输入/输出带宽为50Gbps,MG1~MG3处于全线速模式,MG4~MG6处于超额认购模式。基于MG1~MG6所处的模式,TDM排程器100会分配100Gbps的交换器核心带宽给MG1~MG3的每一个,并将剩下的交换器核心带宽100Gbps分配给MG4~MG6共享。
请参阅图4。TDM排程器100可通过前述每个封包传输需求者的参数配置来实现上述分配。举例而言,TDM排程器100或一外部装置(未显示于图)可计算/设定MG1~MG3的每一个所关联的计数范围为
Figure BDA0002856754250000071
(例如:数值3到数值0,其表示所述封包传输需求者可使用总核心带宽的
Figure BDA0002856754250000072
),计算/设定MG4所关联的计数范围为
Figure BDA0002856754250000073
(例如:数值8到数值1,其表示所述封包传输需求者可使用总核心带宽的
Figure BDA0002856754250000074
),以及设定MG5~MG6的每一个所关联的计数范围为
Figure BDA0002856754250000075
(例如:数值16到数值1,其表示所述封包传输需求者可使用总核心带宽的
Figure BDA0002856754250000076
)。值得注意的是,本领域的普通技术人员能够依据本申请利用已知或自行开发的电路来实现上述范围的计算/设定。另值得注意的是,若计算出的计数范围带有小数时,TDM排程器100/所述外部装置可将所述小数无条件舍去(chop);然此并非本发明的实施限制。
图5显示图4的实例的时槽分配结果,每个时槽对应一最优先对象(例如:获选的传输端口)可于所述时槽内传输封包。如图5所示,MG1~MG6的预设顺位为MG1>MG2>MG3>MG4>MG5>MG6,其由一默认顺序来决定,所述默认顺序指出全线速模式的需求者的顺位高于超额认购模式的需求者的顺位,且带宽需求高的需求者的顺位高于带宽需求低的需求者的顺位;然所述默认顺序的安排不限于上述作法,可依实施需求而定。图5显示:
(1)所有需求者MG1~MG6于一开始的数值(亦即:前述的当前计数值)为它们所关联的计数范围内的极值(在此为最小值)。值得注意的是,全线速模式的需求者的极值(在图4的实例中为0)不同于超额认购模式的需求者的极值(在图4的实例中为1),以确保全线速模式的需求者的时槽分配优先度高于超额认购模式的需求者的时槽分配优先度。
(2)TDM排程器100(主要是EDD排程器120)从对应第K时槽(K为正整数)的六个当前计数值MG1_DCNT_VAL~MG6_DCNT_VAL中选出一极值(在此为最小值),并将所述极值所关联的需求者当作一最优先对象(例如:第0时槽的最小值0所关联的需求者MG1);倘当所述六个当前计数值中有多个计数值同为所述极值,TDM排程器100依据前述默认顺序选择所述多个需求者中一最高顺位者作为所述最优先对象。
(3)承(2),在选出所述最优先对象后,所有第K时槽的当前计数值被当作第(K+1)时槽的先前计数值,TDM排程器100(主要是N个当前计数值产生器110-1~110-n)依据所述些先前计数值产生第(K+1)时槽的当前计数值,TDM排程器100执行下列操作:加载第K时槽的最优先对象的初始计数值(例如:第0时槽的最优先对象MG1的初始计数值3)作为它的第(K+1)时槽的当前计数值;若一未获选的需求者的第(K+1)时槽的先前计数值不是所述需求者所关联的计数范围内的最小值,将所述需求者的第(K+1)时槽的先前计数值减去一默认值/补偿值如前所述,以产生它的第(K+1)时槽的当前计数值趋近所述极值;若一未获选的需求者的第(K+1)时槽的先前计数值是所述需求者所关联的计数范围内的最小值,将所述需求者的第(K+1)时槽的先前计数值当作它的第(K+1)时槽的当前计数值(亦即:维持所述需求者的当前计数值不变);然后TDM排程器100(主要是EDD排程器120)从对应第(K+1)时槽的六个当前计数值中选出一极值(在此为最小值),并将所述极值所关联的需求者当作一最优先对象。
(4)在上述第(2)~(3)点中,TDM排程器100(主要是EDD排程器120)可选择性地参考MG1~MG6的至少一部分的传输需求状态如前所述,以决定所述最优先对象。值得注意的是,对于第K时槽无优先服务需求的封包传输需求者而言,若它原本是最优先的对象且设定在全线速模式,TDM排程器100也会加载它的初始计数值作为它的第(K+1)时槽的当前计数值。另值得注意的是,若全线速模式的封包传输需求者无优先服务需求,它的传输机会可限定于仅能让给超额认购模式的封包传输需求者;然此并非本发明的实施限制。
(5)在上述第(2)~(3)点中,TDM排程器100(主要是EDD排程器120)可选择性地参考MG1~MG6的每一个的最小服务间隔状态值如前所述,以决定所述最优先对象。
值得注意的是,虽然图4-5的实例中,TDM排程器100(主要是N个当前计数值产生器110-1~110-n)是采用递减计数规则,但本领域的普通技术人员可据以类推采用递增计数规则时的情形;因此,重复及冗余的说明在此省略。
图6为一实例显示前述补偿值如何用于一时槽分配结果。图6的实例中,MG1和MG2都是设定在超额认购模式,当中封包传输需求者MG1的计数范围为数值5至数值1,而封包传输需求者MG2的计数范围为数值10至数值1。请参阅图6,于一第一情形下(例如:竞争时槽的需求者较多的情形),MG1每5个时槽获得一次传输机会(亦即:被选为最优先对象),MG2每10个时槽获得一次传输机会,且MG1与MG2的每一个是在它的当前计数值为它的计数范围内的最小值时获得传输机会;于一第二情形下(例如:竞争时槽的需求者较少的情形),MG1每4个时槽获得一次传输机会,MG2每8个时槽获得一次传输机会,此时,MG1是在它的当前计数值不是它的计数范围内的最小值时获得传输机会,因此,当MG1于第K时槽(例如:图6的第二情形的第4时槽)获得传输机会,MG2于第(K+1)时槽的当前计数值会是:MG2的第K时槽的当前计数值减去所述默认值(在此为1),再减去MG1的第K时槽的当前计数值与MG1的计数范围内的最小值(在此为1)之间的差值,所述默认值与所述差值的和为所述补偿值。
图7显示本申请的分时多任务排程装置的一实施例,能够决定N个封包传输需求群组MG1~MGn的一服务顺序。图7的实施例适用于N个封包传输需求群组MG1~MGn的至少其中之一包括多个传输端口的情形。图7的TDM排程装置700可用于一网络装置(例如:以太网络交换器),并包括一TDM排程器710(例如:图1的TDM排程器100)与一传输端口排程器720,TDM排程器710用来选出N个封包传输需求群组MG1~MGn的其中之一。如前所述,传输端口排程器720用来决定选择获选的封包传输需求群组的M个传输端口的哪一个,所述M为正整数。
请参阅图7。传输端口排程器720包括N个排程电路722-1~722-n、一第一多任务器724与一第二多任务器726。每个排程电路722-k(1≤k≤n)用来服务一封包传输需求群组MGk,所述封包传输需求群组MGk包括至少一传输端口。每个排程电路722-k用来依据多个排程参数与一默认算法(例如:已知的加权式轮询(Weighted round robin;WRR)算法,或自定义的加权式轮询算法),输出一传输端口选择信号MGk_SEL_PORT指出封包传输需求群组MGk的一传输端口;因此,N个排程电路722-1~722-n共输出了N个传输端口选择信号MG1_SEL_PORT~MGn_SEL_PORT指出N个传输端口。本实施例中,每个排程电路722-k所接收的排程参数包括:封包传输需求群组MGk的每个传输端口的传输需求状态;封包传输需求群组MGk的每个传输端口的权值;指出封包传输需求群组MGk所处模式(亦即:全线速模式或超额认购模式)的参数,其可由TDM排程器710提供;以及第一多任务器724与第二多任务器726的输出。另外,本实施例中,若封包传输需求群组MGk处于超额认购模式,排程电路722-k采用的默认算法为已知的WRR算法;若封包传输需求群组MGk处于全线速模式,排程电路722-k采用的默认算法为一TDM WRR算法。所述TDM WRR算法与所述WRR算法的区别在于TDM WRR算法不考虑封包传输需求群组MGk的传输端口是否有封包待转发。
请参阅图7。第一多任务器724用来依据TDM排程器710所输出的当前排程结果所包括的一需求群组选择信号SEL_MG所指出的一最优先对象,输出一获选传输端口信号SEL_PORT指出所述N个传输端口的其中之一作为一获选传输端口,从而允许所述获选传输端口进行传输,所述最优先对象为所述N个封包传输需求群组的其中之一,所述获选传输端口为所述最优先对象的M个传输端口的其中之一。
请参阅图7。第二多任务器726用来依据TDM排程器710所输出的当前排程结果所包括的一重载信号RELOAD_MG,输出一传输端口重载信号RELOAD_PORT指出所述N个传输端口中的第Y个传输端口(让出传输机会的需求者所关联的传输端口,若有的话),从而通知所述N个排程电路中关联所述第Y个传输端口的第Y个排程电路依据所述默认算法降低所述第Y个传输端口的传输优先度,所述Y为正整数。
由于本领域的普通技术人员能够参酌图1-6的实施例的公开内容以及已知的/自行开发的算法来推衍图7的实施例的细节与变化,重复及冗余的说明在此省略。
请注意,在实施为可能的前提下,本技术领域的普通技术人员可选择性地实施前述任一实施例中部分或全部技术特征,或选择性地实施前述多个实施例中部分或全部技术特征的组合,由此增加本发明实施时的弹性。
综上所述,本发明能够自动地为多个封包传输需求者分配时槽,除能大幅节省人力,也能快速地实现时槽分配的规划。
虽然本发明的实施例如上所述,然而该些实施例并非用来限定本发明,本技术领域的普通技术人员可依据本发明的明示或隐含的内容对本发明的技术特征施以变化,凡此种种变化均可能属于本发明所寻求的专利保护范围,换言之,本发明的专利保护范围须视本权利要求书及说明书所界定的范围为准。
附图标记说明
100:分时多任务排程器(TDM排程器)
MG1~MGn:N个封包传输需求者
110-1~110-n:N个当前计数值产生器
120:最早届期排程器(EDD排程器)
MG1_DCNT_VAL~MGn_DCNT_VAL:N个当前计数值
110-k:当前计数值产生器
112-k:储存电路
114-k:计数电路
MGk_DCNT_VAL:当前计数值
122:转换电路
124:决定电路
MG1_PGAE_VLD~MGn_PGAE_VLD:传输需求状态
MG1_MIN_VLD~MGn_MIN_VLD:最小服务间隔状态值
RELOAD_MG:重载信号
400:以太网络交换器
MG1~MG6:封包传输需求者
700:分时多任务排程装置(TDM排程装置)
710:分时多任务排程器(TDM排程器)
720:传输端口排程器
722-1~722-n:N个排程电路
724:第一多任务器
726:第二多任务器
MG1_SEL_PORT~MGn_SEL_PORT:传输端口选择信号
SEL_MG:需求群组选择信号
SEL_PORT:获选传输端口信号
RELOAD_PORT:传输端口重载信号

Claims (10)

1.一种分时多任务排程器,能够决定N个封包传输需求者的一服务顺序,所述N为大于一的整数,所述N个封包传输需求者包括一第一需求者与一第二需求者,所述分时多任务排程器包括:
N个当前计数值产生器,分别用来服务所述N个封包传输需求者,所述N个当前计数值产生器的每一个用来产生一计数值,所述N个当前计数值产生器用来产生N个当前计数值,并包括:
一第一计数值产生电路,包括:
一第一储存电路,用来储存所述第一需求者的第一参数配置;以及
一第一计数电路,用来依据多个第一输入参数与一默认计数规则更新一第一先前计数值,以产生所述N个当前计数值的一第一当前计数值,所述多个第一输入参数包括所述第一参数配置与所述第一先前计数值,所述第一先前计数值源自于一最近排程结果,所述第一先前计数值与所述第一当前计数值均落于一第一计数范围内,所述第一计数范围由所述第一参数配置而定,且包括一第一极值;
一第二计数值产生电路,包括:
一第二储存电路,用来储存所述第二需求者的第二参数配置;以及
一第二计数电路,用来依据多个第二输入参数与所述默认计数规则更新一第二先前计数值,以产生所述N个当前计数值的一第二当前计数值,所述多个第二输入参数包括所述第二参数配置与所述第二先前计数值,所述第二先前计数值源自于所述最近排程结果,所述第二先前计数值与所述第二当前计数值均落于一第二计数范围内,所述第二计数范围由所述第二参数配置而定,且包括一第二极值;以及
一最早届期排程器,用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果,所述当前排程结果决定所述服务顺序,所述最近排程结果是所述最早届期排程器先前产生的。
2.根据权利要求1所述的分时多任务排程器,其特征在于,所述第一极值为所述第一计数范围的一最小值或一最大值;所述第二极值为所述第二计数范围的一最小值或一最大值;所述第一极值等于所述第二极值;当所述第一当前计数值为所述N个当前计数值中的一极值且所述第二当前计数值不等于所述极值也不等于所述第二极值时,所述最早届期排程器依据所述默认紧急度判断规则选择所述第一需求者作为一最优先对象;所述极值为所述N个当前计数值中的一最小值或一最大值。
3.根据权利要求1所述的分时多任务排程器,其特征在于,所述第一极值为所述第一计数范围的一最小值或一最大值;所述第二极值为所述第二计数范围的一最小值或一最大值;所述第一极值等于所述第二极值;当所述第一当前计数值与所述第二当前计数值均为所述N个当前计数值中的一极值时,所述最早届期排程器依据所述默认紧急度判断规则以及所述N个封包传输需求者的一默认顺序选择所述第一需求者作为一最优先对象,所述极值为所述N个当前计数值中的一最小值或一最大值,所述默认顺序指出所述第一需求者相较于所述第二需求者具有较高的顺位。
4.根据权利要求1所述的分时多任务排程器,其特征在于,所述第一需求者的传输模式为一全线速模式,所述第二需求者的传输模式为一超额认购模式;所述分时多任务排程器用于一交换器;当所述第一需求者的带宽需求不小于所述第二需求者的带宽需求且所述N个封包传输需求者的总带宽需求大于所述交换器的核心带宽时,所述第一计数范围小于所述第二计数范围。
5.根据权利要求1所述的分时多任务排程器,其特征在于,所述第一需求者的传输模式为一全线速模式,所述第二需求者的传输模式为一超额认购模式;当所述默认计数规则采用一递减计数方式时,所述第一极值小于所述第二极值;当所述默认计数规则采用一递增计数方式时,所述第一极值大于所述第二极值。
6.根据权利要求1所述的分时多任务排程器,其特征在于,所述N个当前计数值中的一极值关联所述N个封包传输需求者的其中之一,所述极值为所述N个当前计数值中的一最小值或一最大值,所述最早届期排程器依据所述默认紧急度判断规则选择所述极值所关联的所述封包传输需求者作为一最优先对象。
7.根据权利要求1所述的分时多任务排程器,其特征在于,所述最早届期排程器进一步依据所述N个封包传输需求者的至少一部分的每一个的一传输需求状态产生所述当前排程结果;所述传输需求状态为一第一状态或一第二状态,所述第一状态表示有至少一待传送封包,所述第二状态表示没有任何待传送封包。
8.一种分时多任务排程器,能够决定N个封包传输需求者的一服务顺序,所述N为大于一的整数,所述分时多任务排程器包括:
N个当前计数值产生器,分别用来服务所述N个封包传输需求群组,所述N个当前计数值产生器依据所述N个封包传输需求群组的参数、一最近排程结果以及一默认计数规则产生N个当前计数值;
一最早届期排程器,用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果,所述当前排程结果决定所述服务顺序,所述最近排程结果是所述最早届期排程器先前产生的。
9.根据权利要求8的分时多任务排程器,其特征在于,所述最早届期排程器包括:一转换电路,用来依据一默认转换规则将所述N个当前计数值转换为N个优先值;以及
一决定电路,用来依据所述N个优先值产生所述当前排程结果,所述决定电路选择所述N个优先值中的一极值所关联的一封包传输需求者作为一最优先对象,所述最优先对象为所述服务顺序中的一最高顺位者。
10.一种分时多任务排程装置,所述分时多任务排程装置包括:
一分时多任务排程器,包括:
N个当前计数值产生器,分别用来服务N个封包传输需求群组,所述N个当前计数值产生器依据所述N个封包传输需求群组的参数、一最近排程结果以及一默认计数规则产生N个当前计数值;以及
一最早届期排程器,用来依据所述N个当前计数值与一默认紧急度判断规则产生一当前排程结果,所述最近排程结果是所述最早届期排程器先前产生的;以及
一传输端口排程器,包括:
N个排程电路,分别用来服务所述N个封包传输需求群组,所述N个封包传输需求群组的每一个包括至少一传输端口,每个排程电路用来依据一默认算法选择所述排程电路所服务的所述封包传输需求群组的一传输端口,所述
N个排程电路选择N个传输端口;以及
一多任务器,用来依据所述当前排程结果所指出的一最优先对象输出一传输端口选择信号指出所述N个传输端口的其中之一作为一获选传输端口,从而允许所述获选传输端口进行传输,所述最优先对象为所述N个封包传输需求群组的其中之一,所述获选传输端口为所述最优先对象的M个传输的其中之一,所述M为正整数。
CN202011547219.5A 2020-12-24 2020-12-24 分时多任务排程器与装置 Active CN114745342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011547219.5A CN114745342B (zh) 2020-12-24 2020-12-24 分时多任务排程器与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011547219.5A CN114745342B (zh) 2020-12-24 2020-12-24 分时多任务排程器与装置

Publications (2)

Publication Number Publication Date
CN114745342A true CN114745342A (zh) 2022-07-12
CN114745342B CN114745342B (zh) 2024-03-12

Family

ID=82274054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011547219.5A Active CN114745342B (zh) 2020-12-24 2020-12-24 分时多任务排程器与装置

Country Status (1)

Country Link
CN (1) CN114745342B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067557A (en) * 1996-09-06 2000-05-23 Cabletron Systems, Inc. Method and system for allocating CPU bandwidth by prioritizing competing processes
US20020044568A1 (en) * 2000-06-15 2002-04-18 Aleksandra Smiljanic Flexible bandwidth allocation in high-capacity grooming switches
TW200705923A (en) * 2005-07-27 2007-02-01 Interdigital Tech Corp Wireless communication method and apparatus for detecting and scheduling urgent data
US20080022143A1 (en) * 2006-07-18 2008-01-24 Cortina Systems Corp. Linear burst mode synchronizer for passive optical networks
CN106851852A (zh) * 2007-06-22 2017-06-13 汤姆逊许可公司 基于竞争的网络中用于媒体访问的方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067557A (en) * 1996-09-06 2000-05-23 Cabletron Systems, Inc. Method and system for allocating CPU bandwidth by prioritizing competing processes
US20020044568A1 (en) * 2000-06-15 2002-04-18 Aleksandra Smiljanic Flexible bandwidth allocation in high-capacity grooming switches
TW200705923A (en) * 2005-07-27 2007-02-01 Interdigital Tech Corp Wireless communication method and apparatus for detecting and scheduling urgent data
US20080022143A1 (en) * 2006-07-18 2008-01-24 Cortina Systems Corp. Linear burst mode synchronizer for passive optical networks
CN106851852A (zh) * 2007-06-22 2017-06-13 汤姆逊许可公司 基于竞争的网络中用于媒体访问的方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于立晓: "XG-PON上行动态带宽分配", 中国优秀硕士学位论文全文数据库 信息科技辑, pages 136 - 530 *
许楠;杨爱梅;张贵春;: "MF-TDMA卫星通信系统时隙申请选取方法", 无线电通信技术, no. 05 *

Also Published As

Publication number Publication date
CN114745342B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
US6539025B1 (en) Priority arbitration for point-to-point and multipoint transmission
US6687781B2 (en) Fair weighted queuing bandwidth allocation system for network switch port
US6959002B2 (en) Traffic manager for network switch port
US9042224B2 (en) Method and system for weighted fair queuing
US20140160933A1 (en) Systems and methods for dropping data using a drop profile
AU3988999A (en) Method and apparatus for forwarding packets from a plurality of contending queues to an output
JP5497541B2 (ja) 通信制御装置およびシェイピング装置
US10063478B2 (en) Switching device and control method of switching device
US9940471B2 (en) Virtual output queue authorization management method and device, and computer storage medium
US8305889B2 (en) Method for allocating a resource among consumers in proportion to configurable weights
CA2462793C (en) Distributed transmission of traffic streams in communication networks
US7245626B1 (en) Systems and methods for permitting queues to oversubscribe
US7023865B2 (en) Packet switch
US7619971B1 (en) Methods, systems, and computer program products for allocating excess bandwidth of an output among network users
CN114745342B (zh) 分时多任务排程器与装置
TWI733635B (zh) 分時多工排程器與裝置
US8467401B1 (en) Scheduling variable length packets
JP2008263430A (ja) トラヒックシェーピング回路、端末装置及びネットワークノード
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
JP2005268846A (ja) 多重化パケット転送装置
CN113824652A (zh) 一种用于调度队列的方法及装置
WO2024007334A1 (en) A device and methodology for hybrid scheduling using strict priority and packet urgentness
Chen et al. A Fair Queue Scheduling Algorithm Based on Pre-allocation of Quantum Keys
JP5350433B2 (ja) ネットワーク装置
Alharbi et al. Allocating bandwidth in the resilient packet ring networks by PI controller

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant