CNCC-2017-存储系统专题

阅前须知
本文分享内容来自CNCC存储系统相关的论坛内容,论坛名称为“下一代数据中心存储技术与系统”,此篇博文主要关注的是云计算环境下文件系统的发展趋势及研究点。
关键词:RDMA,bypass
阿里云高级总监,吴博士分享了阿里云存储几年来的经验教训,并讲述了存储系统的机遇。
个人感觉,吴博士之前的一位讲者肖教授总结得非常好,所以分享下他的Slide。
summary-xiao
在CNCC大会上,频繁听到的一个词是RDMA(Remote Direct Memory Access),这是种低延迟的通信解决方案,是高性能计算环境中的标配,正逐渐被cloud等多种环境采纳借鉴;另外一个高频度词是bypass,通过将不必要的软件操作短路(通常是内核)来降低软件栈开销。这两个词在吴博士的分享中也被提到多次。
吴博士首先概述了阿里云存储提供的几种类型的存储服务,包括对象存储,块存储,日志存储等,并提到盘古的分层架构。接下来我将按照吴博士阐述的几个方面,进行简单介绍。
pangu
Storage Disaggregation
随着网络带宽的提高,从网络上直接存取数据的延迟比从disk上存取数据的延迟更低,因此存储计算分离的设计被越来越多的公司采用,因为这可以进一步提高大规模计算的扩展性,可靠性。我们需要意识到的是,网络是云计算的根本。因此,从网络上研究,如何更好地支持存储,是一个很好的方向及研究点。
storageDisaggregation
Centralized Metadata Management
中心化的元数据管理,比分布式的管理效率更高,但前提是要保证避免spof(single point of failure)。
centralizedMetadata
控制平面与数据平面的分离
尽量将正交的操作分离,避免相互影响。提到这个方面,我想到了针对Spark Streaming进行的一个优化,就是将控制平面与数据平面进行了分离,传送门
Predictability
性能具有可预期性,是系统的一个非常好的表现,也是做系统的人的不懈追求。
predictability
When Software becomes the BottleNect
从传统的软件中可以看到时代的背影,当年对内存是像对待黄金一样珍惜,而随着技术的发展,内存越来越大,价格越来越低,应用可以更多地将数据置于内存,而不用精心设计如何与磁盘打好交道来提高效率。类似的道理,传统的软件栈可能在新时代的场景下不再是最优的方案,内核的TCP/IP协议栈对每个tcp连接都需要插手管理,低延迟,高并发的应用是不能忍受频繁的内核态、用户态切换,数据copy等开销的,所以利用RDMASPDKDPDK等技术进行性能的提升成为了一种趋势。此外,面临新型存储介质及其他设备如何才能更好地发挥他们的价值,如何重构现有的软件栈以适应新事物,这些都是要考虑的问题。
softwareAsBottleneck
重要的经验
吴博士参与设计开发过多个系统,遇到过许多坑,分享了许多重要的经验,包括:
1)系统及性能的可调试性,系统的debugability是非常重要的一个属性,Twitter开发的新一代流处理计算平台Heron的一个很重要的设计目标就是便于跟踪、监控,我们需要的是白盒,尽量避免使用黑盒,系统人员要能看到底,不希望眼前都是透明的。
2)动态参数的调整,避免重新发布来调整参数
3)自我调整及自我检测以提高自适应能力
4)硬件+软件+App(ml,db,IoT等)codesign,高效率的系统肯定要考虑全局,当贯通了必要信息,一个决策才是比较优化的。Motivation是进行设计的出发点,结合需求/workload/场景来设计是重要原则。吴博士当时极力推荐阅读一篇论文,那是一篇2017年4月的论文,Attack of the Killer Microseconds,提出要跟随技术的发展,对微妙级延迟进行多加关注。
5)Intelligence,ML,IoT things,Serverless computing
存储系统作为计算机领域中的系统,不能只专注于存储系统自身的发展,需要及时跟进吸收计算机其他领域的知识,乃至跟计算机无关的领域。整个世界的联系越来越紧密,交叉学科、思维借鉴、组合创新,均不可或缺。
本人不是单纯地复述吴博士的观点,某些内容包含了个人的一些见解,还是希望感兴趣的去看下会议记录的直播回放,内容更加详细完整,视频地址为:https://www.yizhibo.com/l/MZDn3Rtut0Fy-ViZ.html,感谢东南大学参会学生提供的直播视频。
上一篇cncc专题文章:2017CNCC开幕日特邀报告

