用于分布式共享存储的任务同步方法、装置及系统制造方法及图纸

技术编号:7662568 阅读:412 留言:0更新日期:2012-08-09 07:08
本发明专利技术的实施例提供了用于分布式共享存储的任务同步方法、装置及系统,涉及分布式共享存储领域,为简化程序设计同时提升处理性能而发明专利技术。所述方法包括:创建第一任务的内存空间快照和第二任务的同步观察区,所述第二任务的同步观察区包括所述第二任务的同步变量的内存地址,所述同步变量为待同步的任务实现同步所必需的参数;将所述第一任务分配给第一计算节点执行;在所述第一任务执行结束后更新所述第一任务的内存空间快照及其对应的内存空间;如果所述第二任务的同步变量被所述第一任务更新,使所述第二任务根据所述第二任务的同步变量的内存地址获知所述第二任务的同步变量,并将所述第二任务分配给第二计算节点。

【技术实现步骤摘要】

本专利技术涉及分布式共享存储领域,尤其涉及一种用于分布式共享存储的任务同步方法、装置及系统
技术介绍
当前,并行计算机的存储结构可以大致分为共享存储结构、分布式存储结构。在共享存储结构中,所有处理器都有一致访问的全局物理内存,支持全局共享变量的编程模型。其编程简单,但受到共享内存带宽等的限制,扩展性较差。在分布式存储结构中,许多独立的有本地存储的计算节点通过高速网络互联,每个计算节点有単独的地址空间。计算节点间通过显式的消息传递使各个计算节点所执行的任务之间进行通信。其中,任务是系统进行资源分配和调度执行的基本単位,包含数据和对数据的操作序列。多个任务可以相 互配合、并发执行,从而共同实现特定功能。分布式存储结构的扩展性能好,但由于需考虑数据分配和消息的传递,其程序设计较困难。DSM(Distributed Shared Memory,分布式共享存储)结构,在物理存储分散的系统上通过硬件或软件实现了逻辑上的共享存储。在DSM中特别是通过软件实现的DSM中,底层的消息传递机制对用户掩盖起来,允许用户以共享存储方式进行并行程序设计。由于分布式共享存储系统既具有共享存储系统易于编程的优点,又保留了分布式存储系统的可扩展性,因而是大規模并行计算系统的ー种重要形式。在DSM系统中,当存在多个任务(例如多个进程或者线程)共同实现特定的功能,且各任务之间存在前后制约关系、需要遵守某种顺序约束时,各任务的执行需要同歩。因此,如何实现任务的同步,是并行程序设计必须要解决的关键问题。现有技术中的锁、信号量、管程等同步手段仅适用于具有公共存储区的单机环境。现有技术中的基于消息传递编程模式的路障同步法,即在參与路障同步的每个任务的程序中彼此必须等待的位置设置ー个障碍点,当某任务执行到障碍点时暂停,等待所有任务都执行到这个障碍点后,该任务才能继续运行。显式的消息传递编程要求程序员关心数据的划分和任务间的通信,因此在解决数据依赖和预防死锁方面花费大量カ气,容易出错。
技术实现思路
本专利技术实施例提供一种用于分布式共享存储的任务同步方法、装置及系统,能够简化程序设计同时提升系统的处理性能。本专利技术提供了如下技术方案—方面,本专利技术实施例提供一种用于分布式共享存储的任务同步方法,包括创建所述第一任务的内存空间快照和所述第二任务的同步观察区,所述第二任务的同步观察区包括所述第二任务的同步变量的内存地址,所述同步变量为待同步的任务实现同步所必需的參数;将所述第一任务分配给第一计算节点执行;在所述第一任务执行结束后,更新所述第一任务的内存空间快照和所述第一任务的内存空间快照对应的内存空间;如果所述第二任务的同步变量被所述第一任务更新,使所述第二任务根据所述第ニ任务的同步观察区中的同步变量的内存地址获知所述第二任务的同步变量,并将所述第ニ任务分配给第二计算节点,以使所述第二任务随所述第二任务的同步变量的更新而同步 执行。另ー方面,本专利技术实施例提供一种用于分布式共享存储的任务同步装置,包括创建单元,用于创建第一任务的内存空间快照和第二任务的同步观察区,所述第ニ任务的同步观察区包括所述第二任务的同步变量的内存地址,所述同步变量为待同步的任务实现同步所必需的參数;更新単元,用于将所述第一任务分配给第一计算节点执行,并在所述第一任务执行结束后更新所述第一任务的内存空间快照和所述第一任务的内存空间快照对应的内存空间;同步单元,用于当所述第二任务的同步变量被所述第一任务更新时,使所述第二任务根据所述第二任务的同步观察区中的同步变量的内存地址获知所述第二任务的同步变量,并将所述第二任务分配给第二计算节点,以使所述第二任务随所述第二任务的同步变量的更新而同步执行。另ー方面,本专利技术实施例提供ー种分布式共享存储系统,包括第一计算节点、第二计算节点以及本专利技术实施例提供的用于分布式共享存储的任务同步装置;所述用于分布式共享存储的任务同步装置位于所述第一计算节点内,或者位于所述第二计算节点内,或者分别与所述第一计算节点和所述第二计算节点相连,用于将所述第一计算节点与所述第二计算节点中的需要同步的任务进行同歩。采用上述技术方案后,本专利技术实施例提供的用于分布式共享存储的任务同步方法、装置及系统,创建了第一任务的内存空间快照和第二任务的同步观察区,所述第二任务的同步观察区存储有所述第二任务的同步变量的内存地址。一方面,第一任务在计算节点本地执行,任务完成后才更新共享存储空间,另一方面,如果所述第二任务的同步变量被所述第一任务更新,可以使所述第二任务根据所述第二任务的同步变量的内存地址获知所述第二任务的同步变量,并将所述第二任务分配给第二计算节点,以使所述第二任务随所述第二任务的同步变量的更新而同步执行,在很好地维护了分布式共享存储系统的内存一致性即程序对内存操作的正确性的同吋,大大减少了分布式共享存储的任务同步和内存一致性维护所需要的频繁的消息发送和状态探寻,既简化了编程又有效提高了系统的处理性倉^:。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本专利技术实施例提供的用于分布式共享存储的任务同步方法的ー种流程图;图2为本专利技术实施例提供的用于分布式共享存储的任务同步方法的一种详细流程图;图3为本专利技术实施例提供的用于分布式共享存储的任务同步装置的一种结构示意图;图4为本专利技术实施例提供的用于分布式共享存储的任务同步装置中的更新单元的结构不意图;图5为本专利技术实施例提供的用于分布式共享存储的任务同步装置的另ー种结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图I所示,本专利技术的实施例提供了一种用于分布式共享存储的任务同步方法,包括S11,创建第一任务的内存空间快照和第二任务的同步观察区,所述第二任务的同步观察区包括所述第二任务的同步变量的内存地址,所述同步变量为待同步的任务实现同步所必需的參数;S12,将所述第一任务分配给第一计算节点执行;S13,在所述第一任务执行结束后,更新所述第一任务的内存空间快照和所述第一任务的内存空间快照对应的内存空间;S14,如果所述第二任务的同步变量被所述第一任务更新,使所述第二任务根据所述第二任务的同步观察区中的同步变量的内存地址获知所述第二任务的同步变量,并将所述第二任务分配给第二计算节点,以使所述第二任务随所述第二任务的同步变量的更新而同步执行。采用上述技术方案后,本专利技术实施例提供的用于分布式共享存储的任务同步方法,创建了第一任务的内存空间快照和第二任务的同步观察区,所述第二任务的同步观察区存储有所述第二任务的同步变量的内存地址。一方面,第一任务在计算节点本地执行,任务完成后才更新共享存储空间,另一方面,如果所述第二任务的同步变量被所述第一任务更新,可以使所述第二任务根据所述第二任务的同步变量的内存地址获知所本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:顾磷马志强曾毓珑
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利