计算所科研实践随笔

被淹没在论文海里的两个星期。

  早上7:10分起床,草草洗漱,7:30出发,开始漫长的1小时通勤。从地铁站的安检口起,队便排的极长,让人看得头皮发麻。下到了轨道旁稍好,但每趟呼啸而来的地铁里都是满满当当,常常要等2,3趟我才能有幸站上去。我从不奢望座位。在等一趟不那么满的地铁的过程中,有时很满的地铁来了,门易开人墙难开,门快关时有些赶得急的人就踏上地铁背过身来拼命地往后压,最后强行挤出了个位置来,我在外面看得见那努力的表情。

  虽说这行为不大雅观,素质上可能偏向于负面,但我脑子里总是闪现那句“我用尽了全力,过着平凡的一生”。

  地铁门关,轻灵驰走,满载着刚开始新的一天却已有些疲惫的人们。

  到了计算所后在负一楼的健康餐吧吃早饭。这是艰难的两个星期里比较安慰我的两样之一。两样一个是计算所的伙食,一个是友善的师兄。

  这两周导师给我的任务是RDMA调研。初步了解RDMA技术,找出RDMA小领域里50篇好的论文并每篇写概述(写不出来就翻译摘要),最后写一篇总结与感想。

  看论文的过程真的是很难受的。我才刚大一结束,很多基础知识都不知道,论文里使用的大量术语我基本都知形不知义。于是不停wiki,常常wiki里对术语的解释本身便是由术语写就的,我便只好继续wiki。如此树形展开,搜好几层我才能大致明白某个术语的含义。不过很多时候我都直接叨扰了友善的师兄。

时间与我支付宝里的钱一同流逝着,到了后面,我越来越浮躁。对待每一篇论文的态度越来越敷衍。这一点友善的师兄在最后为导师代笔的评语了也有提到。哎,是心不大静。

努力前行。

计算所科研实践报告

  在调研过程中使用的搜集信息方式:

  1. 中国知网搜索:搜到的论文质量较差,舍弃。故没有产生作用。
  2. RDMA技术标准制定方官网https://www.openfabrics.org/:用于了解技术原理。
  3. 一个有关RDMA的博客http://www.rdmamojo.com/:用于了解技术原理。
  4. 维基百科:使用频繁,主要用于查看术语定义。
  5. Google scholar搜索:主力,大部分论文由此获取。
  6. 查看论文作者的其他论文:查阅过程中发现Dhabaleswar K.DK Panda作者的名字常常出现,于是查了一下该作者的其他论文。
  7. 问师兄:非常频繁,帮助很大。
  8. 后来在中国科学技术大学罗昭锋老师放在科学网的一篇博文《引文分析软件histcite简介》的启发下利用histcite软件分析了Web of Science核心合集数据库中与RDMA相关的约500篇论文,并进行可视化

   RDMA技术简介

  利用RDMA的特殊网卡,在不需要操作系统的干预下,交换虚拟地址,内存钥匙,数据等信息,从而实现远程直接访问内存。由于1零拷贝2无CPU干预3所有协议直接写入channel adapter,最终可以降低延迟,CPU占用率,提高带宽利用率。

  现主要有三种产品:InfiniBand,IWARP(internet Wide Area RDMA Protocol),RoCE(RDMA over Converged Ethernet)

  RDMA与TCP的比较

成本上RDMA较贵:

10G普通网卡:Mellanox MCX341A-XCCN ConnectX-3 10Gigabit Ethernet Card

$170.00

Infiniband交换机:Mellanox MCS7510 66Tb/s, 324-port EDR Infiniband chassis switch, includes 12 fans and 6 power supplies (N+N), RoHS R6

$66,950.00

infiniband卡:Mellanox MCX456A-ECAT ConnectX VPI Infiniband Host Bus Adapter

$1,575.00

论文分类:

1.对RDMA读操作的研究

分析RDMA读操作不同情况下的利弊

