We tackle the problem of automatically designing concurrent data structure operations given a sequential data structure specification and knowledge about concurrent behavior. Designing concurrent code is a non-trivial task even in simplest of cases. Humans often design concurrent data structure operations by transforming sequential versions into their respective concurrent versions. This requires an understanding of the data structure, its sequential behavior, thread interactions during concurrent execution and shared memory synchronization primitives. We mechanize this design process using automated commonsense reasoning. We assume that the data structure description is provided as axioms alongside the sequential code of its algebraic operations. This information is used to automatically derive concurrent code for that data structure, such as dictionary operations for linked lists and binary search trees. Knowledge in our case is expressed using Answer Set Programming (ASP), and we employ deduction and abduction -- just as humans do -- in the reasoning involved. ASP allows for succinct modeling of first order theories of pointer data structures, run-time thread interactions and shared memory synchronization. Our reasoner can systematically make the same judgments as a human reasoner, while constructing provably safe concurrent code. We present several reasoning challenges involved in transforming the sequential data structure into its equivalent concurrent version. All the reasoning tasks are encoded in ASP and our reasoner can make sound judgments to transform sequential code into concurrent code. To the best of our knowledge, our work is the first one to use commonsense reasoning to automatically transform sequential programs into concurrent code. We also have developed a tool that we describe that relies on state-of-the-art ASP solvers and performs the reasoning tasks involved to generate concurrent code.


翻译:我们处理的是自动设计并行数据结构操作的问题,因为有顺序的数据结构规格和关于并行行为的知识。设计并行代码是一项非三重任务,即使是在最简单的案例中也是如此。人类往往通过将相继版本转换为各自的同时版本来设计并行的数据结构操作。这需要理解数据结构、其相继行为、同时执行和共享记忆同步原始过程中的线条互动。我们用自动公元共识推理将这一设计过程机械化。我们假设数据结构描述是与其代数操作的顺序代码相平行提供的。这种信息被用来自动为数据结构生成并行代码,例如链接列表的字典操作和双元搜索树等。我们的案件知识是用“答案设置”程序(ASP)来表达的,我们在推理中也像人类一样使用推理法一样的推理和绑架。ASP可以简明地建模该工具数据结构的第一顺序理论、运行时的线条互动和共享的记忆同步。我们的解释者可以系统地将同一推理法推理作为人类的比喻,同时构建安全的代码。我们用一些推理推理来解释我们连续结构结构结构结构结构的推理的推理工作。

0
下载
关闭预览

相关内容

ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
【干货书】开放数据结构,Open Data Structures,337页pdf
专知会员服务
16+阅读 · 2021年9月17日
【知识图谱@ACL2020】Knowledge Graphs in Natural Language Processing
专知会员服务
64+阅读 · 2020年7月12日
17篇知识图谱Knowledge Graphs论文 @AAAI2020
专知会员服务
168+阅读 · 2020年2月13日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
【ACL2020放榜!】事件抽取、关系抽取、NER、Few-Shot 相关论文整理
深度学习自然语言处理
18+阅读 · 2020年5月22日
量化金融强化学习论文集合
专知
13+阅读 · 2019年12月18日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
LibRec 精选:连通知识图谱与推荐系统
LibRec智能推荐
3+阅读 · 2018年8月9日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
Arxiv
0+阅读 · 2021年11月9日
VIP会员
相关VIP内容
【干货书】开放数据结构,Open Data Structures,337页pdf
专知会员服务
16+阅读 · 2021年9月17日
【知识图谱@ACL2020】Knowledge Graphs in Natural Language Processing
专知会员服务
64+阅读 · 2020年7月12日
17篇知识图谱Knowledge Graphs论文 @AAAI2020
专知会员服务
168+阅读 · 2020年2月13日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
相关资讯
【ACL2020放榜!】事件抽取、关系抽取、NER、Few-Shot 相关论文整理
深度学习自然语言处理
18+阅读 · 2020年5月22日
量化金融强化学习论文集合
专知
13+阅读 · 2019年12月18日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
LibRec 精选:连通知识图谱与推荐系统
LibRec智能推荐
3+阅读 · 2018年8月9日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
Top
微信扫码咨询专知VIP会员