当前课程知识点:大数据系统基础 >  5.内存计算 >  授课视频 >  5.2并行计算挑战

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

5.2并行计算挑战在线视频

5.2并行计算挑战

下一节:5.3并行计算的局限性

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

5.2并行计算挑战课程教案、知识点、字幕

那么我们刚才

了解了并行计算的需求

下面我们来介绍一下

并行计算我们面临的挑战

大家写过并行程序

就会发现并行程序

它最基本的问题是编程困难

首先我们要把这个问题中的

并行性把它识别出来

也就是说哪些部分是可以并行的

然后我们还要用编程语言

把它表达出来

所以这个部分是很困难的

所以我们简化为并行计算

是程序难写

那么第二

并行计算的程序是很难写对的

我们要在中间加上很多同步语句

比如说

谁向谁发消息或者使用锁等等

各种机制来保证并行的

计算的这个各个部分

能够有效的协调

所以我们把这个归结为

并行程序难写对

第三即使我们写出来一个

正确的并行程序

实际上也不能够说

我们已经成功了

因为我们并行计算的目标

是提高性能

但是如果我们有时候

写出来的并行计算

它的性能比串行程序还要差

那么这时候不能说

我们的并行计算是成功的

所以这又涉及到

我们的下一个挑战

也就是性能调优难

也就是说我们不仅要写出

正确的并行计算

我们还要能够进一步的

去调整它的性能

去做很多细致的分析和调优

使得它的性能能够

达到我们预期的要求

那么在性能调优里面

有两个非常基本的原因

一个是叫负载平衡

也就是说我们多个并行的任务

如果其中某一个任务

执行的时间很长

而其它的任务执行的时间很短

这个时候大家可以想像

它的加速比一定不会很理想

也就是达不到

我们的性能的要求

那么如果我们能够做到负载平衡

也就是大部分的并行任务

他们的执行时间是很接近的

这种情况下

我们就有可能达到

我们所期望的这种性能

第二个是局部性

局部性是计算中一个

非常基本的原理

也就是说如果我们能够访问

我们已经访问数据 相邻的数据

或者说我们已经访问的数据

我们下次再去访问这些数据

那么就可以通过

硬件的cache

也就是高速缓存

来大大的提高

访问这些数据的效率

在我们当前的这个cache里面

一次cache命中

它的这个访问的时间

大概是一个时钟周期

到二十个时钟周期

而我们访问一次内存

也就是说

如果所有的cache都失效的话

我们大概需要两百个时钟周期

这个之间又有将近十倍的差别

所以说局部性

也是一个非常重要的问题

那第三个问题是容错

也就是说当我们

不是使用单台机器来做计算

而是使用很多机器来做

计算的时候

那么这么多台机器

同时运行它们 出故障的可能性

就会比单台机器

出故障的可能性要大的多

大家可以想像

如果有一千台机器在运行

其中有一台机器坏掉了

那么这个时候

如果我们的整个的

这个计算框架

或者计算程序不能够

做有效容错的话

那么这单台机器的错误

就可能使得整个的

并行程序执行失效

所以容错难

也是并行程序所面临的一个

非常重要的挑战

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

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.2并行计算挑战笔记与讨论

也许你还感兴趣的课程:

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