Dragojevic A, Narayanan D, Castro M. RDMA Reads: To Use or Not to Use?[J]. IEEE Data Eng. Bull., 2017, 40(1): 3-14.

键值对应用中未使用读操作的方案

Kalia A, Kaminsky M, Andersen D G. Using RDMA efficiently for key-value services[C]//ACM SIGCOMM Computer Communication Review. ACM, 2014, 44(4): 295-306.

键值对应用中使用了读操作但做出改进的方案

C. Mitchell, Y. Geng, and J. Li. Using One-Sided RDMA Reads to Build a Fast,

CPU-Efficient Key-Value Store. In USENIX ATC, 2013.

分析发现在广域网上RDMA读操作性能较差

Yu W, Rao N S V, Wyckoff P, et al. Performance of RDMA-capable storage protocols on wide-area network[C]//Petascale Data Storage Workshop, 2008. PDSW'08. 3rd. IEEE, 2008: 1-5.

MPI应用中将Rendezvous Protocol的实现由写操作实现改为使用读操作实现。

Sur S, Jin H W, Chai L, et al. RDMA read based rendezvous protocol for MPI over InfiniBand: design alternatives and benefits[C]//Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming. ACM, 2006: 32-39.

提出的优化方案中避免RDMA单边操作(RDMA读/写)

Kalia A, Kaminsky M, Andersen D G. FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs[C]//OSDI. 2016: 185-201.

这篇研究RDMA隐藏成本的分析中也有提及:

Author(s): Frey PW (Frey, Philip W.); Alonso G (Alonso, Gustavo)

Title: Minimizing the Hidden Cost of RDMA

Source: 2009 29TH IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS : 553-+

Date: 2009

DOI: 10.1109/ICDCS.2009.32

2.对RDMA虚拟化,软件化的研究

这个方向在2011年被提出来一次,作者们研究设计了一个软件RDMA栈,并试图应用在商业云上。

Trivedi A, Metzler B, Stuedi P. A case for RDMA in clouds: turning supercomputer networking into commodity[C]//Proceedings of the Second Asia-Pacific Workshop on Systems. ACM, 2011: 17.

最近又有两篇论文关注这方面的问题:

虚拟化RDMA(新,2017年论文)

Fan S, Chen F, Rauchfuss H, et al. Towards a Lightweight RDMA Para-Virtualization for HPC[C]//COSH/VisorHPC@ HiPEAC. 2017: 39-44.

软件化RDMA。(新,2017年论文)

