【问题标题】:Hadoop, hardware and bioinformaticsHadoop、硬件和生物信息学
【发布时间】:2011-06-30 01:06:49
【问题描述】:

我们即将购买新硬件来运行我们的分析,并且想知道我们是否做出了正确的决定。

设置:
我们是一个处理 DNA 测序数据的生物信息学实验室。我们这个领域最大的问题是数据量,而不是计算。单个实验将很快进入 10s-100s Gb,我们通常会同时运行不同的实验。显然,mapreduce 方法很有趣(另请参阅http://abhishek-tiwari.com/2010/08/mapreduce-and-hadoop-algorithms-in-bioinformatics-papers.html),但并非我们所有的软件都使用该范例。此外,一些软件使用 ascii 文件作为输入/输出,而其他软件使用二进制文件。

我们可能会买什么:
我们可能购买的机器将是一台具有 32 核和 192Gb RAM 的服务器,连接到 NAS 存储 (>20Tb)。对于我们的许多(非 mapreduce)应用程序来说,这似乎是一个非常有趣的设置,但是这样的配置会阻止我们以有意义的方式实现 hadoop/mapreduce/hdfs 吗?

非常感谢,
一月。

【问题讨论】:

    标签: hadoop mapreduce hdfs


    【解决方案1】:

    你有一个有趣的配置。您使用的 NAS 存储的磁盘 IO 是多少?

    根据以下情况做出决定: Map Reduce 范式用于解决处理大量数据的问题。基本上,RAM 比磁盘存储更昂贵。您不能将所有数据都保存在 RAM 中。磁盘存储允许您以更便宜的成本存储大量数据。但是,您从磁盘读取数据的速度并不是很高。 Map Reduce 是如何解决这个问题的? Map Reduce 通过将数据分布在多台机器上解决了这个问题。现在,您可以并行读取数据的速度超过了使用单个存储磁盘所能达到的速度。假设磁盘 IO 速度为 100 Mbps。使用 100 台机器,您可以以 100*100 Mbps = 10Gbps 的速度读取数据。

    通常处理器速度不是瓶颈。相反,磁盘 IO 是处理大量数据时的大瓶颈。

    感觉可能效率不高。

    【讨论】:

    • 一月,感谢您分享信息。绝对可以在本地模式下运行 Hadoop。尽管 0.21 版本确实允许使用多个内核。但是,您需要查看磁盘 I/O 的主要瓶颈。考虑这个简单的实验:
    • 一台双核单硬盘的笔记本电脑。两个映射器同时并行运行。映射器需要从磁盘读取数据。 Hadoop 通过具有 64Mb 量级的大块大小来实现读取效率,这导致顺序读取并完全避免随机搜索。现在,两个映射器正在从同一个硬盘读取。这将如何发生?
    • Case1:Mapper1 会将整个数据块读入内存。 Mapper2 正在等待 Mapper1 完成。然后,Mapper2 将开始读取一个数据块。因此,您会发现,即使有两个 Mapper 使用两个内核也不能解决问题。 Case2:Mapper1 读取一些数据。然后 Mapper2 读取一些数据。然后 Mapper1 再次读取一些数据等等。问题随机寻找。 Hadoop 想要避免的问题。
    • 您可以轻松地将这个场景映射到您计划购买的硬件上,以确定它是否适合 Map Reduce。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多