Toward an Ideal NDN Router on a Commercial On-the-shelf Computer

Abstract
  本文阐述了理论上的NDN转发引擎如何在目前现有的计算机中工作。本文利用现有的已经成熟的高速技术设计了一个转发引擎样例,并通过分析最新的原型实现来了解其性能瓶颈。通过CPU管道和指令层面的微架构分析,我们发现动态随机存取存储器(DRAM)的延迟是高速转发引擎的一个瓶颈。最后,本文设计了2个对预取友好的报文处理机制来缓解DRAM的访问延迟。基于这两个机制的原型在现有的计算机上可以达到4千万/s的报文转发速率。

Introduction
  软路由是指利用现有的计算机配合软件形成路由解决方案,多核CPU和快速联网技术的研究进展确保了它的可行性。现有计算机的低成本、节能性和灵活性使得它可以作为部署IP软路由和NDN软路由的平台。快速IP报文转发一直是一个研究热点,目前基于CPU的转发引擎的硬件架构都是以IP转发的数据是存储在快速存储设备(比如SRAM)为前提设计的。Dobrescu利用多核CPU或多个服务器实现并行处理。这个研究中所用的转发引擎和服务器都是现有的商用计算机,这表明使用软路由来实现快速报文转发不需要使用特定的设备(比如GPGPU)。相继地,如何压缩数据结构成为一个研究问题,许多基于树的结构用于存储数据。其中,Degermark等人设计了一个multi-bit树的数据结构,将树中连续的元素替换为单个元素。这使得最新的SRAM可以容纳日益增长的IP前缀。
  受上述方案影响,由于NDN中的名字前缀空间比IP前缀空间大得多,时间复杂度也更大,为了实现快速报文转发,很多研究方案致力于设计复杂的数据结构或者算法(比如基于布隆过滤器、 基于树、基于哈希表的数据结构和算法)来优化时间复杂度。但是他们都以数据主要存储在快速存储器为前提,而实际情况是,大部分数据是存储在DRAM。即便是在IP报文转发中,如何缓解慢速存储器的延迟也没有很好的解决方案。因此,设计高速NDN软路由的数据结构和算法的时候,要从访问的DRAM的次数和它们的时间复杂度这个角度来考虑。由于基于布隆过滤器就比基于哈希表访问DRAM的次数更多,我们主要研究基于树和基于哈希表的数据结构和算法。
  解决DRAM延迟的一个解决方案是使用压缩的数据结构,减少访问DRAM的次数。基于树的数据结构通常比基于哈希表的数据结构的存储空间更小,因为很多公共的前缀是共用的。但是,虽然基于树的数据结构适用于NDN硬路由,但是不适用于NDN软路由。NDN软路由中,数据不能被固定在CPU缓存中,因为CPU缓存的删除和替换是由CPU来管理,而不是由用户空间程序和操作系统来管理。也就是说,由于从DRAM取数据是不可避免的,采用压缩数据结构的方式并不是一个好的解决方法。
  为了解决这个问题,本文提出隐藏DRAM的延迟和减少DRAM的访问次数是实现高速NDN软路由的关键。因为即便是采用复杂的数据结构和算法,DRAM的访问次数也不可能变成0。最新的CPU支持指令和数据的预取,这使得指令和数据可以在实际被使用之前就预取到CPU缓存中,隐藏了DRAM的访问延迟。由于基于树的数据结构很难在访问DRAM之前知道要访问哪里,很难实现预取策略。因为树的查找是自顶向下,在取到父节点之前,不能估计下一个要取的节点的地址。基于哈希的数据结构是个可行的方案,如果提前知道哈希键,其访问模式是可以预测的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 五、因特网的路由选择协议 1.有关路由选择协议的几个基本概念 Ⅰ、理想的路由算法 路由表中的路由是怎样得出的呢?核...
    dmmy大印阅读 1,806评论 0 4
  • 第二章 物理层 频分复用:频分复用的用户在同样的时间占用不同的带宽资源(频率带宽) 时分复用:时分复用的用户在不同...
    PramaWells阅读 3,254评论 1 3
  • 昨天第一次接待了十几个真实客户,十几个电话打下来还是很开心的,因为有两个客户是有效客户,不过在技巧方面也有很多缺...
    诗珂Niki阅读 294评论 0 0
  • 除了盗贼、湿气、虫鼠外,最让藏书家头疼不已的事就是火灾了。藏书史上有几次著名的火灾—— 宋代叶梦得穷其一生所藏十万...
    涛涛老师阅读 338评论 0 0
  • 对于巴菲特的投资理念,大多数人都比较熟悉。但我们为什么既然知道,却还是没有巴菲特那样的投资收益呢?其实,我觉得最关...
    鹿鹿无畏阅读 601评论 0 51