- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
种面向分布式系统的程序设计模式 - 计算机工程与科学
CN43—1258/TP 计算机工程与科学 2008年第3O卷第 12期
ISSN 1007—130X COMPUTERENGINEERING SCIENCE Vo1.30,No.12,2008
文章编号:1007-130X(2008)12—0142—04
一 种面向分布式系统的程序设计模式
A ProgrammingPatternforDistributedSystems
李慧霸,彭宇行,卢锡城
LIHui-ba。PENG Yu-xing,LU Xi-cheng
(并行与分布处理国家重点实验室,湖南 长沙 410073)
(NationalLaboratoryforParallelandDistributedProcessing,Changsha410073.China)
摘 要:分布式系统的程序设计模式主要包括多线程模式和事件驱动模式,其中事件驱动模式 占据了主导地位。本文
讨论了这两种模式的不足,以及Coroutine模式相对它们的优点,并认为Coroutine模式是最适合分布式系统的程序设计模
式。本文在此基础上提出了Libresync,它是一个基于Coroutine模式的分布式系统基础支持库。它既能给应用开发带来
非常清晰的控制流程,又具有很高的灵活性和表达力,性能也能满足大多数需求。
Abstract:Programmingpatternsfordistributedsystemsmainlyincludesmulti-threadedandevent-drivenpatterns,and
theevent—drivenpattern isthemajorone.Thispaper,however,discussestheirdisadvantages,andtheCoroutinepattern’S
advantagesoverthem.WethinkCoroutineisthemostsuitablepattern fordistributedsystem programming.Andwepresent
Libresync,aCoroutine-basedsupportinglibraryfordistributedsystems,whichbringsUSclearcontrolflow,highflexibility
andexpressiveness.TheperformanceofLibresyncisalsoreasonablygoodenoughformostpurpo ses.
关键词:分布式系统;并发;多线程;事件驱动;Coroutine
Keywords:distributedsystem;concurrency;multi-thraeded;event-driven;Coroutine
中图分类号:TP311.5 文献标识码:A
们当前描述、处理并发的方式则带来了额外的偶然复杂度。
1 引言 多数研究人员采用多线程模式或者事件驱动模式来描述、
处理并发,然而我们认为这两种模式都会在分布式系统的
分布式系统具有开发难度高、维护复杂度高的特点。 开发过程中引发很高的偶然复杂度。
分布式操作系统、网格、中间件等研究工作分别采用不同的 多线程模式会带来各种竞态条件问题,为解决竞态条
方法,试图构建一个理想的分布式计算环境。然而这仍然 件 问题而引入的锁又会导致死锁、活锁问题,因而研究人员
是一个远未解决的问题。 普遍认为这种模式在许多方面不适合用来支持分布式系统
Raymond[1]将软件开发的复杂度分为本质复杂度、选 中的并发任务L3]。
择复杂度和偶然复杂度。本质复杂度是问题本质具有的复
文档评论(0)