Mao Miao, Fengyuan Ren, Xiaohui Luo, Jing Xie, Qingkai Meng, and Wenxue Cheng. 2017. SoftRDMA: Rekindling High Performance Software RDMA over Commodity Ethernet. In Proceedings of the First Asia-Pacific Workshop on Networking (APNet'17). ACM, New York, NY, USA, 43-49. DOI: https://doi.org/10.1145/3106989.3106995

3.对RDMA内存管理的研究

一个提高RDMA内存管理效率的方案(一个计算所老师的论文)

Ou L, He X, Han J. An efficient design for fast memory registration in RDMA[J]. Journal of Network and Computer Applications, 2009, 32(3): 642-651.

在MPI应用中一个提高RDMA内存管理效率的方案

Mamidala A, Vishnu A, Panda D. Efficient shared memory and RDMA based design for MPI_Allgather over infiniband[J]. Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2006: 66-75.

设计了一个新协议来Overlap内存管理的开销,跟单边操作(读/写)也有关系

Woodall T, Shipman G, Bosilca G, et al. High performance RDMA protocols in HPC[J]. Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2006: 76-85.

4.将RDMA应用于GPU的研究

以下四篇论文成如上图关系:

第一篇首先提出使用GPUDirect RDMA来实现 Inter-node MPI Communication:

Potluri S, Hamidouche K, Venkatesh A, et al. Efficient inter-node MPI communication using GPUDirect RDMA for InfiniBand clusters with NVIDIA GPUs[C]//Parallel Processing (ICPP), 2013 42nd International Conference on. IEEE, 2013: 80-89.

有3篇跟进:

Wang H, Potluri S, Bureddy D, et al. GPU-aware MPI on RDMA-enabled clusters: Design, implementation and evaluation[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(10): 2595-2605.

Hamidouche K, Venkatesh A, Awan A A, et al. Exploiting GPUDirect RDMA in Designing High Performance OpenSHMEM for NVIDIA GPU Clusters[C]//Cluster Computing (CLUSTER), 2015 IEEE International Conference on. IEEE, 2015: 78-87.

Banerjee D S, Hamidouche K, Panda D K. Designing high performance communication runtime for GPU managed memory: early experiences[C]//Proceedings of the 9th Annual Workshop on General Purpose Processing using Graphics Processing Unit. ACM, 2016: 82-91.

5.将RDMA应用于键值对存储的研究

这篇主要关注安全性问题:

Yang M, Yu S, Yu R, et al. InnerCache: A Tactful Cache Mechanism for RDMA-Based Key-Value Store[C]//Web Services (ICWS), 2016 IEEE International Conference on. IEEE, 2016: 646-649.

提高性能(在RDMA读操作部分中介绍过)

Kalia A, Kaminsky M, Andersen D G. Using RDMA efficiently for key-value services[C]//ACM SIGCOMM Computer Communication Review. ACM, 2014, 44(4): 295-306.

提高性能

C. Mitchell, Y. Geng, and J. Li. Using One-Sided RDMA Reads to Build a Fast,

CPU-Efficient Key-Value Store. In USENIX ATC, 2013.

这个主要是关注基于RDMA的键值对应用中固态硬盘和内存混合存储的问题

Shankar D, Lu X, Islam N, et al. High-Performance Hybrid Key-Value Store on Modern Clusters with RDMA Interconnects and SSDs: Non-blocking Extensions, Designs, and Benefits[C]//Parallel and Distributed Processing Symposium, 2016 IEEE International. IEEE, 2016: 393-402.

6.将RDMA应用于关系数据库的研究

共享内存避免读硬盘,从而提升性能

Li F, Das S, Syamala M, et al. Accelerating relational databases by leveraging remote memory and RDMA[C]//Proceedings of the 2016 International Conference on Management of Data. ACM, 2016: 355-370.

引入MySQL

Shankar D, Lu X, Jose J, et al. Can RDMA benefit online data processing workloads on memcached and MySQL?[C]//Performance Analysis of Systems and Software (ISPASS), 2015 IEEE International Symposium on. IEEE, 2015: 159-160.

加速数据库join操作

Barthels C, Loesing S, Alonso G, et al. Rack-scale in-memory join processing using RDMA[C]//Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. ACM, 2015: 1463-1475.

两篇都是利用RDMA和HTM设计新的Transactions progress system ,作者也一样

Wei X, Shi J, Chen Y, et al. Fast in-memory transaction processing using RDMA and HTM[C]//Proceedings of the 25th Symposium on Operating Systems Principles. ACM, 2015: 87-104.

Chen Y, Wei X, Shi J, et al. Fast and general distributed transactions using RDMA and HTM[C]//Proceedings of the Eleventh European Conference on Computer Systems. ACM, 2016: 26.

加速分布式Transactions时避免了RDMA单边操作

Kalia A, Kaminsky M, Andersen D G. FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs[C]//OSDI. 2016: 185-201.

7.将RDMA应用于大数据系统的研究

将RDMA引入Spark提高性能

Lu X, Rahman M W U, Islam N, et al. Accelerating spark with RDMA for big data processing: Early experiences[C]//High-performance interconnects (HOTI), 2014 IEEE 22nd annual symposium on. IEEE, 2014: 9-16.

与上篇工作类似

Yan X, Wong B, Choy S. R3S: RDMA-based RDD Remote Storage for Spark[C]//Proceedings of the 15th International Workshop on Adaptive and Reflective Middleware. ACM, 2016: 4.

用RDMA解决MapReduce,Spark和HBase的主要存储引擎HDFS的I/O瓶颈,从而提升性能

Islam N S, Rahman M W, Jose J, et al. High performance RDMA-based design of HDFS over InfiniBand[C]//Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis. IEEE Computer Society Press, 2012: 35.

这篇与上篇工作类似

Woodall T, Shipman G, Bosilca G, et al. High performance RDMA protocols in HPC[J]. Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2006: 76-85.

引入Hadoop后的性能分析

Lu X, Islam N S, Wasi-Ur-Rahman M, et al. High-performance design of Hadoop RPC with RDMA over InfiniBand[C]//Parallel Processing (ICPP), 2013 42nd International Conference on. IEEE, 2013: 641-650.

设计了一个插件库帮助Hadoop使用RDMA

Wang Y, Xu C, Li X, et al. JVM-bypass for efficient Hadoop shuffling[C]//Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on. IEEE, 2013: 569-578.

8将RDMA应用于NFS的研究

引入RDMA提高性能,并解决了一个安全性问题。

Noronha R, Chai L, Talpey T, et al. Designing NFS with RDMA for security, performance and scalability[C]//Parallel Processing, 2007. ICPP 2007. International Conference on. IEEE, 2007: 49-49.

将RDMA作为NFS的传输层提高性能

Callaghan B, Lingutla-Raj T, Chiu A, et al. Nfs over rdma[C]//Proceedings of the ACM SIGCOMM workshop on Network-I/O convergence: experience, lessons, implications. ACM, 2003: 196-208.

分析发现基于RDMA的NFS在广域网上性能较差,由于广域网上RDMA读操作性能较差

Yu W, Rao N S V, Wyckoff P, et al. Performance of RDMA-capable storage protocols on wide-area network[C]//Petascale Data Storage Workshop, 2008. PDSW'08. 3rd. IEEE, 2008: 1-5.

9.    将RDMA应用于MPI的研究

Liu J, Wu J, Panda D K. High performance RDMA-based MPI implementation over InfiniBand[J]. International Journal of Parallel Programming, 2004, 32(3): 167-198.

Sur S, Jin H W, Chai L, et al. RDMA read based rendezvous protocol for MPI over InfiniBand: design alternatives and benefits[C]//Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming. ACM, 2006: 32-39.

  1. 10.            

还有一些研究RDMA编程,给web协议提速,在(IBMHPS (High Performance Switch and adapter)上实现RDMA等等

RDMA调研报告&一点随笔的更多相关文章

  1. CVer想知道的都在这里了,一起分析下《中国计算机视觉人才调研报告》吧!

    最近闲来无事,老潘以一名普通算法工程师的角度,结合自身以及周围人的情况,理性也感性地分析一下极市平台前些天发布的2020年度中国计算机视觉人才调研报告. 以下的"计算机视觉人才"简 ...

  2. 《头号玩家》AI电影调研报告(一)

    观<头号玩家>AI电影调研报告 一. 前言 有一部电影,上映开始就能让世界各不同年龄段.身处不同文化的人在一瞬间达到心意相通:其中的一些镜头,让影迷.游戏迷.ACG爱好者等拥有截然不同兴趣 ...

  3. Beta版本——用户试用与调研报告

    1 引言 1.1 系统概述 ​ 毕设导师智能分配系统是一个用来简化传统手工匹配繁琐操作的系统.本系统将学生报志愿.系负责人收集整理数据.相关人员进行手工分配.反馈选择结果等繁琐的操作转移到线上.把毕设 ...

  4. 结对开发:7-magic用户调研报告

    用户调研报告 班级   信1201-2班  学号   20122929     姓名  崔乐乐 项目名称:7-magic 调研时间: 2015/4/14 调研主题:7-magic游戏的用户需求度调研 ...

  5. 把时间还给洞察,且看PPT调研报告自动生成攻略

    文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据清洗和整理,而我觉得理想的状态应该是把更多的把时间花在数据背后的洞察当中.去年11月在简书占了个坑,说要自己写 ...

  6. 分享一篇IBN(Intent-based networking)调研报告

    IBN调研报告 背景 SDN(Software-defined network):最大特点在于具有松耦合的控制平面与数据平面.支持集中化的网络状态控制.实现底层网络设施对上层应用的透明.具有灵活的软件 ...

  7. Kubernetes行业调研报告:多集群、多云部署成企业首选策略

    新兴的多集群.多云部署成为首选的企业策略,而边缘部署则呈上升趋势 2019年11月5日,业界采用最广泛的Kubernetes管理平台创造者Rancher Labs(以下简称Rancher)发布了首份调 ...

  8. TypeScript体系调研报告

    作者简介:aoto 蚂蚁金服·数据体验技术团队 Q:为什么要写这边文章?这篇文章要表达什么? A:我们考虑在SPA应用中使用TS作为开发语言,我们需要一篇系统性介绍TS本身及周边的文章来论证在项目中使 ...

  9. LeanCloud 调研报告

    LeanCloud 是一家做后端即服务(BaaS)的厂商,目标是让移动互联网开发者能更加方便的开发应用. 出于工作关系,对 leancloud 进行了一番调研:主要目标是学习其后端即服务的产品化思路等 ...

随机推荐

  1. Ubuntu14.04_x64_Caffe_GPU环境配置

    为了让Caffe支持GPU模式,需要安装GPU和CUDA Toolkit,依据NVIDIA官方教程以ubuntu14.04_X64安装cuda8.0,配置Gpu为例如下所示: 1.检查安装环境,是否具 ...

  2. (转)Java线程:大总结

    Java线程:大总结   Java线程是Java语言中一个非常重要的部分,Java5之前,多线程的语言支持还是比较弱的,内容也较少,写一个复杂的多线程程序是相当有挑战性的.   在Java5以后,Ja ...

  3. ARKit 初体验

    ARKIT是苹果公司在今年发布的一个AR开发包,用于现有的IOS设备,是的,就是用在手机或者平板上,类似于pokemon go的效果.看了下演示视屏,嗯,看起来很厉害. 对于一个资深软粉,居然被要求研 ...

  4. 九度OJ1000

    题目描述: 求整数a,b的和. 输入: 测试案例有多行,每行为a,b的值. 输出: 输出多行,对应a+b的结果. 样例输入: 1 2 4 5 6 9 样例输出: 3 9 15 代码实现: #inclu ...

  5. 初学者:浅谈web前端就业的学习路线

    初级前端 主要学习三个部分:HTML,CSS,JavaScript 一.html + css部分: 这部分特别简单,到网上搜资料,书籍视频非常多.css中盒子模型,流动,block,inline,层叠 ...

  6. jsp元素

    1.指令元素:用于在JSP转换为Servlet阶段提供JSP页面的相关信息,如页面采用的字符编码集.页面中需要导入的类等信息,指令元素不会产生任何的输出到当前JSP的输出流中 指令元素有三种指令:pa ...

  7. [Tyvj 1728] 普通平衡树

    大名鼎鼎的板子题w 照例先贴题面 Describtion 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. ...

  8. Hexo博客添加SEO-评论系统-阅读统计-站长统计

    原文地址:→传送门 写在前面 在五月出捣腾了一把个人博客,但是刚开始只做了一些基础设置,套路也没摸清,基础安装篇请看hexo从零开始到搭建完整,里面讲到了基础工具的安装及blog项目的文件夹含义,以及 ...

  9. 【原创】01-1. 基于 checked 关于 attribute 和 property 的理解

    Attribute(属性) 和 Property(特性) Attribute(元素节点的属性),例如html中常用的class.title.align等(即:属性节点).而Property 是这个DO ...

  10. AsyncTask用法解析-下载文件动态更新进度条

    1. 泛型 AysncTask<Params, Progress, Result> Params:启动任务时传入的参数,通过调用asyncTask.execute(param)方法传入. ...