发明名称 用于分布式共享存储的任务同步方法、装置及系统
摘要 本发明的实施例提供了用于分布式共享存储的任务同步方法、装置及系统,涉及分布式共享存储领域,为简化程序设计同时提升处理性能而发明。所述方法包括:创建第一任务的内存空间快照和第二任务的同步观察区,所述第二任务的同步观察区包括所述第二任务的同步变量的内存地址,所述同步变量为待同步的任务实现同步所必需的参数;将所述第一任务分配给第一计算节点执行;在所述第一任务执行结束后更新所述第一任务的内存空间快照及其对应的内存空间;如果所述第二任务的同步变量被所述第一任务更新,使所述第二任务根据所述第二任务的同步变量的内存地址获知所述第二任务的同步变量,并将所述第二任务分配给第二计算节点。
申请公布号 CN102629221B 申请公布日期 2014.11.19
申请号 CN201210047777.4 申请日期 2012.02.28
申请人 华为技术有限公司 发明人 顾磷;马志强;曾毓珑
分类号 G06F9/52(2006.01)I 主分类号 G06F9/52(2006.01)I
代理机构 北京中博世达专利商标代理有限公司 11274 代理人 申健
主权项 一种用于分布式共享存储的任务同步方法,其特征在于,包括:创建第一任务的内存空间快照和第二任务的同步观察区,所述第二任务的同步观察区包括所述第二任务的同步变量的内存地址,所述同步变量为待同步的任务实现同步所必需的参数,与所述第一任务相关的内存空间为共享空间;将所述第一任务分配给第一计算节点执行;在所述第一任务执行结束后,更新所述第一任务的内存空间快照和所述第一任务的内存空间快照对应的内存空间;如果所述第二任务的同步变量被所述第一任务更新,使所述第二任务根据所述第二任务的同步观察区中的同步变量的内存地址获知所述第二任务的同步变量,并将所述第二任务分配给第二计算节点,以使所述第二任务随所述第二任务的同步变量的更新而同步执行;在所述创建所述第一任务的内存空间快照和所述第二任务的同步观察区后,所述方法还包括:将所述第二任务放入观察者队列,所述观察者队列为存放具有同步观察区、但不能被立即执行的任务的队列;所述将所述第二任务分配给第二计算节点包括:将所述第二任务从所述观察者队列移至执行队列后,将所述第二任务分配给所述第二计算节点,所述执行队列为存放即将被执行的任务的队列;所述将所述第二任务从所述观察者队列移至执行队列包括:将所述观察者队列中包括所述第二任务在内的、所有同步变量被所述第一任务更新的任务,从所述观察者队列移至所述执行队列;所述将所述第二任务分配给第二计算节点,以使所述第二任务随所述第二任务的同步变量的更新而同步执行包括:如果所述第二任务的同步变量中还存在至少一个同步变量所对应的内存空间没有被更新,则将所述第二任务重新放入所述观察者队列;如果所述第二任务的同步变量所对应的内存空间均已被更新,则执行所述第二任务。
地址 518129 广东省深圳市龙岗区坂田华为总部办公楼