美文网首页
Lecture #01 & #02

Lecture #01 & #02

作者: 全村滴希望 | 来源:发表于2019-07-29 20:10 被阅读0次

    大数据介绍

    科学应用处理大量数据的两方面原因:科学应用计算仿真实验数据显著增加;观测数据,通过传感器等仪器得到的数据量庞大。
    从生活中的例子,存储卡容量的翻倍也说明大数据已经不是一个新问题了。

    两个案例

    1. 某一家(Target)连锁超市比一个女孩的父亲更早的发现这个女孩已经怀孕了。
    2. 美国节目60分钟,对华尔街的高频交易,分秒必争的背后也是使用高性能平台来处理庞大的交易量。

    大数据的定义

    3-V定义:
    Volume:庞大的数据量
    Velocity:高频的处理速度
    Variety:多种类数据(视频音频、有无结构)

    5-V定义:
    Veracity/validity:数据的有效性
    Valve:数据的有价值性

    大数据涉及层面

    1. 理论算法层面
    2. 系统层面 *
    3. 管理层面 *
    4. 搜索挖掘层面
    5. 隐私安全层面
    6. 应用层面

    系统层面

    1. 并行或分布式计算平台
    2. 高性能计算、网格计算、云计算平台
    3. 存储设备和存储结构
    4. 互联网络
    5. 磁盘、内存计算架构

    基本解决方案:商业硬件+开源软件+可扩展

    管理层面

    1. 并行或分布式文件系统
    2. 开发应用框架
    3. 去冗余(重复数据删除)
    4. 数据压缩
    5. 元数据管理
    6. 非关系型数据库的设计

    并行计算:大数据计算的基础

    1台机器 45分钟,10台机器 4.5分钟。并行分布式是基础,必须以此方案来解决大数据计算。

    高性能计算

    一种并行(分布式)计算形式,侧重于性能(大规模,大规模并行处理)
    •超级计算的同义词(“超级计算机”)
    •高端计算,云计算/数据中心(行业公司术语)

    并行计算和分布式计算的区别? (紧密与松散耦合)
    问题-解决该问题的算法-编程语言-编译器成机器语言(instructions)-CPU执行
    并行计算的优势在于避免多级流水线执行,从算法设计上改编成并行分布式算法,用多核处理器同时执行。

    高性能计算解决的问题

    1. 解决大型/复杂的问题
    2. 节约时间和成本
    3. 提供并发机制同步解决问题(上百万用户同时访问)
    4. 闲置资源远程利用
    5. 解决单台计算机的物理极限(提供单核的频率无法解决功耗问题,这能走多核这条路。而且芯片体积很难再缩小,单台机器的性能总会有一个瓶颈)

    解决历程:DOE-ANL 实验室的一台机器
    从一个芯片-集成到一颗CPU或GPU处理器Compute Card,再到多颗CPU和GPU组成的Node Card,再到一台单节点的Rack机架,加上互通的网络一整套机柜构成多节点计算平台。

    谬论

    高性能计算其实并不容易

    高性能计算面临的挑战

    • 高速互连(更快的数据移动,定制)
    • 互连架构(网状,圆环,胖树......)
    • 支持大规模处理的输入/输出(例如1M +内核)
    • 存储架构和足够的存储能力
    • 程序/调试/分析(并行的不确定性导致debug没有办法复现)
    • 资源管理(自定义操作系统,去掉不需要的功能),作业调度让机器的利用率更高,..
    • 工程/经济问题:冷却,电力,空间等

    可扩展性是关键 - 实现高持续性能而不是高峰性能

    现状

    Petaflops(> 1015 Flop / s)计算与117计算机系统完全建立
    §三种技术架构或“泳道”蓬勃发展

    • 商用处理器(例如英特尔)
    • 商用处理器+加速器(例如GPU)(88系统)
    • 轻量级核心(例如IBM BG,ARM,英特尔的Knights Landing)
      §超级计算的兴趣现已遍及全球,在许多新市场中都有增长(约500%的Top500计算机在工业中)
      §许多国家和地区都有Exascale(1018 Flop / s)项目
      §英特尔处理器最大份额,~92%

    TOP 10

    大数据和HPC

    第一范例:纯理论,数学物理等理论研究上的发现,带来了formula和equation
    第二范例:实验,通过公式和等式来进行实验完成并验证理论。
    第三范例:高性能计算。当物理实验很难做,需要计算机来完成,利用模型来编写程序完成实验。那么这个模型model的背后实际上就是formula的支撑。
    第四范例:不一定有公式和模型来描述问题,只有观测数据和观测栈,那么如何通过数据来找到一些结论和关联,来发现一些理论,出发点是数据,不再是根本的fomula,从数据learn,学习出来一种model。

    高性能系统架构怎么样支持大数据应用

    传统高性能系统架构大部分资源集中在计算节点资源(大部分是CPU、GPU、Memery),没有全局的数据文件管理。
    数据量很大的时候,数据从存储中取出,然后分步到众多计算核心,再处理后写回,数据移动时间是主导问题。

    分离式Decoupled高性能架构:针对大型数据应用,计算资源不在集中在计算节点,有一部分资源专门用来做数据分析,能够更接近存储端,更接近数据源的位置,Compute-side先做数据分析,然后进行数据分离后再分散到计算资源。
    Storage-side就是先把存储端数据源读取到内存前先进行数据分析再分配,处理过后再写回。

    本质:计算挪到数据的地方,而不是把数据挪到计算的地方。

    • 单独分配资源和部署数据处理节点(或数据节点)和计算节点
    • 将应用程序分解为计算密集型阶段和数据密集型阶段
    • 进行正常处理,最小化/减少数据移动/访问
    • 通过利用SCM提供更好的性能+位置
    • 当必要时,服务“胖”计算节点
    • 提供平衡计算和数据访问能力

    对比
    传统计算科学数据量不大的情况下传统HPC架构可以满足,但是大量非关系型数据需要在数据源的地方分析进行Reduce的数据分离,然后再计算。

    分布式计算

    并行计算把一个问题分解成多份,同时计算,强调tightly-coupled,紧耦合。
    而分布式计算主要强调loosely-coupled 松耦合
    也是问题分割成多份,但是分配到不同的地方,不在同一台机器,物理上很远的距离。百度搜索的客户端请求关键字,百度数据中心处理返回就是物理上的远距离分布式。

    网格计算

    本质上就是分布式计算上的超级计算。将多个大规模高性能计算系统计算资源结合起来,形成超级计算资源网络。同样是松耦合,结合的资源包括HPC计算资源,存储资源,传感器资源甚至是人力资偶。

    云计算

    工业界用词,本质上还是并行分布式计算。商业模式和场景的角度出发。资源的分配管理定制化的进行移交和传递以及共享。

    相关文章

      网友评论

          本文标题:Lecture #01 & #02

          本文链接:https://www.haomeiwen.com/subject/povirctx.html