CNCC–26日特邀报告

本文主要分享CNCC26日上午特邀报告的部分内容,内容主要包含以下几个部分:

    • 丘成桐教授报告
    • 梅宏教授报告
    • 沈向洋教授报告
    • 李飞飞教授报告

丘成桐教授报告

丘成桐教授在大会上做的报告是《现代几何学在计算机科学中的应用》,讲述了计算机与数学,尤其是几何学的关系。丘教授渊博的学识,不禁让人肃然起敬,从下面几张简陋的图片中就能看出(丘教授的slides,很大概率是用LaTeX编写的,规规整整,学术范满满)。他说几何学可以为其他学科提供想法,几何中的许多概念都可以引入到计算机,反过来,计算机对几何的发展也有促进作用,深以为然。
overview1
overview2
specific
sum1
sum2

梅宏教授报告

工科向来不及理科的深奥,丘教授的报告让我见识到了理论的精确、严谨,却不知其真正含义,而梅宏院士的报告《软件定义一切:挑战和机遇》听起来就比较亲近易懂,梅宏院士在疯狂地为“软件定义一切”打call,但我认为软硬件协同才是根本,软件定义离不开硬件的支持,计算机的生态从底到上看似松散实则联系非常紧密,一个软件应用调用的一个非常简单的API,能呈现出效果在于其含义经过层层传递,最后被硬件精确地执行,对于系统开发者来说软硬件协同不可避免,而对于消费者来说,软件定义一切的接口真真切切地方便。梅院士对软件业的描述及挑战和机遇的精彩的报告还是非常不错的,学术研究者可以关注下,下面分享一些图片。我们在福州打滴滴时,司机还在说他们是在为滴滴打工,要交22%的平台费用,细思极恐,滴滴可以说是一个新的互联网平台,但它没有一辆自己的车,通过互联网,他实现了很好的低成本扩张,最后成功地成为了中国最大的出租车公司,以前各地的出租车公司都是划区而治的,但现在的局面完全不一样了。但滴滴的服务在高峰期体验不好,一旦自动驾驶开始商业化,这将是另一个大的飞跃,调度效率更高,所需人员大量减少,那时就会呈现出新的局面,冥冥之中,我预感到这个时刻已经快要到来。
sdn
sdx
basic-sdx
software
software1
sum1
sum2
sum3
sum4
sum5

沈向洋教授报告

本届大会的一个大主题是智能,所以少不了NLP,CV的内容。微软的沈向洋在其《理解自然语言:描述、对话和隐喻》报告中,直接说,“懂语言者得天下”,当然对小冰,小娜的夸奖赞不绝口,不过会作诗的小冰确实挺有意思的~,小冰是怎么“想到”笑容的虚假的?
overview
poem
shen-poem
poem2

李飞飞教授报告

接下来是大名鼎鼎的李飞飞做的报告《Visual Intelligence: Beyond ImageNet》,从寒武纪物种大爆发的重要原因–眼睛的出现,讲到人类视觉的超高能力。目前深度学习在物体检测及识别任务上有了非常好的表现,但对于场景的理解,图片中关系的认识几乎处于0的阶段,所以李教授也在积极推动视觉智能的发展。
寒武纪
继续阅读“CNCC–26日特邀报告”

对Spark的进一步理解

Spark 已经被使用得非常广泛了,最近看到某些公司招聘时对Scala的要求及对Spark的理解,对Hadoop的要求已经退居其次,其成熟程度由此可见一斑。

Spark作为一个执行引擎,使用了一个很迷惑人的编程抽象RDD(resilient distributed dataset),并且说其具有容错的特性,但要意识到数据真正的可靠性是依赖存储层的,试想Spark的某个节点上的数据是没有副本的,那么这个节点宕机后,其上的数据是无法恢复的。当经过这些思考后,对分层的设计思想的认识就更深了,当存储层解决好了可靠性,上层就可以不用考虑,只管优化计算就好了,从这个层面上看,Spark就是通过最大限度地使用内存以提速的一个MR优化,此外提供了丰富易用的API。

另外AMPLab中的人讲故事,运用语言的能力确实很强。