当前课程知识点:大数据系统基础 >  5.内存计算 >  授课视频 >  5.8内存层次的延迟

返回《大数据系统基础》慕课在线视频课程列表

5.8内存层次的延迟在线视频

5.8内存层次的延迟

下一节:5.9内存计算实例-spark

返回《大数据系统基础》慕课在线视频列表

5.8内存层次的延迟课程教案、知识点、字幕

现在我们来看一下

各个内存层次的延迟

以帮助我们更好的了解

什么样的存储介质和

这个数据集大小之间的关系

那么可以给我们获得

更好的性能价格比

那么我们可以看到

在CPU里面

离CPU最近的是L1 cache

它相对来说非常小

一般只有10K

几十K这样的数量级

那么它的缓存延迟非常小

只有0.5纳秒

那么第二级的cache

L2 cache它的缓存延迟

大概是七个纳秒左右

那么第三级cache

它的缓存延迟十五个纳秒左右

到了主存的时候

我们就要到一百个纳秒

在硬盘

我们现在有两类常见的硬盘设备

一类是基于flash的SSD设备

它的缓存延迟是150K纳秒

对于机械硬盘来说

它的随机缓存延迟会更长

更高达10M纳秒

也就是十个毫秒

所以可以看到DRAM

要比硬盘快十万倍

这是我们在这个课中

一直强调的所以内存计算

它的基本的原因也是这样

因为我可以快十万倍

所以即使我贵一些在很多情况下

也是可以获得更好的性价比的

但是我们也要看到DRAM

比片上的cache还要慢6-200倍

所以也是说明我们刚才讲的

局部性问题

也就是说如果能够让数据

有更好的局部性

那就能够让对数据的访问

不仅是放在内存里面

还尽量的能让他放到

CPU里面的cache里面去访问

这样的话性能可以得到

进一步的提高

那么这张图

实际上介绍了数据集的大小

还有查询速率

给定这个的情况下

我们采用什么样的存储介质

是具有更好的性能价格比的

那么可以看到左上角是硬盘

那这个非常符合我们的直觉

也就是说当我们的数据集

非常大的时候比如说在几十T

几百T甚至我们这个坐标

大家注意这是一个对数坐标

所以最上面是上万T的时候

那么上万TB的数据

我们显然不太容易

把它放到这个flash或者DRAM里面

这样整个系统的成本会很高

所以硬盘相对来说

会是一个比较好的性价比的

这样的一个选择

当然这个时候大家也可以看到

它能够达到的查询速率

相对来说也是比较低的

它都是在这个坐标轴的左边

左边这一块

那么我们可以看到右下角是DRAM

也就是我们讲的

这个内存计算里面的

这个主存系统

它适合于当我们对

查询速率要求很高的时候

比如说达到十个每秒钟

千万亿次甚至一亿次

甚至十亿次

这样的一个查询速率的时候

我们采用硬盘或者是flash

可能都很困难

但是DRAM也有它的问题

因为它的价格相对来说比较贵

所以大家可以看到

它在这个整个这个图的右下角

也就是说

它能够适应的这个数据集

相对来说是一些中小的数据集

那么falsh是处于

硬盘 机械硬盘和DRAM之间的

这样的一个设备

那么它适合于当数据集大小

和查询速率都是中等的时候

它会有一些这个优势

所以这张图也就是告诉我们说

并不是在任何情况下

内存计算都要比

基于硬盘的这样的计算更好

但是它的适用范围是什么

是我们对查询速率要求高

而且速率级相对来说

比较小的时候

是更适合于内存计算的

那么大家应该认识右下角

照片的这个人Jim Gray

他是图灵奖获得者

那么他在一次会上

2006年12月份的这个会上

他讲到了实际上就是说

我们过去的存储层次

是由这个RAM Disk Tape

这三层组成的

那么Disk就是字盘

RAM就是我们的内存

Tape是磁带

那么过去这三层计算

主要是在这个RAM里面

把数据读进来

