arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 1801.09802cs.DBcs.DCcs.PL
收藏

自动利用MapReduce框架实现数据密集型应用

Automatically Leveraging MapReduce Frameworks for Data-Intensive Applications

Maaz Bin Safeer Ahmad, Alvin Cheung

摘要:

MapReduce是一种流行的编程范式,用于开发大规模的数据密集型计算。最近开发了许多实现这种范式的框架。然而,要利用这些框架,开发人员必须熟悉它们的API并重写现有代码。Casper是一个新的工具,可以自动将顺序Java程序转换为MapReduce范式。Casper识别要重写的潜在代码片段并分两步翻译它们:(1)Casper使用程序合成来搜索程序摘要(即,功能规范)。摘要使用类似于MapReduce范式的高级中间语言表示,并使用定理证明器验证其在语义上与原始摘要等价。(2)Casper使用Hadoop、Spark或Flink API从摘要中生成可执行代码。我们通过自动将真实世界的顺序Java基准转换为MapReduce来评估Casper。由此产生的基准测试比原始测试快48.2倍。

英文摘要:

MapReduce is a popular programming paradigm for developing large-scale, data-intensive computation. Many frameworks that implement this paradigm have recently been developed. To leverage these frameworks, however, developers must become familiar with their APIs and rewrite existing code. Casper is a new tool that automatically translates sequential Java programs into the MapReduce paradigm. Casper identifies potential code fragments to rewrite and translates them in two steps: (1) Casper uses program synthesis to search for a program summary (i.e., a functional specification) of each code fragment. The summary is expressed using a high-level intermediate language resembling the MapReduce paradigm and verified to be semantically equivalent to the original using a theorem prover. (2) Casper generates executable code from the summary, using either the Hadoop, Spark, or Flink API. We evaluated Casper by automatically converting real-world, sequential Java benchmarks to MapReduce. The resulting benchmarks perform up to 48.2x faster compared to the original.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