淘宝分布式并行计算框架fourinone.pdf

淘宝分布式并行计算框架 fourinone 彭渊 (千峰) 简单自我介绍 从业java技术领域十多年 现在淘宝网任高级专家,从事互联网核心技术研究, 之前在金蝶总体架构部任SOA架构师,负责设计ESB 创业生涯 …… 提纲 • 背景:我们需要解决的问题 • 分布式计算*并行计算*云计算 • Hadoop*Zookeeper*Hbase概述 • Fourinone介绍 • Fourinone应用场景:上亿数据排序 • Fourinone 2.0 新功能介绍 我们需要解决的问题 科学发现:万亿次计算实例 我们需要解决的问题 需要非常巨大的计算能力才能解决的问题。这类问题很多还是跨学科的、极富挑战 性的、人类急待解决的科研课题: 1.解决较为复杂的数学问题,例如:GIMPS (寻找最大的梅森素数)。 2.研究 寻找最为安全的密码系统,例如:RC-72 (密码破解)。 3.生物病理研究,例如:Folding@home (研究蛋白质折叠,误解,聚合及由此引 起的相关疾病)。 4.各种各样疾病的药物研究,例如:United Devices (寻找对抗癌症的有效的药 物)。 5.信号处理,例如:SETI@Home (在家寻找地外文明)。 从这些实际的例子可以看出,这些项目都很庞大,需要惊人的计算量,仅仅由单个 的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在以前,这些 问题都应该由超级计算机来解决。但是, 超级计算机的造价和维护非常的昂贵,这不 是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护 方便的计算方法应运而生——分布式计算! 提纲 • 背景:我们需要解决的问题 • 分布式计算*并行计算*云计算 • Hadoop*Zookeeper*Hbase概述 • Fourinone介绍 • Fourinone应用场景:上亿数据排序 • Fourinone 2.0 新功能介绍 分布式计算 • 所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的 计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许 多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计 算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号, 寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过 1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更 为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的 电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。 思考: 我们能否将访问淘宝网的几千万个用户电脑利用做一次分布式计算? 什么是并行计算 并行计算(Parallel Computing)是指同时使用多种计算 资源解决计算问题的过程。并行计算的主要目的是快速解 决大型且复杂的计算问题。此外还包括:利用非本地资源, 节约成本― 使用多个“廉价”计算资源取代大型计算机, 同时克服单个计算机上存在的存储器限制。 传统地,串行计算是指在单个计算机(具有单个中央处 理单元)上执行软件写操作。CPU 逐个使用一系列指令解 决问题,但其中只有一种指令可提供随时并及时的使用。 并行计算是在串行计算的基础上演变而来,它努力仿真自 然世界中的事务状态:一个序列中众多同时发生的、复杂 且相关的事件。 并行计算的特点 为利用并行计算,通常计算问题表现为以下特征: (1)将工作分离成离散部分,有助于同时解决; (2 )随时并及时地执行多个程序指令; (3)多计算资源下解决问题的耗时要少于单个计算资源下的耗时。 并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和 空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用 多个处理器并发的执行计算。 并行计算与串行计算

文档评论(0)

1亿VIP精品文档

相关文档