Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Anúncio

Último(20)

Tachyon 2015 08 China

  1. 内存为中心的大数据 分布式存储系统 范斌, 软件工程师 Tachyon Nexus 2015/08/30 @ 南京
  2. • Tachyon项目的创始人及核心开发人员 • A轮融资: Andreessen Horowitz,750万美元 • 致力于Tachyon开源项目 2 www.tachyonnexus.com
  3. 3
  4. 4
  5. 大纲 • Tachyon系统 – 背景 – 系统架构 – 使用 • Tachyon开源项目 – 近况 – 产品用例 • 路线图 5
  6. 大纲 • Tachyon系统 – 背景 – 系统架构 – 使用 • Tachyon开源项目 – 近况 – 产品用例 • 路线图 6
  7. Tachyon 7 • 一种假想的超光速粒子 • 发音: ['tækiːˌɒn]
  8. Tachyon从UC Berkeley AMPLab诞生 8 服务器集群管理 并发计算平台 可靠, 分布式,以内存为中心的存储系统
  9. 9 我们为什么需要Tachyon?
  10. DRAM正越来越快 10 Memory-locality:达到交互级别响应的关键
  11. DRAM正越来越便宜 source: jcmit.com 11
  12. 涌现出的In-Memory平台 12
  13. 13 问题已经解决了么?
  14. 14 缺少存储层面的解决方 案
  15. 一个例子: - • In-memory大数据处理框架 • 在JVM中存储one in-memory copy • 记录并使用 lineage 来重建遗失数据 map filter map join reduce Lineage Tracking 15
  16. 问题一 16 数据共享可能成为瓶颈: Slow writes to disk Spark Job1 Spark Job2 block 1 HDFS / Amazon S3 block 1 block 1
  17. 问题一 17 数据共享可能成为瓶颈: Slow writes to disk Spark Job1 Hadoop MR Job block 1 HDFS / Amazon S3 block 1 block 1
  18. 问题二 18 Spark Task Spark memory block manager block 1 block 3 HDFS / Amazon S3 block 1 block 3 block 2 block 4 execution engine & storage engine same process 进程崩溃会导致缓存的数据丢失
  19. 19 crash Spark memory block manager block 1 block 3 HDFS / Amazon S3 block 1 block 3 block 2 block 4 execution engine & storage engine same process 问题二 进程崩溃会导致缓存的数据丢失
  20. HDFS / Amazon S3 20 block 1 block 3 block 2 block 4 execution engine & storage engine same process crash 问题二 进程崩溃会导致缓存的数据丢失
  21. HDFS / Amazon S3 问题三 21 In-memory数据重复 & JVM GC Spark Task1 Spark mem block manager block 1 block 3 Spark Task2 Spark mem block manager block 3 block 1 block 1 block 3 block 2 block 4 execution engine & storage engine same process (duplication & GC)
  22. Tachyon Reliable data sharing at memory-speed within and across cluster frameworks/jobs 22
  23. 概述 基本想法 • 围绕DRAM为中心的存储架构 • 在存储层实现lineage • 管理tiered storage 实践 • 保持一份数据在DRAM • 通过Re-computation保证容错 23
  24. Tachyon 生态系统 24
  25. Tachyon 系统架构 25
  26. Tachyon 系统架构 26
  27. 解决问题一 28 以内存读写速度共享数据: 跨Job/Framework Spark Job1 HDFS / Amazon S3 Tachyon in-memory block 1 Hadoop MR Job
  28. HDFS / Amazon S3 block 1 block 3 block 2 block 4 Tachyon in-memory block 1 block 3 block 4 解决问题二 29 Spark Task Spark memory block manager execution engine & storage engine same process 保护 in-memory数据安全, 即使遭遇JVM进程崩溃. .
  29. 解决问题二 30 HDFS disk block 1 block 3 block 2 block 4 execution engine & storage engine same process Tachyon in-memory block 1 block 3 block 4 crash HDFS / Amazon S3 block 1 block 3 block 2 block 4 保护 in-memory数据安全, 即使遭遇JVM进程崩溃.
  30. 解决问题三 31 避免in-memory数据重复, 减少 GC Spark Task Spark mem Spark Task Spark mem HDFS / Amazon S3 block 1 block 3 block 2 block 4 execution engine & storage engine same process (no duplication & GC) HDFS disk block 1 block 3 block 2 block 4 Tachyon in-memory block 1 block 3 block 4
  31. 性能比较 32
  32. 使用Tachyon容易么? 33
  33. Spark/MapReduce/Shark without Tachyon • Spark scala> val file = sc.textFile(“hdfs://ip:port/path”) • Hadoop MapReduce $ hadoop jar hadoop-examples-1.0.4.jar wordcount hdfs://localhost:19998/input hdfs://localhost:19998/output • Shark CREATE TABLE orders_cached AS SELECT * FROM orders; 34
  34. Spark/MapReduce/Shark with Tachyon • Spark scala> val file = sc.textFile(“tachyon://ip:port/path”) • Hadoop MapReduce $ hadoop jar hadoop-examples-1.0.4.jar wordcount tachyon://localhost:19998/input tachyon://localhost:19998/output • Shark CREATE TABLE orders_tachyon AS SELECT * FROM orders; 35
  35. 大纲 • Tachyon系统 – 背景 – 系统架构 – 使用 • Tachyon开源项目 – 近况 – 产品用例 • 路线图 36
  36. 开源项目概述 • 2012年夏天于UC Berkeley AMPLab开始 • Apache License 2.0, Version 0.7 (2015年7月) • 在超过50家公司部署 (2014年7月数据) • 有超过30家公司参与贡献代码 37
  37. 项目Contributor飞速增长 38 v0.4 Feb ‘14 v0.3 Oct ‘13 v0.2 Apr ‘13 v0.1 Dec ‘12 v0.6 Mar ‘15 v0.5 Jul ‘14 v0.7 Jul ‘15 1 3 15 30 46 70 111
  38. 代码量飞速增长 v0.4 Feb ‘14 v0.3 Oct ‘13 v0.2 Apr ‘13 39 v0.6 Mar ‘15 v0.5 Jul ‘14 v0.7 Jul ‘15 465 commits 696 commits 1080 commits 1610 commits 2884 commits 4969 commits
  39. 感谢我们的Contributors! 40
  40. 南京大学PASA大数据实验室 • 顾荣博士 – Tachyon开源不到4个月便加入社区 – Tachyon项目核心开发者, Meetup组织者 • 5+ contributor • 200+ commits • Performance Benchmark, Tiered Storage 41
  41. • 合作2年以上 • 10+ contributor • 500+ commits • Tiered Storage, System Stability, Security 42
  42. 见诸报道的Tachyon 43
  43. Under Filesystem: 丰富的选择 (Big Data, Cloud, HPC, Enterprise) 44
  44. • Framework: SparkSQL • Tachyon Storage: MEM + HDD • Under Storage: Baidu’s File System • 部署规模: 100+ 节点 • 管理存储容量: 1PB+ • 提升性能: 30x More Details: www.meetup.com/Tachyon 用例一: Baidu 45
  45. 用例二: SAAS公司 • Framework: Impala • Tachyon Storage: MEM + SSD • Under Storage: S3 • 提升性能: 15x 46
  46. 用例三: 石油公司 • Framework: Spark • Tachyon Storage: MEM • Under Storage: GlusterFS • 分析传统存储系统中的数据 47
  47. 用例四: SAAS公司 • Framework: Spark • Tachyon Storage: SSD • Under Storage: S3 • Elastic Tachyon deployment 48
  48. 大纲 • Tachyon系统 – 背景 – 系统架构 – 使用 • Tachyon开源项目 – 近况 – 产品用例 • 路线图 49
  49. 新功能 • Lineage in Storage (alpha) • Tiered Storage (beta) 50
  50. 新功能 • Lineage in Storage (alpha) • Tiered Storage (beta) • Data Serving • Support for New Hardware • … • Your New Feature! 51
  51. 52 Tachyon的目标?
  52. 更方便更有效的使用其他系统 欢迎合作! 53JIRA New Contributor Tasks
  53. • Website: http://tachyon-project.org • Github: https://github.com/amplab/tachyon • Meetup: http://www.meetup.com/Tachyon • New Contributor Tasks: http://goo.gl/zmt2PS • News Letter Subscription: http://goo.gl/mwB2sX • Email: binfan@tachyonnexus.com 54
  54. 55

Notas do Editor

  1. 大家下午好, 我叫范斌, 我是来自Tachyon开源项目的contributor 也是来自Tachyon Nexus团队的一名软件工程师. 今天我很高兴能够来到这里跟大家交流. 在接下来的几十分钟里, 我们会分享关于Tachyon这个项目的很多干货. 今天在座的有些朋友可能是对我们这个系统还不是很了解. 那么让我用一句话来概括, 它是一个可靠的, 以内存为中心的,分布式的, 存储系统. 这几个特性就导致它和之前的分布式存储系统比如GFS, HDFS等以硬盘或者SSD作为存储设备的系统会有很大乃至本质的不同. 这些不同体现在, 在面临的挑战, 设计的思路, 系统的架构和性能等等各个方面. 同时呢, 我觉得这个项目很非常有意思的一点是它是一个飞快发展中的开源项目, 所以今天我们也会分享这个项目它在短短2年多的时间里经历的飞速成长的历程, 以及我们在将来的roadmap.
  2. 首先简单介绍一下Tachyon Nexus. 它是由Tachyon的创立者李浩源, 以及在Tachyon项目中的核心开发者创立的一家初创公司. 我们团队主要成员大都是来自于美国计算机最顶尖的4所学校, 并从事相关的分布式系统研究或者工作的博士生。 几个月前Tachyon Nexus完成了A轮融资, 从Andreessen Horowitz这里融得了750w美元的风险投资. 我们这个公司目前还处于stealth mode, 但是可以告诉大家的是我们这个团队会竭尽所能**继续推动**Tachyon这个开源项目的建设.
  3. Tachyon Nexus as the company gets a lot of media attention from its first day of birth. Different ===== 这是关于Tachyon Nexus公司的媒体方面的宣传 财富杂志 华尔街日报 值得一提的是, 最近被美国媒体评为最值得关注的十家存储方面的创业公司之一。这是唯一一个开源的系统, 也是唯一一个华人是创始人的
  4. 非常重要的一点: 我们公司正在招人. 如果你对加入一家尚处早期但是以光速成长的创业团队有兴趣, 那么务必请在今天这个workshop后一定不要放过HY, 我们求搭讪
  5. 今天我们这个presentation主要分成3部分来展开. 第一部分, 是Tachyon系统的overview. 第二部分, 是开源项目的状况,以及在实际production里的使用案例分析 第三部分, 我们对这个系统的未来的展望
  6. 今天我们这个presentation主要分成3部分来展开. 第一部分, 是Tachyon系统的overview. 第二部分, 是开源项目的状况,以及在实际production里的使用案例分析 第三部分, 我们对这个系统的未来的展望
  7. Tachyon是从UC Berkeley的AMPLab孵化出来的一个项目. AMPLab提出了一个Data Analytics 的一整套生态系统。 Mesos 是一个cluster manager 可以方便部署distributed application. 谣言, 微软要以一个billion收购这家成立才3年不到的公司。 Spark是inmemory的计算平台. 而我们今天着重要说的Tachyon则是在这个stack里从存储层面上解决memory speed的数据读写与共享 Tachyon这个名字是UCB的教授Scott Shenker起得, 意思为比光速还要快的粒子。
  8. 那么问题来了, 为什么在这个时间点,在这样一套生态系统中 我们需要Tachyon 我们来看一下两个硬件的趋势 ======= Why do we want something like Tachyon?
  9. 第一个趋势: 一方面, 内存的带宽每年都在增长, 指数级的增长. 而另外的一方面, 传统的存储设备是硬盘的带宽的增速却在逐年放缓. 这个就会导致Memory-locality(也就是保持所需要的数据在内存当中) 对于实现low latency的数据访问无比的重要 === Here is the reason: on one hand, memory throughput increases exponentially each year, on the other hand, harddisk throughput increases, but at a rate much slower than memory. As a consequence, memory locality is the key to achieve interactive response time for big table queries.
  10. 第二个趋势, it's about money money money. 在内存带宽迅速增长的同时, 单位容量的内存价格是在一个快速下降的通道当中. 我们可能正在逐步接近到大家都可以大规模的部署大内存来加速运算的一个阶段. 几年之内, 几百GB甚至上TB内存的机器都会变得普遍.
  11. 这个趋势被越来越多的人和项目认识到, 所以也孕育了 People have already observed these trends and are creating solutions to exploit memory. Then the question is,
  12. 这里仍然有一个缺失的环节, 就是缺少一个专注于memory的Storage Layer, 使得不同的Application可以在其上运行 === There is still a solution missing, from the storage layer, where a wide range of applications can be built on top of.
  13. 为了让大家知道问题在哪儿, 或者说我们要解决的painpoint在哪里, 我来使用Spark作为一个例子. Spark是一个in memory的数据处理框架。 数据会保持一个copy在JVM当中, 因为只有一个copy, Spark使用lineage来保证在memory里的数据因为crash或者其他原因 有办法把它恢复出来 具体的方法如下面所示 ==== As an example, lets take a look at spark.
  14. 然而这并没有解决全部的问题。 比如在许多公司都会有非常复杂的pipeline, 比如一个job的输出是另一个job的输入 ==== Many companies have very complicated data processing pipeline, one job output is the input of another job
  15. 然而这并没有解决全部的问题。 比如在许多公司都会有非常复杂的pipeline, 比如一个job的输出是另一个job的输入 ==== Many companies have very complicated data processing pipeline, one job output is the input of another job
  16. 一旦计算层面出现了crash, 可能由于程序的bug或者server的硬件问题,那么这个JVM里的数据就会跟着一起丢失. ===== When the computation task crashes for some reason,
  17. The in-memory storage also dies, since they both are in the same process.
  18. Two tasks want to read the same data, both must load the data in-memory, which leads to data duplication. And since these are in the JVM, this could lead to GC issues.
  19. 那么回过头来想一下, 问什么会出现这些问题呢? 这是要在memory里实现这种的可靠的, across job, 甚至across famework的数据共享, 你需要的是从存储层面上来彻底解决这个问题, 而不是在计算层。 这就回答了我们最开始的问题, 为什么在这个生态系统里需要Tachyon。 ======= Tachyon I s designed to address these issues. With Tachyon system, you can achieve ….
  20. Tachyon是如何解决这些问题的呢?
  21. 上层是各种主流的大数据计算平台, 包括Spark, Hadoop 等, 下层是传统的或者甚至是单机的存储系统。 为什么我们需要他们? 因为他们很多时候是数据源,以及保证数据能够以更为廉价的方式储存. Tachyon在两层之间 起到一个桥梁的作用
  22. Master: keeps track of metadata and the status of all the workers Single Tachyon Worker Node, manages local space, and stores data in the ram disk.
  23. Standby masters for fast failover.
  24. … So, with these features, tachyon can achieve high throughput
  25. 然而这并没有解决全部的问题。 比如在许多公司都会有非常复杂的pipeline, 比如一个job的输出是另一个job的输入 ==== Many companies have very complicated data processing pipeline, one job output is the input of another job
  26. 这里我们比较一下往Tachyon和In-Memory的HDFS里写数据的throughput. 请注意的时in-Memory HDFS 由于没有Lineage这样的feature,同一份数据需要在不同的datanode的memory中保存. 而Tachyon只需要写一份, 而且是优先写在本地机器的内存里。 在这个microbenchmark中, 使用最多为30台机器, 每台机器配有10gigabit的网卡。 Tachyon throughput scales InMemory HDFS却做不到。 究其缘由, 是因为当
  27. 最新的v0.7版本里, 我们大约有100个contributor. 如果大家对这个规模和增长没有概念, 我举一个例子. 大家都知道Apache Spark炙手可热, 大约有600个contributor在github上. 可是在这个项目放上github 2年7个月的时候, 他们是15个contributor. 由此可见我们的项目发展是非常之罕见的.
  28. Thanks to the many members of the Tachyon community, many of which are in this room!
  29. 正因为Tachyon是一个开源项目,它吸引了很多不同的公司和机构来使用。 Since tachyon is open source, it is easy for people to start to use tachyon. … It is interesting to see the different use cases of tachyon
  30. Also, tachyon supports a variety of under filesystems, from different industries. Here are some of the supported under file systems. They span different use cases like big data, cloud, hpc, and enterprise, and it is exciting to see tachyon work with those systems.
  31. One of the primary concerns about Tachyon is that it only manages memory, which is still relatively scarce in many production environments. 0.6 introduces tiered storage which allows uses to allocate additional storage devices to Tachyon, instead of just memory. Currently memory, ssd, and hdd are supported storage types. When using tiered storage, the storage types will be transparent to the user, and Tachyon will simply spill from memory to the next available storage tier instead of directly to the underfilesystem. Tiered storage is configuration driven meaning there is no need to recompile or change the code.
  32. 其他的还有 Data Serving: Different ways to serve the data to applications New hardware: like rdma
  33. 我们很快还有会有
Anúncio