CASIA OpenIR  > 毕业生  > 博士学位论文
分布式系统的高层编程抽象
其他题名High Level Programming Abstraction for Distributed Systems
索昆
学位类型工学博士
导师刘成林
2011-05-27
学位授予单位中国科学院研究生院
学位授予地点中国科学院自动化研究所
学位专业计算机应用技术
关键词分布式系统 数据库 声明式网络编程 递归查询执行 网络模拟 Distributed Systems Database Declarative Networking Recursive Query Evaluation Network Simulation
摘要随着网络规模的扩大、节点种类的增长以及网络中支持的应用与服务的多样性的提高,网络环境的复杂性迅速增加。网络协议与应用的开发中不得不考虑越来越多应用无关的底层细节,例如Ad Hoc(移动自组织)网络中的高动态性、低可靠性、能量限制以及异质性,互联网巨大的规模,对可靠性与适应性的高要求都需要开发人员处理,使网络中协议与应用的开发变得越来越复杂。缺乏面向网络的能够将应用逻辑与底层细节分离的高层编程抽象逐渐成为了网络系统发展的一大障碍。在各种解决方案中,声明式网络设计方法得到了越来越多的重视。该方法允许用户使用声明式语言以指定``预期输出''而非``如何进行计算''的方式描述网络程序。但是该方法中依赖的面向网络的声明式语言的底层无关性、运行及优化方面还存在各种问题,本文针对对声明式网络语言中存在的这些问题进行了研究,成功的降低了网络协议与应用的开发的难度,提高程序开发的效率。主要成果有: 1.改进了声明式语言的编程方法。我们提出了新的基于改写的声明式语言代码自动完成方法。该方法能够自动生成一些常用的网络事件的代码(例如数据更新与过期、最佳数据的维护与网络消息处理),使声明式网络协议与程序中处理底层细节的代码减少了四分之三以上,进一步提高了语言的声明度。 2.提出了声明式语言的平台无关运行模型。我们提出了新的声明式语言的基于DBMS的平台无关运行模型,其中Netlog程序在执行前被编译为通用的SQL语言语句,DBMS通过执行相应的SQL语句执行Netlog程序,允许Netlog程序在任何能够部署DBMS的平台上运行。我们对该模型在多种不同平台上进行的实现显示了该平台具有很高的可移植性以及较好的性能。 3.提出了扩展半质朴优化方法。我们提出了新的声明式语言优化的扩展半质朴方法以进一步优化执行效率。该方法继承了半质朴方法的思想,避免了声明式语言递归运算中在相同数据上的重复计算,大幅提高了声明式语言的运算效率。并且我们证明了该方法的正确性。 4.提出了声明式网络程序模拟的模型。我们提出了声明式网络程序的网络模拟模型。该模型首先将声明式网络程序以数据为中心的思想和了统一的关系数据模型两个特点纳入了网络模拟模型中。基于该模型的着色方法能够在程序运行中即时以图形方式显示节点中拓扑相关的数据,使测试人员免于自行编写代码收集以及分析数据的困扰,为声明式网络程序的调试提供了全新的视角。 最后我们实现了Netquest虚拟机以及QuestMonitor模拟器对以上提出的各种方法进行了实验验证。
其他摘要Recently, networks have grown dramatically in scale, heterogeneity and the diversity of applications and services they support. Following this trend, the complexity of network environments increases rapidly, making network programming more and more complex. The lack of a high level programming abstraction becomes a fundamental barrier to their development. The Declarative programming approach appears to be one of the most promising avenues for dealing with the complexity of network programming, allowing to specify “expected results”instead of “how to compute them”. This thesis is devoted to the implementation and optimization of a declarative programming language, Netlog, with the purpose of making network programming easier, thus improving the productivity of programmers. The main contributions are: 1. More declarative programming. Different routing, organization and overlay protocols have been implemented with Netlog and tested over different platforms. The size of the programs in Netlog are two orders of magnitude smaller than the corresponding programs in imperative languages. We propose an automatic code generation method to further improve the declarativity of Netlog programs. This method automatically generates code for common network issues (such as data update, message handling), which allows developers to write programs in a more declarative manner. Communication protocols have been developed with the help of these rewriting algorithms. The ratio of code in these programs related to low level network issues is reduced by three quaters. 2. Virtual machine for Netlog programs. We propose a model for the evaluation of Netlog, the Netquest Virtual Machine (NVM in short). Netlog programs are compiled to SQL. The NVM executes Netlog programs by invoking a DBMS to execute corresponding SQL queries, taking advantage of the functionalities of the DBMS. A bottom-up evaluation algorithm is used to further improve the efficiency. This algorithm follows the principles of the seminaive method that optimizes the evaluation by avoiding redundant recomputation on the same data. Relying on a DBMS for the evaluation makes the NVM easy to implement and port on platforms with an embedded DBMS, even on small sensor nodes. This allows Netlog programs to run on almost any device. The NVM has been implemented and tested on various platforms, including network simulators and mobile devices. 3. Fast prototyping made easy. We present the QuestMonitor, a network simu...
馆藏号XWLW1612
其他标识符200818014629091
语种中文
文献类型学位论文
条目标识符http://ir.ia.ac.cn/handle/173211/6351
专题毕业生_博士学位论文
推荐引用方式
GB/T 7714
索昆. 分布式系统的高层编程抽象[D]. 中国科学院自动化研究所. 中国科学院研究生院,2011.
条目包含的文件
文件名称/大小 文献类型 版本类型 开放类型 使用许可
CASIA_20081801462909(3493KB) 暂不开放CC BY-NC-SA请求全文
个性服务
推荐该条目
保存到收藏夹
查看访问统计
导出为Endnote文件
谷歌学术
谷歌学术中相似的文章
[索昆]的文章
百度学术
百度学术中相似的文章
[索昆]的文章
必应学术
必应学术中相似的文章
[索昆]的文章
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。