写点什么

向上扩展或向外扩展?还是两者兼顾?​

  • 2011 年 3 月 12 日
  • 本文字数:1671 字

    阅读完需:约 5 分钟

在过去的 20 年里,IT 行业的主要趋势是向外扩展。​从大型机到 Unix 和 / 或 Windows 服务器组成的网络,再到 Google 发明并由 Apache Hadoop 改进的 MapReduce 系统​,向外扩展的方式证明了它的价值。但最近在 LinkedIn Hadoop 用户组(需要成员资格)里有一个有趣的讨论,​内容是针对使用 MapReduce 和胖节点(Fat Node)的“大数据”分析,向上扩展 GPU。

这个讨论是由 Suleiman Shehu 发起的,​延续了他 5 个月前的一篇博文的内容,​文中提到:​

过去的两年里​,​包含 1000 个​普通 CPU 的大集群,运行着 Hadoop MapReduce,驱动着涉及成百 TB 信息的“大数据”的分析处理​。​现在,新一代的 CUDA GPU​创造了潜在的“大数据”分析的颠覆性技术​,使用更小的混合 CPU-GPU 集群。相比传统的运行 Hadoop MapReduce 的 CPU 集群,​这些小型 - 中型的混合 CPU-GPU 集群只需 1/10 的硬件成本、1/20 的电力消耗就可以获得 500x 甚至更快的速度。​这项颠覆性的技术进步​让小公司和组织能和那些可以负担非常大的 Hadoop CPU 集群来分析“大数据”​的公司进行竞争。​

考虑到能节省大量成本,并获得重大性能提升,Shehu 的主要问题是:​

有了 Hadoop MapReduce,我们是否可以发挥最新一代的 Fermi GPU 的并行处理能力​,结合 MapReduce 模型的简单性,创造出更小的,可以负担得起的 CPU-GPU 集群,用于实时“大数据”​分析?​

在他的博客中,Shehu 断言实现此类集群最合适​的方法是把数据节点向上扩展成胖节点。​他提出胖节点的作用是把尽可能多的处理​放在本地节点上,这些节点的架构设计特性如下:​

  • 使用双 12 核 CPU,每个 CPU 用 64GB 或更多 RAM,每个节点 24 CPU 核心和 124GB RAM。
  • 为双 CPU 连接 10 个或更多 GPU,提供 4,800 GPU 处理核心,每个节点可以提供超过 10 TFLOPS 的处理能力。
  • 用高速固态驱动器替换本地硬盘,每个使用 PCI Express 的 SSD 都有 200K IOPS 或更高吞吐量。在单个节点上,多个 SSD 可以组合在一起并行运行,达到超过 220 万 IOPS 的吞吐量。
  • 节点之间的网络使用 40Gb/s 的 InfiniBand 网络连接。结合传输速度达到每秒 90M MPI 消息、跨 PCIe 双总线的网络连接到其他节点,完全可以达到一个大型 Hadoop 集群的消息传输能力。

基于此,Shehu 认为:​

设计一个能发挥如今 GPU 技术​的 MapReduce 变体,可以​显著降低“大数据”分析的前期集群构造和能源消耗成本,与此同时还能利用 MapReduce 模型降低软件开发的成本。​

尽管从技术上来讲这个 MapReduce 实现可以提升整个集群的性能,但讨论的一个参与者 Vladimir Rodionov 提出了关于此类集群的数据容量问题。传统 Hadoop 集群的优势之一是可以存储上 PB 的数据,而较小的“胖节点”​集群要求每个节点有更多带独立控制器的磁盘存储​,这会抬高集群的​价格。​

Gerrit Jansen van Vuuren 的另一个评论也持有相同观点:​

… Hadoop 的设计不是针对处理器密集型任务的,而是数据密集型任务——“大数据”​。…无论你的 RAM、CPU/GPU 有多快,你还是要从磁盘、SSD 或其他存储中读取那么多字节。…也许能更好地运行在这种面向计算的平台​上的软件框架是与 Grid Gain 类似的东西。​

Shehu 答复了这些评论:​

… 有很多 Hadoop 用户目前正在使用 Hadoop 来进行上 TB 数据的分析处理​,他们也把自己的数据定义为“大数据”​。所以说这个术语​并非一成不变的。​因为 Hadoop 不是设计来执行分析处理的,​所以我们有不少 MapReduce 变体​,例如 Twister Iterative MapReduce、Hadoop++ 等等,它们更关注于运行分析类 M/R 查询。我相信这是 M/R GPU 集群最初的领域。​

Hadoop 集群中使用的普通服务器的定义正在快速改变。两三年前的高端服务器​现在就很普通。因此,今天的集群正获得越来越多的计算能力。无论我们是否意识到了,map-reduce 计算变得更快了。​真正的问题是我们是否可以两者兼得——在单个集群中有​大数据存储和执行计算密集型任务(利用特定硬件)​而不会耗尽资源,或者我们真的需要开始分别对待这两个问题​,定义两种不同的方法。

阅读英文原文:​ Scale-up or Scale-out? Or both?

2011 年 3 月 12 日 21:331581
用户头像

发布了 135 篇内容, 共 53.6 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

我以订披萨为例,给女朋友详细讲了Java设计模式的3种工厂模式

华为云开发者社区

Java 工厂模式 工厂方法模式 简单工厂模式 抽象工厂模式

Linux之diff命令

入门小站

Linux

2022年企业数字化技术应用10大趋势

易观分析

银行数字化转型 企业数字化 后疫情时代企业应对策略 十四五规划

知识中台,驱动产业智能化升级

百度开发者中心

知识图谱

CSS 自适应内容宽度的输入框

编程江湖

知识库进化论 | 华创资本对话 ONES & 为知笔记创始人

万事ONES

Android技术分享| 自定义View实现使用更方便的SeekBar

anyRTC开发者

android 音视频 移动开发 白板 SeekBar

线上流量对比应用实践

得物技术

数据 流量 实践 #架构 流量回放

使用php-amqplib实现RabbitMq

Owen Zhang

php RabbitMQ php-amqplib

Hadoop小文件问题产生及解决方案

五分钟学大数据

hadoop 1月月更

Jetpack—LiveData组件的缺陷以及应对策略

vivo互联网技术

android livedata JetPack 移动应用开发

Java正则表达式语法大全

编程江湖

中国边缘云基础设施服务市场份额,百度智能云第一

百度开发者中心

边缘计算 边缘云

龙蜥社区一周动态 | 1.10-1.14

OpenAnolis小助手

Linux 开源 社群

组件通信、硬件池化,这些创新技术你get了吗?|HDC2021技术分论坛

HarmonyOS开发者社区

HarmonyOS

前端开发之JQuery的综合应用

飞不起来的童年

jquery 前端开发

作业一

dll

作业3

dll

流处理组件Flume使用攻略

编程江湖

大数据开发之通过 Spark 来扩展 Presto

飞不起来的童年

大数据 spark

在线时间加减计算器

入门小站

工具

专访 | 滴滴青桔资深设计师首次揭秘“实时云渲染+云展厅”设计

3DCAT实时渲染

云计算 云渲染 云展厅

18 Prometheus之PromQL介绍

穿过生命散发芬芳

Prometheus 1月月更

我相信:没有解不开的难题|ONES 人物

万事ONES

作业2

dll

MySQL分区表简介

soap said

:MySQL 数据库

好用易用的主机监控系统哪里有?主要监控指标包含哪些?

行云管家

运维 IT运维 主机监控 网络监控

向上扩展或向外扩展?还是两者兼顾?​-InfoQ