分布式流处理与 DUP 系统:原理、应用与优势
1. DUP 系统概述
DUP 系统可用于需要并行访问共享可变状态的应用程序,将适合流处理的部分进行并行化和分布式处理。其他代码部分则通过流与 DUP 部分进行通信。
1.1 多语言开发支持
DUP 系统允许开发者使用多种不同语言编写各个阶段的代码。这一特性使应用程序能够充分利用异构多核或高性能计算(HPC)系统中的专业资源。与之对比,现有的应用开发模型常迫使程序员为整个应用使用特定的一种或几种语言。例如,在 CUDA 代码优化研究中,尽管程序中 CUDA 特定部分平均仅占 14%,但 CUDA 部分的存在限制了整个程序对语言和编译器的选择。而使用 DUP 系统,开发者可以用最合适的语言编写各个阶段的代码,进而组合成更大的应用程序。
1.2 遗留代码的并行与分布式执行
DUP 系统的另一个重要应用场景是对遗留代码进行并行和分布式执行。与其他并行编程的新语言不同,DUP 系统主张为遗留代码编写轻量级包装器以获得流式 API。实践表明,将遗留应用程序改造为从流中获取输入并将输出作为流输出通常较为容易。
2. 案例研究:分布式分子序列字符串匹配
2.1 背景与问题
在分子生物学和生物信息学中,基因序列数据库中的精确和不精确字符串搜索至关重要。许多应用,如寻找基因序列亲属、挖掘 PCR 引物或 DNA 探针等,都依赖于字符串搜索。在 ARB 软件包中,基于后缀树的搜索索引 PT - Server 是用于快速序列字符串匹配的核心数据结构。然而,PT - Server 存在内存消耗大的问题,若整个数据结构无法装入可用主内存,数据库
超级会员免费看
订阅专栏 解锁全文
37

被折叠的 条评论
为什么被折叠?



