首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

目前学术界最先进的数据包调度器介绍!

随着链路速度的提高和CPU速度缩放速度的降低,软件中的数据包调度会导致较低的精度和较高的CPU利用率。通过将数据包调度卸载到诸如NIC之类的硬件,可以潜在地克服这些缺点。然而,为了保持软件分组调度器的灵活性,硬件中的分组调度器必须是可编程的,同时还必须快速且可扩展。硬件中最先进的数据包调度程序要么折衷了可扩展性(Push-In-First-Out(PIFO)),要么表达了各种数据包调度算法的能力(先进先出(FIFO)))。此外,即使是像PIFO这样的通用调度原语,其表达能力也不足以表达分组调度算法的某些关键类别。因此,在本文中,我们提出了PIFO原语的泛化,称为Push-In-Extract-Out(PIEO),它与PIFO一样,维护元素的有序列表,但与PIFO不同,PIFO只允许从列表的开头出队,PIEO通过在出队时支持基于断言的可编程过滤,允许从列表中的任意位置出队。接下来,我们介绍PIEO调度程序的快速且可扩展的硬件设计,并在FPGA上进行原型设计。总体而言,PIEO调度程序比PIFO具有更高的表达力和30倍以上的可伸缩性。

02

《现代操作系统》—— 调度

现代计算机都是多道程序设计系统。在多道程序设计系统中,通常会有多个进程或线程同时竞争同一个CPU。只要有2个或更多的进程处于就绪状态,那么这种情形就发生了:CPU必须要在多个就绪的进程中选择下一个要运行的程序。在操作系统中,完成这个选择工作的程序叫做调度程序(scheduler)。该程序使用的算法叫做调度算法。 许多适用于进程调度的方法同样也适用于线程调度。内核管理线程的时候,调度是按照线程级别进行的,与线程所属的进程没有关联。本文主要讨论同样适用于进程和线程调度的问题。然后介绍线程调度所独有的问题。本文讨论的问题假设机器是单CPU单核。

00

系统架构师论文-论异构数据库的集成

本文讨论了某数据集市项目的数据集成方法与过程。该系统在2008年12月启动,在2009年5月正式上线使用。该系统是以oracle系统为主要的数据库,同时集成DB2系统中的数据。每天的话费清单系在DB2数据库中存储,通过E71调度程IWEDB2中的数据进行汇总并把结果写入到ORACLE数据仓库中。本文首先讨论了建立数据集市项目异构数据库的两个数据库系统的背景以及用户対该项目的需求。接着讨论了使用Perl技术来集成两个数据库中的业务逻辑的过程,并说明了该技术在集成过程中出现的问题,如:数据分层,E71调度程序改造,以及参数化SQL处理等问题。最后讨论了该集成方法的优点和缺点,并対改进该项目提出了优化Perl技术的设想。在本次的项目开发过程中,我主要担任了系统分析与设计的工作。

01

业界第一个真正意义上开源100 Gbps NIC Corundum介绍

来源:内容由「网络交换FPGA」编译自「FCCM2020」,谢谢。FCCM2020在5月4日开始线上举行,对外免费。我们有幸聆听了其中一个有关100G开源NIC的介绍,我们对该文章进行了翻译,并对其中的开源代码进行了分析并恢复出基于VCU118的工程,通过实际测试感受到了第一款真正意义上的100G开源NIC的强大(很多100G的开源都是基于HLS等非HDL语言,尽管可以转化成HDL,但电路架构参考意义已经不大)。开源Verilog代码中每个.v文件都是所有的组合和时序分别用一个always模块描述,代码中高位宽分段处理方式,多级流水的架构等很多地方都是非常值得借鉴和学习的地方。我们认为,github是一个宝库。我觉得现在的研究生培养质量的评价其实就可以看开源项目的参与程度,这完全能反应出一个学生的自学能力和独立研究的能力。而一个科研工作者,尤其是搞工程或应用基础研究的,如果没有做出来一两个星数100以上的开源项目,就不算成功。欢迎感兴趣的同学一起交流讨论。以下先附上本次会议的视频

05
领券