CN1976314A - 基于路由交换机的自适应可变时间片包转发调度方法 - Google Patents
基于路由交换机的自适应可变时间片包转发调度方法 Download PDFInfo
- Publication number
- CN1976314A CN1976314A CNA2006100979879A CN200610097987A CN1976314A CN 1976314 A CN1976314 A CN 1976314A CN A2006100979879 A CNA2006100979879 A CN A2006100979879A CN 200610097987 A CN200610097987 A CN 200610097987A CN 1976314 A CN1976314 A CN 1976314A
- Authority
- CN
- China
- Prior art keywords
- timeslice
- dispatching method
- adaptive variable
- port
- variable time
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于路由交换机的自适应可变时间片包转发调度方法,该方法通过改进了系统的任务调度方法,简化了包转发过程中的系统调用,保证CPU资源在包转发过程中各端口的多个任务之间能够合理分配时间,从而有效地提高了路由交换机的吞吐量,比传统的多极队列进程调度方法效率提高约25%,并且减小了包转发的延迟以及路由交换机各端口转发数据包的平等权。
Description
一、技术领域
本发明涉及计算机网络系统技术领域,具体地说是涉及一种基于路由交换机的自适应可变时间片包转发调度方法。
二、背景技术
传统的多级队列进程调度方法的路由交换机中有多个网络接口端口NID,完成从传输介质接收和发送包、解码、编码的工作,它们通过共享总线的方式和中央处理器CPU进行通信.CPU完成NID的驱动、路由表的维护和包的转发工作。附图1是传统路由器包转发方式。在传统方式中,数据包转发要经过Rx ISR、Forward Thread和Tx ISR三个部分的处理,其中Rx ISR、Tx ISR以中断方式运行,Forward Thread以内核线程方式运行,它们的优先级关系为:P(Rx ISR)>P(Tx ISR)>P(Forward Thread)。Rx ISR运行的时间和接口的包到达率有关,随之增加而增加。由于Rx ISR具有最高优先级,当包到达率很高时,Rx ISR将占用大量CPU资源,使得Forward Thread和Tx ISR的运行时间减少,接收队列Rx Qucue溢出,系统处于“接收一丢弃”的恶性循环中,因此传统的路由交换机的多级队列进程调度方法存在以下问题:
1.当包到达率很高时导致路由器吞吐量下降。
2.当负载很重时包转发延迟增加.特别是某些端口的数据包迟迟得不到系统的响应。
三、发明内容:
本发明的目的在于克服传统的多级队列进程调度方法存在的问题,提供一种基于路由交换机的自适应可变时间片包转发调度方法。该方法通过改进了系统的任务调度方法,简化了包转发过程中的系统调用,保证CPU资源在包转发过程中各端口的多个任务之间能够合理分配时间,并有效地提高了路由交换机的吞吐量,减小了包转发的延迟以及路由交换机各端口转发数据包的平等响应权。
本发明的目的是通过以下技术方案来实现的:
基于路交换机的自适应可变时间片包转发调度方法,按图3计算机程序流程图,其调度方法的步骤如下:
步骤1:创建进程控制表,根据公式Q=R/2N,其中的Q:时间片长度,R:系统对响应时间的要求N:就绪队列中的进程数,确定进程Pi的时间片长,并初始化相关参数;
步骤2:将进程Pi送入队列尾排队,其中Pi代表路由交换机端口I的进程;
步骤3:当就绪队列中的第一个进程Pi得到CPU的控制权后,对数据包按路由表转发操作;
步骤4:检查进程Pi的中断状态?若时间片用完则转到步骤5:否则转到步骤6:
步骤5:按公式Q′=Q+t确定进程Pi新的时间片,其中Q′:进程调整后时间片长,Q:进程调整前时间片长,t=p*R/N/128t:时间片增量p:网络端口的优先数;
步骤6:按公式Q′=Q-t确定进程Pi新的时间片;
步骤7:检查进程Pi新的时间片长Q′>0,进程Pi的时间片已用完,转到步骤8,否则转到步骤2:
步骤8:结束进程Pi。
本发明调度方法的基本原理如下:
基于路由交换机自适应可变时间片包转发调度方法可以消除传统多级队列进程调度方法所导致的缺陷。其基本原理是:见附图2所示系统将所有的在Rx端口缓存区有等待转发数据包的作业进程(每端口无论缓存区有多少个数据包,系统仅生成一个作业进程)按先来先服务(First Come First service,FCFS)的原则排成一个就绪队列,每次调度时把CPU分配给队首进程,并令其执行一个时间片。时间片的大小是可变的,系统可根据系统中的就绪作业队列进程数来确定时间片的大小。时间片的确定按(Q=R/2N Q:时间片长度 R:系统对响应时间的要求 N:就绪队列中的进程数)。
进程在给定的时间片用完时或端口缓存区已无数据包时,由系统发出时钟中断或系统中断,中断处理程序根据中断状态来停止该进程的执行,并根据时间片的使用状态和端口的优先级调整该进程时间片的长短,(调整策略按Q′=Q±t t=p*R/N/128 Q′:进程调整后时间片长 Q:进程调整前时间片长 t:时间片增量 p:网络端口的优先数)当Q′≤0该进程消亡;当Q′>0将该进程送就绪队列的末尾,等待下一次执行;然后,把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片这样就可以保证队列中的所有进程,在给定的时间(人所能接受的等待时间)内,均能获得一个时间片的处理机执行时间.
本发明基于路由交换机的自适应可变时间片进程调度方法与传统的多级队列进程调度方法相比较有以下有益效果:
(1)在系统初始化时对所有的在Rx端口缓存区有等待转发数据包的进程按就绪队列进程的个数分别分配给予不同的时间片,从而保证路由交换机任一Rx端口的数据都能获得转发,令路由交换机各端口转发数据包的平等响应权得以实现。减小了包转发的延迟。
(2)传统方法中每一个转发数据包生成一个进程,而该方法在一个时间片里可处理若干个转发数据包,系统因此节省了N-1次负责释放接受、发送报文的缓冲区处理程序所需的时间。同时作业进程在一个时间片结束后并不是立即消亡,因此节省了N-1次创建和结束进程所花的时间从而提高了系统吞吐率。比传统的多级队列进程调度方法效率提高约25%。
(3)作业进程在一个时间片结束后并不是立即消亡,而是由闭环智能系统根据数据包到达情况和系统负载状态自动的增加或减少时间片长,从而令路由交换机各端口能自动的调节带宽以适应负载环境。
(4)对于端口的优先级处理,该方法通过增加或减少时间片梯度(即采用加快发散和收敛速度的方法)改善端口的传输环境,提高端口吞吐率的方法,将端口传输优先级问题拓展为优化端口传输环境方式加以解决。
上述几个要点有效的消除了采用多级队列进程调度方法的路由交换设备过载时的性能下降问题。
四、附图说明:
图1:路由交换机传统包转发方法模型示意图;
图中:RxBuffen 接收缓冲区;TxBuffen 发送缓冲区;RxISR 接收中断处理程序;TxISR 发送中断处理程序;Forword Process转发线程
图2:基于路由交换机的自适应可变时间片包转发方法模型示意图;
图3:路由交换机自适应可变时间片包转发调度方法的计算机程序流程图。
五、具体实施方式:
实例环境:
硬件部分由2台FlexHammer24机(其中一台作对比机,一台用作以FlexHammer24机的硬件为基础的试验样机)和一台IXIA400T性能测试设备构成。
软件部分Cisco TFTP Server,基于mcp8240 CPU的汇编软件,Turbo C Ver 3.0,EST的嵌人式微处理器开发系统,
实现:
1.首先将FlexHammer24机的Console口与PC机的串口1连接。
2.打开交换机FlexHammer24和PC机的电源。
3.启动按装在Pc机上的Cisco TFTP Server。
4.启动windows2000操作系统自带的超级终端以默认配置方式或者TCP/IP网络,用有管理员权限的用户登录进入配置模式。
5.输入命令upload ftp hammeros<A.B.C.D><username><password><filename>
其中<A.B.C.D>为hammeros文件上传的主机的IP地址,<username>是ftp的用户名,<password>是该用户的密码,<filename>为上传的文件名称、类型为hammeros的文件。这样获得FlexHammer24机的二进制代码的系统软件hammeros.bin。
6.用EST的嵌人式微处理器开发系统的反汇编软件将二进制代码的hammeros.bin文件编译成汇编语言程序hammeros.asm。
7.分析、整理FlexHammer24机系统原程序确定代表各端口优先级的标识符pi的存储位置,以及IOS里处理数据包转发的中断程序、进程生成参数。
8.对FlexHammer24机的IOS进程队列部分程序改造,将就绪进程分成两个队列;处理数据包转发的中断程序生成的进程放在Q2队列里,其他进程均放到Q1队列里,就绪队列Q1的优先级高于队列Q2。
9.以Turbo C程序语言按基于路由交换机的自适应可变时间片进程调度方法给出的流程编写原程序,再用Turbo C程序将原程序编译成二进制代码的进程调度程序文件Jcdd.bin,
10.用EST的嵌人式微处理器开发系统的反汇编软件将二进制代码的Jcdd.bin文件编译成汇编语言原程序Jcdd.asm,再将Jcdd.asm插入hammeros.asm。
11.使用EST的嵌人式微处理器开发系统对hammeros.asm进行仿真调试后,用汇编软件将hammeros.asm原程序编译成二进制代码的hammeros.bin原程序文件。
12.用有管理员权限的用户名登录进入FlexHammer24机配置模式,输入命令donwload ftp hammeros<A.B.C.D><username><password><hammeros.bin>
下载成功后,令FlexHammer24机重新启动。
Claims (1)
1.基于路由交换机的自适应可变时间片包转发调度方法,其调度方法步骤如下:
步骤1:创建进程控制表,根据公式Q=R/2N,其中的Q:时间片长度,R:系统对响应时间的要求N:就绪队列中的进程数,确定进程Pi的时间片长,并初始化相关参数;
步骤2:将进程Pi送入队列尾排队,其中Pi代表路由交换机端口I的进程;
步骤3:当就绪队列中的第一个进程Pi得到CPU的控制权后,对数据包按路由表转发操作;
步骤4:检查进程Pi的中断状态?若时间片用完则转到步骤5:否则转到步骤6:
步骤5:按公式Q′=Q+t确定进程Pi新的时间片,其中Q′:进程调整后时间片长,Q:进程调整前时间片长,t=p*R/N/128t:时间片增量p:网络端口的优先数;
步骤6:按公式Q′=Q-t确定进程Pi新的时间片;
步骤7:检查进程Pi新的时间片长Q′>0,进程Pi的时间片已用完,转到步骤8,否则转到步骤2:
步骤8:结束进程Pi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100979879A CN100493041C (zh) | 2006-11-24 | 2006-11-24 | 基于路由交换机的自适应可变时间片包转发调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100979879A CN100493041C (zh) | 2006-11-24 | 2006-11-24 | 基于路由交换机的自适应可变时间片包转发调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1976314A true CN1976314A (zh) | 2007-06-06 |
CN100493041C CN100493041C (zh) | 2009-05-27 |
Family
ID=38126120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100979879A Expired - Fee Related CN100493041C (zh) | 2006-11-24 | 2006-11-24 | 基于路由交换机的自适应可变时间片包转发调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100493041C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854300A (zh) * | 2010-06-02 | 2010-10-06 | 北京工业大学 | 一种实现CANopen从站的方法 |
CN109308183A (zh) * | 2018-07-30 | 2019-02-05 | 南阳理工学院 | 一种面向vliw芯片可执行代码的逆向工具方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003122586A (ja) * | 2001-08-09 | 2003-04-25 | Matsushita Electric Ind Co Ltd | タスク・スケジューリング装置 |
CN1851654A (zh) * | 2006-05-23 | 2006-10-25 | 浙江大学 | 嵌入式sram操作系统进程等时间片轮转调度的实现方法 |
-
2006
- 2006-11-24 CN CNB2006100979879A patent/CN100493041C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854300A (zh) * | 2010-06-02 | 2010-10-06 | 北京工业大学 | 一种实现CANopen从站的方法 |
CN109308183A (zh) * | 2018-07-30 | 2019-02-05 | 南阳理工学院 | 一种面向vliw芯片可执行代码的逆向工具方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100493041C (zh) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116574B2 (en) | System and method for improving TCP performance in virtualized environments | |
JP5726320B2 (ja) | 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム | |
US9503383B2 (en) | Flow control for reliable message passing | |
US10355997B2 (en) | System and method for improving TCP performance in virtualized environments | |
US20030099254A1 (en) | Systems and methods for interfacing asynchronous and non-asynchronous data media | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
Arslan et al. | Nanotransport: A low-latency, programmable transport layer for nics | |
Guo et al. | Traffic control for RDMA-enabled data center networks: A survey | |
CN1976314A (zh) | 基于路由交换机的自适应可变时间片包转发调度方法 | |
Ibanez et al. | The nanoPU: Redesigning the CPU-network interface to minimize RPC tail latency | |
CN112491736A (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
Alvarez et al. | Specializing the network for scatter-gather workloads | |
US7444432B2 (en) | System and method for an efficient transport layer transmit interface | |
CN101046785A (zh) | 一种限制基板管理控制器命令的方法及装置 | |
Le et al. | PL2: Towards predictable low latency in rack-scale networks | |
CN111726201A (zh) | 一种airt-ros虚拟网卡丢包解决方法 | |
Chang et al. | Analysis of interrupt coalescing schemes for receive-livelock problem in gigabit ethernet network hosts | |
Zeng et al. | Middlenet: A high-performance, lightweight, unified nfv and middlebox framework | |
Zhao et al. | A network processor-based, content-aware switch | |
Meng et al. | Switch-Assistant Loss Recovery for RDMA Transport Control | |
Saito et al. | Low-latency remote-offloading system for accelerator offloading | |
Shiraki | Microburst Aware Congestion Control for Storage Traffic | |
Richards et al. | DARTS-a dynamically adaptable transport service suitable for high speed networks | |
Seneviratne et al. | DARTS zyxwvutsrqponmlk | |
CN117896269A (zh) | 一种Ping时延模拟方法、计算设备及Ping时延模拟系统 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090527 Termination date: 20111124 |