体系结构复习5——仓库级计算机的并行

体系结构复习 CH8 仓库级计算机的并行

注:本章不做重点要求,简略复习


8.1 仓库级计算机

8.1.1 仓库级计算机WSC

一般把作为商用因特网基础的超大型规模的集群称做仓库级计算机(WSC),WSC的建设主要关心:

  • 成本和性能
  • 能耗效率
  • 可靠性(冗余备份)
  • 网络I/O
  • 工作负载平衡
  • 并⾏性
  • 运⾏成本
  • 规模

计算WSC的可靠性(通过软件冗余来屏蔽停用次数):

availability ==×+×

8.1.2 WSC和HPC对比

HPC是高性能计算机(集群),HPC和WSC不同之处在于:

  1. HPC节点间网络比WSC快的多,且程序独立性强,通信频繁
  2. HPC倾向于定制硬件,而WSC实用大众化商用芯片降低成本
  3. HPC强调线程级并行或数据级并行,而WSC强调请求级并行
  4. HPC常常满负载持续数周完成大规模运行作业,而WSC是面向并发请求的,通常不会满负载

8.1.3 仓库级计算机体系结构

机架是容纳服务器、交换机等的外壳框架,一个机架上往往放置有多个服务器,服务器通过机架交换机通信;服务器阵列由多个机架排列成的二维阵列构成,阵列内部机架间通过阵列交换机通信

因此WSC访存类型有三种:

  • 本地访问
  • 机架内服务器访问
  • 阵列内服务器访问

平均存储器延迟是各种访问方式(延迟)的加权平均值

8.2 云计算

8.2.1 云计算

云计算是一种按使用量付费服务模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互(美国国家标准与技术研究院定义)

一般把云计算服务分成三种:

  • IaaS(基础设施即服务):以服务的形式提供虚拟硬件资源(如虚拟主机、存储、⺴络、数据库管理等资源),用户无需购买服务器、网络设备、存储设备,只需通过互联网租赁即可搭建⾃己的应⽤系统,例如AWS、阿里云VPS等
  • PaaS(平台即服务):提供应用服务引擎(如互联⺴应用编程接口、运行平台等),⽤户基于该应⽤服务引擎,可以使用API构建该类应用,如GAE、SAE等
  • SaaS(软件即服务):用户通过Internet来使用软件,不必购买软件,只需按需租用软件服务即可,如Google Docs、Oracle CRM On Demand等

8.2.2 云计算关键技术

  • 虚拟化:硬件资源虚拟化、网络设施虚拟化、应⽤虚拟化、桌⾯虚拟化等
  • 分布式存储:Google GFS、Hadoop HDFS
  • 并行编程:Hadoop MapReduce
  • 数据管理:Google BigTable、Hadoop HBase
  • 分布式资源管理:Google Chubby

8.3 Hadoop MapReduce简介

8.3.1 MapReduce基础

MapReduce是Google提出的一个软件架构,⽤于大规模数据集(⼤于1TB)的并行运算。当前的软件实现是指定一个Map(映射)函数,⽤来把一组键值对映射成一组新的键值对;指定并发的Reduce(化简)函数,⽤来保证所有映射的键值对中的每一个共享相同的键组

MapReduce系统主要由三个模块组成:

  • 客户端用于将用户撰写的并行处理作业提交至Master节点
  • 主节点(Master)自动将用户作业分解为Map任务和Reduce任务,并将任务调度到工作节点(Worker)
  • 工作节点向master请求执⾏任务,同时多个⼯作节点组成的分布式文件系统HDFS⽤于存储输入输出数据

8.3.2 MapReduce工作流程

  1. MapReduce库先把user program的输入文件划分为M份(由输入文件的大小和用户定义的块大小决定)
  2. master是负责调度的,为空闲worker分配作业(Map作业或者Reduce作业
  3. 被分配了Map作业的worker,开始读取对应分片的输入数据,Map作业数量和split一一对应;Map作业从输入数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。
  4. 缓存的中间键值对会被定期写入本地磁盘,而且被分为R个区,R的大小是由用户定义的,将来每个区会对应一个Reduce作业;这些中间键值对的位置会被通报给master,master负责将信息转发给Reduce worker。
  5. master通知分配了Reduce作业的worker它负责的分区在什么位置,当Reduce worker把所有它负责的中间键值对都读过来后,先对它们进行排序,使得相同键的键值对聚集在一起。
  6. reduce worker遍历排序后的中间键值对,对于每个唯一的键,都将键与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中。
  7. 当所有的Map和Reduce作业都完成了,master唤醒正版的user program,MapReduce函数调用返回user program的代码。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值