硬盘里面主要是存储大量的数据

而Tape这个磁带

主要是用来做备份用

那么现在他观察到这个趋势

也就是说磁带就逐渐的消亡了

Dead

Disk is Tape也就是说

我们过去拿磁带来做备份

那么现在我们慢慢的过渡到

拿硬盘来做备份了

然后这个falsh

就是我们刚才讲的SSD这样的设备

它逐渐的会成为硬盘

而这个Ram Locality

我们刚才一直强调的

这个局部性的问题

是其中非常非常重要的一个概念

所以这也是我们在内存计算中

需要着重考虑的问题

就是我们如何去提高局部性

那么这部分我们基本上

回答了我们刚才提出来的

这样两个问题

也就是说内存是不是足够大

能够装下所需要的数据

我们可以看到对于一些

中小量级的数据集

由于摩尔定律的出现

内存是可以能够装下到

所需要的数据的

然后关于性价比的问题

我们也做出了一些分析

从它们的性能上的差异

以及它们价格上的差异

我们给出了一个图

那么在什么样的

查询性能的要求下

和什么样的数据集的大小下

到底是采用内存的性价比好

还是硬盘的性价比好

我们都给出了一些介绍

那么后面的两个问题

也就是说数据保存在内存里面的

高可用问题

还有如何高效的表示

内存里的数据的问题

我们留到下一个小节进行介绍

大数据系统基础课程列表:

1. 绪论

-授课视频

--什么是大数据

--大数据典型应用

--大数据的特点

--大数据技术体系

--大数据生态系统

--大数据技术挑战

--课程内容

-1. 绪论--Quiz 1

2.云计算

-授课视频

--2.1大数据和云计算关系概述

--2.2并行化理念

--2.3规模经济理念

--2.4从仓库规模计算机到云

--2.5云计算商业模式概述

--2.6云计算带来的价值

--2.7云计算的分类

--2.8虚拟化技术概述

--2.9计算虚拟化

--2.10网络虚拟化:基础

--2.11网络虚拟化:软件定义网络

--2.12软件定义网络实现

--2.13存储虚拟化:用户接口

--2.14存储虚拟化:分布式存储实现方式

--2.15虚拟化技术总结

--2.16OPENSTACK

--2.17云计算小结

-2.云计算--Quiz 2

3.文件存储

-授课视频

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.文件存储--Quiz3

4. 处理框架

-授课视频

--4.1大数据的处理框架

--4.2MapReduce编程模型

--MapReduce执行过程

--4.4MapReduce数据流

--4.5MapReduce性能优化与容错

--4.6Hadoop

--4.7MapReduce总结

--4.8Pig Latin

--4.9Pig Latin语法

--4.10Pig Latin 嵌套数据类型

--4.11Pig Latin 实现与优化

--Pig Latin 实现与优化(2)

--4.13类似框架

--4.14章节总结

-4. 处理框架--Quiz4

5.内存计算

-授课视频

--5.1内存计算概述

--5.2并行计算挑战

--5.3并行计算的局限性

--5.4大数据处理并行系统

--5.5内存计算需求

--5.6MapReduce文件传递数据

--5.7内存计算的可行性

--5.8内存层次的延迟

--5.9内存计算实例-spark

--5.10SPARK-RDD

--5.11大数据并行系统

--5.12Spark编程接口

--5.13Spark编程实例——Log挖掘

--5.14Spark编程实例——WorkCount

--5.15Spark实现技术

--5.16复杂的DAG示例

--5.17RDD性能的提高

--5.18Spark应用和生态环境

--5.19Spark的局限性

-5.内存计算--Quiz5

6. NoSQL

-授课视频

--NoSQL与Cassandra

--数据模型、接口、语言

--系统架构与Gossip协议

--一致性哈希与数据分区

--数据副本及一致性

--节点本地数据存储

-6. NoSQL--Quiz6

7. 流计算

-授课视屏

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-7. 流计算--Quiz7

5.8内存层次的延迟笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。