• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 11
    • 下载费用:30 金币  

    重庆时时彩组三: 异构分布式实时系统的事务调度方法.pdf

    关 键 词:
    分布式 实时 系统 事务 调度 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201110145804.7

    申请日:

    2011.06.01

    公开号:

    CN102207883A

    公开日:

    2011.10.05

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情: 发明专利申请公布后的视为撤回IPC(主分类):G06F 9/45申请公布日:20111005|||实质审查的生效IPC(主分类):G06F 9/45申请日:20110601|||公开
    IPC分类号: G06F9/45; G06F9/50 主分类号: G06F9/45
    申请人: 华中科技大学
    发明人: 王非; 黄本雄; 段炼; 邓磊
    地址: 430074 湖北省武汉市洪山区珞喻路1037号
    优先权:
    专利代理机构: 北京市德权律师事务所 11302 代理人: 周发军
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201110145804.7

    授权公告号:

    ||||||

    法律状态公告日:

    2014.02.19|||2011.11.23|||2011.10.05

    法律状态类型:

    发明专利申请公布后的视为撤回|||实质审查的生效|||公开

    摘要

    本发明涉及异构分布式并行处理领域的事务优先级确定方法,包括下列步骤:确定全局事务的优先级;将全局事务分解得到的子事务按其涉及的数据的物理位置进行分配;动态确定局部事务各部分的优先级;局部事务并行处理;返回执行结果等。本发明提供一种基于异构分布式系统的动态确定事务优先级的流程,保证了系统处理全局事务的实时性、可靠性。

    权利要求书

    权利要求书
    1.  一种异构分布式实时系统的事务调度方法,其特征在于,包括以下步骤:
    步骤1,全局事务管理系统的全局事务调度器给各全局事务分配优先级;
    步骤2,全局事务调度器判断某个全局事务是否能分解;如果该事务能够分解,则全局事务调度器对该全局事务按语义以及涉及的数据的物理位置进行分析并分解为若干子事务,将分解得到的子事务分配到合适的节点上成为局部事务,各局部事务的初始优先级为原全局事务的优先级;
    否则,将该全局事务分配到合适的节点上作为一个局部事务;
    步骤3,各节点上的局部实时事务管理系统分别对本节点的局部事务构建有向无环图模型,该有向无环图模型包括若干具有前驱、后续依赖关系的事务层;
    步骤4,对每一个分配有子事务的节点,分别执行以下步骤:
    步骤4-1、确定该节点内的多核处理器的各内核最早可以开始执行新的事务的时间;
    步骤4-2,确定该节点的每个事务的所有前驱事务执行完毕时间;
    步骤4-3,确定该节点的各个事务之间的通讯损耗时间;如果父事务与子事务在同一个核上执行,则两者之间的数据传递时间可以视为0;如果分配到不同核上执行,则各个事务之间的通讯损耗时间为:
                                                                                      (1)
    其中表示将数据在核传递到核需要的时间,表示的是事务的规模大小,通过单位时间内的读写次数来衡量,表示的是事务的规模大小与事务在不同节点之间传递的时间的线性因子,表示的是初始化参数; 
    步骤4-4,确实各事务在各内核的最早开始时间;表示事务在核上的最早可以开始时间,可以通过以下公式计算得到:
                   (2)
                         (3)
    其中表示事务的所有前驱事务,,表明核已经空闲可以最早开始执行下一个事务的时间,通过估计在该核内等待调度的事务规模进行衡量,事务规模同样通过单位时间内事务读写次数来判断;表示数据传递时间损耗,通过公式(1)获得,如果是在同一个核内传递则设为0;事务在核开始时间加上事务本身执行时间得到事务在核上最早执行完毕时间;
    步骤4-5,当事务从上一层执行到本层时,重新计算本层内各事务的优先级,优先级可以根据如下公式计算得出:
            (4)
    其中表示事务的优先级,假设节点为核处理器,从中选取保证事务最早开始执行的核为调度目的地,表示入口事务的优先级大小,即为全局事务的优先级;
    步骤4-6,根据步骤4-5计算的优先级,对优先级队列重新排序;
    步骤4-7,内核根据优先级队列执行事务,局部事务调度器监视执行状态并反馈给全局事务调度器;如果执行成功,则记录执行结果以及执行结束时间;如果执行失败,则返回错误代码并进行必要的回滚操作;
    步骤4-8,判断同层各事务是否在各核内均执行完毕;如果没有则进行等待;
    步骤4-9,同层执行完毕,则转入下层,返回步骤4-5,直到执行到出口事务,即该局部事务执行完毕;
    步骤4-10,将局部事务执行结果返回给全局事务管理系统,供其进行结果汇总以及返回给应用服务器。

    2.  根据权利要求1所述的异构分布式实时系统的事务调度方法,其特征在于,在所述步骤4-5中,对于紧急程度高的实时事务,可直接赋予其优先级为rank0。

    说明书

    说明书异构分布式实时系统的事务调度方法
    技术领域
    本发明属于分布式并行处理领域,具体而言是基于异构分布式实时系统的动态事务调度方法。
    背景技术
    当前IT技术的不断演进,加快了诸多如电力、石油、石化、交通、物流等传统行业的信息系统建设进程。但是实际应用中随着信息系统需要实时处理的数据数量上迅猛增长,位置上分散存放,传统的集中式处理系统已无法应对,因此采用分布式并行处理实时事务成为发展趋势。同时微处理器本身在主频和带宽上的长足的发展以及多核处理器制作工艺的提高进一步提高了系统并行执行事务的能力。
    但是如何充分利用分布式架构以及多核处理器的性能,保证系统处理全局事务的效率,即保证全局事务的实时性是需要关注的问题,因此需要针对异构分布式多核环境研究合理的策略来确定事务的优先级,系统以该优先级为标准进行调度,保证高优先级的事务优先执行,满足了事务的实时性。因此,有必要研究适用于异构分布式多核环境,根据各处理器内核运行状态以及事务前驱执行情况,动态地进行事务调度方法。
    发明内容
    本发明的目的是为了提高分布式实时数据库系统处理复杂事务的并行处理性能,满足分布式系统的实际需求,提供一种动态的事务调度方法。
    为达到上述目的,本发明提供的方法包括以下步骤:
    步骤1,全局事务管理系统的全局事务调度器给各全局事务分配优先级;
    步骤2,全局事务调度器判断某个全局事务是否能分解;如果该事务能够分解,则全局事务调度器对该全局事务按语义以及涉及的数据的物理位置进行分析并分解为若干子事务,将分解得到的子事务分配到合适的节点上成为各节点的局部事务,各局部事务的初始优先级为原全局事务的优先级;
    否则,将该全局事务分配到合适的节点上作为一个局部事务;
    步骤3,局部实时事务管理系统构建有向无环图模型,该有向无环图模型包括若干具有前驱、后续依赖关系的事务层;
    步骤4,对每一个分配有子事务的节点,分别执行以下步骤:
    步骤4-1、确定该节点内的多核处理器的各内核最早可以开始执行新的事务的时间;因为在各内核的等待执行队列中还存在其他若干事务等待执行,因此事务调度到该处理核后仍需要等待。avail(m)表明核m已经将等待执行队列中已有的事务执行完毕可以开始执行新事务的时间,该时间可以通过估计在该核内等待执行的事务规模进行衡量,事务规模通过单位时间内事务读写次数来判断。
    事实上由于是基于优先级的可抢占式的调度方式,内核真正开始执行该事务的时间比avail(m)要早。
    步骤4-2,确定该节点的每个事务的所有前驱事务执行完毕时间;当一个事务在处理核内成功执行完毕后,局部事务调度器会记录时间供其后续事务查询,因此事务通过查询局部事务调度器确定所有前驱事务执行完毕时间。
    如果该事务的前驱事务是入口事务则该时间设为0。
    步骤4-3,确定该节点的各个事务之间的通讯时间损耗;如果父事务与子事务在同一个核上执行,则两者之间的数据传递时间可以视为0。但是如果分配到不同核上执行,则之间存在数据传递时间,与事务本身的规模大小成线性关系,表示为:
    Trans_Tmn=Trans_bmn+Trans_ai·ti       (1)
    其中Trans_Tmn表示将数据在核m传递到核n需要的时间。ti表示的是事务的规模大小,通过单位时间内的读写次数来衡量,Trans_ai表示的是事务的规模大小与事务在不同节点之间传递的时间的线性因子。Trans_bmn表示的是初始化参数。
    同样如果该事务的前驱事务是入口事务则该时间设为0。
    步骤4-4,确实事务在各内核的最早开始时间EST。EST(ai,m)表示事务ai在核m上的最早可以开始时间。EST(ai,m)可以通过以下公式计算得到:
    EST(ai,m)=Max{avail(m),Max{EFT(ax)+Trans_Tmn}}(其中ax∈pred(ai))(2)
    EFT(ai,m)=Ti+EST(ai,m)       (3)
    其中pred(ai)表示事务ai的所有前驱事务,avail(m)表明核m已经空闲可以最早开始执行下一个事务的时间,通过估计在该核内等待调度的事务规模进行衡量,事务规模同样通过单位时间内事务读写次数来判断。Trans_Tmn表示数据传递时间损耗,通过公式(1)获得,如果是在同一个核内传递则设为0。事务ai在核m开始时间EST(ai,m)加上事务本身执行时间Ti得到事务ai在核m上最早执行完毕时间EFT(ai,m)。所以事务在核中最早开始时间由内核可以开始执行事务的时间、该事务所有前驱父事务执行完毕的时间以及路径传输的时间损耗等三部分共同决定。
    步骤4-5,当事务从上一层执行到本层时,重新计算本层内各事务的优先级,优先级可以根据如下公式计算得出:
    rank(ai)=1/min{EST(ai,1),...,EST(ai,n)}+rank0     (4)
    其中rank(ai)表示事务ai的优先级,假设节点为n核处理器,从中选取保证事务ai最早开始执行的核为调度目的地,rank0表示入口事务的优先级大小,即为全局事务的优先级;
    步骤4-6,根据步骤4-5计算的优先级,对优先级队列重新排序;
    步骤4-7,内核根据优先级队列执行事务,局部事务调度器监视执行状态并反馈给全局事务调度器;如果执行成功,则记录执行结果以及执行结束时间;如果执行失败,则返回错误代码并进行必要的回滚操作。
    步骤4-8,判断同层各事务是否在各核内均执行完毕;如果没有则进行等待;
    步骤4-9,同层执行完毕,则转入下层,返回步骤4-5,直到执行到出口事务,即该局部事务执行完毕;
    步骤4-10,将局部事务执行结果返回给全局事务管理系统,供其进行结果汇总以及返回给应用服务器。
    进一步改进,对于实时事务,通过设定优先级的方法使得紧急事务优先执行,从而保证了事务的实时性。
    本发明提出了一种动态确定事务优先级的方法,节点根据处理器内核当前执行情况动态确定事务的优先级,并以该优先级为标准,将事务调度到相对空闲的内核上执行,降低了局部事务的执行时间,从而整体上提高了对全局事务的响应性能。事务的优先级是根据前面的执行状态进行动态调整,从而具有良好的适应性,同时优先级确定过程中避免了对事务本身执行时间的估计,从而降低了运算复杂度,便于实际操作。
    附图说明
    上述说明是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述目的、特征和优点更明显易懂,以下列出附图并结合详细的实施步骤。
    图1是本发明的异构分布式实时系统结构示意图。
    图2是本发明涉及复杂事务分拆以及各局部事务的有向无环图。
    图3是本发明的确定事务优先级的流程示意图。
    具体实施方式
    为进一步阐述本发明为达成预期发明目的及功效,以下结合附图及详细的实施步骤,实现本发明提出的基于异构分布式实时系统的确定事务优先级的方法。本发明的核心思想是,通过考虑事务前驱的完成时间、节点本身的状态情况以及事务传输的时间损耗等方面动态确定分配到节点的事务的优先级,保证高优先级的事务优先调度执行,从而保证了全局事务的实时性。下面结合附图进一步详细说明本发明的实施方案。
    图1是本发明所基于的异构分布式系统的结构图。异构分布式系统包括全局事务管理系统、若干局部实时事务管理系统1、2...n,应用服务器上部署的全局事务管理系统作为根节点、全局事务管理系统根节点通过网络与异地的作为叶子节点的局部事务管理系统1、2...n的组成分布式系统。
    其中全局事务管理系统本身不负责事务的处理,而只是通过全局事务调度器将由全局事务分解得到的各子事务调度到合适的节点上。并且实时监控子事务在各节点的执行情况。最后将由各节点返回的结果进行合并,反馈回客户端。
    局部事务管理系统由多核服务器组成,负责处理存储在本地的由采集层获取的得到的实时数据,每个局部事务管理系统有一个局部事务调度器负责调度事务以及监视多核处理器并行执行事务情况,并将执行的结果反馈回全局事务管理系统。本系统是一种异构分布式系统,因此各节点的多核处理器包含的核的个数以及运行的系统软件可以不相同。
    图2是本发明涉及的全局事务分解以及局部事务模型示意图。如图2所示全局事务T,可以根据其操作的数据所在的节点位置将全局事务T分拆为:T={ST0|ST1∪ST2∪ST3}。其中子事务ST1根据其涉及的数据的物理位置被分配到节点1,其事务模型可以用有向无环图(DAG)表示,可以看出子事务ST1包含的步骤a2、a3可以并行执行;同理子事务ST2分配到节点2,由其事务模型可以看出同样包含可以并行执行的部分;子事务ST3分配到节点3,其为基本操作不能进一步分解也就不能并行执行。ST0负责协调各子事务执行以及结果的合并。
    对于子事务ST1、ST2,由于其结构较为复杂,可以将其包含的事务分配到多核处理器内不同的处理核进行并行处理。需要说明的是这里所说的多核处理器的每个内核拥有独立的处理单元及Cache,各内核通过消息通信,可以将内核的Cache作为事务等待执行队列。如果分配到同一个节点属于不同全局事务的子事务所包含的事务被分配到同一个处理核上,则需要根据优先级以及截至时间安排执行顺序,各个待执行事务根据该顺序在等待执行队列中等待,这样保证高优先级的优先执行,从而整体上保证了全局事务的实时性。
    图3是本发明的流程图,该流程具体包括的如下步骤:
    步骤301,全局事务管理系统的全局事务调度器给各全局事务分配优先级。这里的全局事务指从客户端传入的还未进行分解处理的事务。对于全局事务的优先级可以直接采用经典的优先级确定方法,如截止期最早最优先、可到达截止期最早最优先、剩余时间最短最优先等。分配了优先级之后,按照由高到低的顺序安排进入事务处理层。全局事务的顺序支持抢占。
    步骤302,全局事务调度器判断全局事务是否能分解。由于事务可以分解为:
    T={ST1∪ST2∪K∪STm}
    其中m表示构成分布式实时事务T的实时子事务的个数。当m>1时,表明该事务可以进行分解;当m=1时则该事务为一个整体不能进行分解操作。全局事务调度器对该全局事务按语义以及涉及的数据的物理位置进行分析并分解。将分解得到的子事务,例如通过hash或者取模的方式分配到合适的节点上。同时各分解的子事务的优先级与原全局事务保持一致。
    步骤303,由全局事务分解得到的若干子事务分配到各节点后变为局部事务,局部事务管理系统按局部事务的操作步骤构建有向无环图(DAG)模型。
    在DAG模型中,各事务之间存在依赖关系,需要等待其父事务执行完毕后将结果作为输入参数方能开始执行。一般通过前驱pred(ai)和后续succ(ai)表示事务之间的这种数据、控制依赖关系。如图2局部事务ST2的DAG所示,其中事务a1没有任何前驱事务,称为入口事务,a5没有任何子事务成为出口事务。将入口事务a1所有具有依赖关系的事务归入DAG结构第二层,ST2中为a2和a3,则a1为a2、a3的父事务,a2、a3为a1的子事务,同时a2、a3可以分配到不同处理核上并行执行,依次可以构建第三层直到到达出口事务为止。因此事务可以在节点上逐层调度,即将事务的所有前驱事务都执行完毕后再开始执行本层事务。
    需要说明的是对局部事务的分析以及监视其各部分在各内核的执行情况都是由节点内的局部事务调度器完成。
    步骤304,确定该节点各内核最早可以开始执行新的事务的时间。因为在各内核的等待执行队列中还存在其他若干事务等待执行,因此事务调度到该处理核后仍需要等待。avail(m)表明核m已经将等待执行队列中已有的事务执行完毕可以开始执行新事务的时间,该时间可以通过估计在该核内等待执行的事务规模进行衡量,事务规模通过单位时间内事务读写次数来判断。
    事实上由于是基于优先级的可抢占式的调度方式,内核真正开始执行该事务的时间比avail(m)要早。
    步骤305,确定该事务的所有前驱事务执行完毕时间。当一个事务在处理核内成功执行完毕后,局部事务调度器会记录时间供其后续事务查询,因此事务通过查询局部事务调度器确定所有前驱事务执行完毕时间。
    如果该事务的前驱事务是入口事务则该时间设为0。
    步骤306,确定事务之间的通讯时间损耗。如果父事务与子事务在同一个核上执行,则两者之间的数据传递时间可以视为0。但是如果分配到不同核上执行,则之间存在数据传递时间,与事务本身的规模大小成线性关系,表示为:
    Trans_Tmn=Trans_bmn+Trans_ai·ti      (1)
    其中Trans_Tmn表示将数据在核m传递到核n需要的时间。ti表示的是事务的规模大小,通过单位时间内的读写次数来衡量,Trans_ai表示的是事务的规模大小与事务在不同节点之间传递的时间的线性因子。Trans_bmn表示的是初始化参数。
    同样如果该事务的前驱事务是入口事务则该时间设为0。
    步骤307,确实事务在各内核的最早开始时间EST。EST(ai,m)表示事务ai在核m上的最早可以开始时间。EST(ai,m)可以通过以下公式计算得到:
    EST(ai,m)=Max{avail(m),Max{EFT(ax)+Trans_Tmn}}(其中ax∈pred(ai)) (2)
    EFT(ai,m)=Ti+EST(ai,m)       (3)
    其中pred(ai)表示事务ai的所有前驱事务,avail(m)表明核m已经空闲可以最早开始执行下一个事务的时间,通过估计在该核内等待调度的事务规模进行衡量,事务规模同样通过单位时间内事务读写次数来判断。Trans_Tmn表示数据传递时间损耗,通过公式(1)获得,如果是在同一个核内传递则设为0。事务ai在核m开始时间EST(ai,m)加上事务本身执行时间Ti得到事务ai在核m上最早执行完毕时间EFT(ai,m)。所以事务在核中最早开始时间由内核可以开始执行事务的时间、该事务所有前驱父事务执行完毕的时间以及路径传输的时间损耗等三部分共同决定。
    当事务从逻辑的上一层传递到本层时,需要重新确定优先级。优先级可以根据如下公式计算得出:
    rank(ai)=1/min{EST(ai,1),...,EST(ai,n)}+rank0      (4)
    其中rank(ai)表示事务ai的优先级,假设节点为n核处理器,从中选取保证事务ai最早开始执行的核为调度目的地。rank0表示入口事务的优先级大小,即为全局事务的优先级。从该式可以得出事务能开始执行的时间最早,优先级也相应最高。
    步骤308,每个核都具有Cache存放等待执行队列,当新事务进入队列后,在队列中等待执行的各事务可以根据各自的优先级以及截至时间为标准按照最先执行最优先或者截止期最早最优先在队列内部再次排序。保证高优先级最短截止期的事务优先执行。之后内核执行该事务,局部事务调度器监视执行状态并反馈给全局事务调度器。如果执行成功记录执行结果以及执行结束时间;如果执行失败,则返回错误代码并进行必要的回滚操作。
    步骤309,判断同层各事务是否在各核内均执行完毕。如果没有则进行等待。
    步骤310,同层执行完毕则转入下层,按同样的策略确定优先级并调度执行,直到执行到出口事务,即该局部事务执行完毕。将局部事务执行结果返回给全局事务管理器供其进行结果汇总以及返回给应用服务器。
    最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

    关于本文
    本文标题:异构分布式实时系统的事务调度方法.pdf
    链接地址://www.4mum.com.cn/p-5865881.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 时时彩二星直选稳赚 pk10走势图到底如何看 时时彩平刷稳赚方案 大乐透中奖规则表 最精准专家双色球荐号 上海时时前三走势图 必赢客北京pk 手机版 必赢客计划软件靠谱吗 彩票如何双向刷流水 竞彩足球稳赚不赔 体育彩票不能电子投注 11选5胆拖复式投注表 彩票为什么不能网购 组六复式稳赚法 靠赌博每天稳赚300元 时时彩后三稳赚平刷