引用本文:张奕裕,王归航,左志强,李宣东.基于核外计算的Datalog引擎设计与实现.软件学报,2023,34(8):3587-3604
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 1884次   下载 3970 本文二维码信息
码上扫一扫!
分享到: 微信 更多
基于核外计算的Datalog引擎设计与实现
张奕裕1,2, 王归航1,2, 左志强1,2, 李宣东1,2
1.南京大学 计算机科学与技术系, 江苏 南京 210023;2.计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
摘要:
随着新兴技术的迅速发展, 领域软件对开发效率提出了新的要求. Datalog语言作为一门具有简洁语法和良好语义的声明式编程语言, 能帮助开发人员快速开发和解决问题, 近年来越来越受到重视与欢迎. 但解决真实场景问题时, 现有的单机Datalog引擎计算规模往往受限于内存容量大小, 不具有可扩展性. 为解决上述问题, 设计并实现基于核外计算的Datalog引擎. 方法首先设计一系列计算Datalog程序所需的支持核外计算的操作算子, 然后将Datalog程序转换合成带核外计算算子的C++程序, 接着方法设计基于Hash的分区策略和基于搜索树剪枝的最少置换调度策略, 将相应的分区文件调度执行计算并得到最终结果. 基于该方法, 实现原型工具DDL (disk-based Datalog engine), 并选取广泛应用的真实Datalog程序, 在合成数据集以及真实数据集上进行实验, 实验结果体现了DDL良好性能以及高可扩展性.
关键词:  Datalog引擎  核外计算  操作算子  分区策略  调度策略
DOI:10.13328/j.cnki.jos.006552
分类号:TP311
基金项目:国家自然科学基金(61802168);江苏省自然科学基金(BK20191247)
Design and Implementation of Datalog Engine Based on Out-of-core Computing
ZHANG Yi-Yu1,2, WANG Gui-Hang1,2, ZUO Zhi-Qiang1,2, LI Xuan-Dong1,2
1.Department of Computer Science and Technology, Nanjing University, Nanjing 210023, China;2.State Key Laboratory for Novel Software Technology (Nanjing University), Nanjing 210023, China
Abstract:
As emerging technologies develop rapidly, domain software puts forward new requirements for development efficiency. In addition, as a declarative programming language with concise syntax and well-defined semantics, Datalog can help developers solve complex problems rapidly and achieve smooth development and thus has attracted wide attention in recent years. However, when solving real-world problems, the existing single-machine Datalog engines are often limited by the size of memory capacity and possess no scalability. To solve these problems, this study designs and implements a Datalog engine based on out-of-core computing. Firstly, a series of operators supporting out-of-core computing are designed to compute the Datalog program, and then the program is converted into a C++ program with the operators. Next, the study designs a partition strategy based on Hash and a minimum replacement scheduling strategy based on search tree pruning. After that, the corresponding partition files are scheduled and computed to generate the final results. Based on this method, the study establishes the prototype tool DDL (disk-based Datalog engine) and selects widely used real-world Datalog programs to conduct experiments on both synthetic and real-world datasets. The experimental results show that DDL has positive performance and high scalability.
Key words:  Datalog engine  out-of-core computation  operators  partition strategy  scheduling strategy

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: