计算系统对屏障命令的处理的制作方法

文档序号:8227547阅读:368来源:国知局
计算系统对屏障命令的处理的制作方法
【专利说明】计算系统对屏障命令的处理
[0001]优先权?目息
[0002]本申请要求于2012年7月27日提交的、美国临时专利申请号为61/676,544、发明名称为“计算系统内存的屏障操作”的美国临时专利申请,于2012年7月30日提交的、美国临时专利申请号为61/677,057、发明名称为“计算系统对屏障命令的处理”的美国临时专利申请,于2012年7月31日提交的、美国临时专利申请号为61/677,921、发明名称为“计算系统同步屏障操作”的美国临时专利申请,以及于2013年3月13日提交的、美国临时专利申请号为61/780,442、发明名称为“计算系统对屏障命令的处理”的美国临时专利申请的优先权,其全部内容通过引用结合在本申请中。
[0003]关于美国联邦政府资助的研发项目的声明
[0004]不适用。
[0005]缩微平片附件的引用
[0006]不适用。
【背景技术】
[0007]计算机程序可包括由许多不同计算系统执行的许多不同事务。在特定情况下,至少有些事务可能需要按一定的顺序执行。例如,有些事务可能需要在其他事务之前执行,以便程序提供正确的结果。一种控制事务执行顺序的方法是仅按事务需要执行的顺序发布事务。另一种控制事务执行顺序的方法是使用屏障命令。屏障命令可用于在特定条件得到满足之前将计算系统保持在某特定状态。例如,屏障命令能够在其他事务执行之前阻止计算系统执行某些事务。

【发明内容】

[0008]在一实施例中,本发明包括一种具有存储器、接口和处理器的计算系统。所述存储器用于存储标识与屏障命令相关联的目标计算系统的屏障前扩展范围。所述接口与所述存储器耦合,用于向所述屏障前扩展范围内标识的所述目标计算系统发送屏障前计算探针,并接收来自所述目标计算系统的屏障完成通知消息。所述屏障前计算探针用于指示所述目标计算系统监听完成所述屏障命令所需要执行的事务的状态。所述处理器与所述接口耦合,用于基于接收到的所述屏障完成通知消息确定所述屏障命令的状态。
[0009]在另一实施例中,本发明包括一种具有接口和处理器的计算系统。接口用于从源计算系统接收屏障前计算探针,并向所述源计算系统发送屏障完成通知消息,其中所述屏障前计算探针指示所述计算系统监控与屏障命令相关联的事务的状态,所述屏障完成通知消息指示与所述屏障命令相关联的所述事务已由所述计算系统执行或所述计算系统保证其将像其已执行所述事务一样工作。处理器与所述接口耦合,用于在从所述源计算系统收到屏障后启动通知前等待执行事先转发事务,其中所述事先转发事务包括只能在所述屏障命令完成后执行的事务,且所述屏障后启动通知指示与所述事先转发事务相关联的屏障命令已完成。
[0010]在另一实施例中,本发明包括一种处理屏障命令的方法。该方法包括:识别事务及与屏障命令相关联的目标计算系统。向识别出的所述目标计算系统发送屏障前计算探针;所述屏障前计算探针指示所述目标计算系统监控与所述屏障命令的完成情况相关联的事务的执行状态;从所述目标计算系统接收屏障完成通知消息,其中所述屏障完成通知消息表示所述目标计算系统已执行了与所述屏障命令完成情况相关联的事务,或表示所述目标计算系统能够保证其像其已执行了与所述屏障命令完成情况相关联的所述事务;及基于所述接收的屏障完成通知消息确定所述屏障命令是否完成,其中接收屏障前计算探针的所有目标计算系统都返回了其屏障完成通知时,确定所述屏障命令已完成。
[0011]在再一实施例中,本发明包括一种用于处理屏障命令的方法,包括从源计算系统接收屏障前计算探针。所述屏障前计算探针用于指示接收到所述屏障前计算探针的目标计算系统监控与屏障命令相关联的事务的状态。屏障完成通知消息指示与所述屏障命令相关联的事务已执行或所述目标计算系统保证其将像其已执行了所述事务一样工作。所述目标计算系统在与所述事先转发事务相关联的屏障命令完成前接收事先转发事务,其中所述事先转发事务只能在与所述转发事务相关联的屏障命令完成后执行。在从所述源计算系统收到屏障后启动通知后执行所述事先转发事务,其中所述屏障后启动通知表示与所述事先转发事务相关联的屏障命令已完成。
[0012]下文通过具体实施例结合附图及权利要求书对上述及其他特征进一步说明。
【附图说明】
[0013]为了更完整地理解本发明,请结合附图及具体实施例参考以下简要说明,其中类似的附图标记表示类似的部件。
[0014]图1是利用屏障命令的计算系统网络的示意图。
[0015]图2是通过屏障前扩展范围、屏障前完成探针以及屏障完成通知消息确定屏障命令何时完成的方法的流程图。
[0016]图3是利用屏障后扩展范围、事先转发属性及屏障后启动通知控制屏障后事务执行的方法的流程图。
[0017]图4是从源计算系统的角度的处理屏障命令的方法的流程图。
[0018]图5是从目标计算系统的角度的处理屏障命令的方法的流程图。
[0019]图6是源和/或目标计算系统的示意图。
[0020]图7是目标计算系统按顺序接收事务时处理屏障命令的示例的示意图。
[0021]图8是目标计算系统不按顺序接收事务时处理屏障命令的示例的示意图。
【具体实施方式】
[0022]首先,应理解,尽管下文提供了一个或多个实施例的示例性实施方式,所公开的系统和/或方法均可采用任何数量的当前已知或已存在的技术予以实现。本发明不以任何方式被局限于下文说明的示例性实现方式、附图及技术,包括示例性本发明所示并说明的示例性设计及实现方式,但可在随附的权利要求书范围及其同等范围内予以修改。尽管讨论了传统技术的特定方面以便于理解本发明,申请人不以任何方式否认这些技术方面的效果,且应理解,本发明可涵盖本发明所讨论的一种或多种传统技术方面。
[0023]本发明实施例包括处理计算系统的屏障命令的方法和装置。在一实施例中,向需要执行某些事务以便完成屏障命令的目标计算系统发送屏障前完成探针,基于接上所述屏障前完成探针,所述目标计算系统监听这些事务的状态,且在所述目标计算系统执行了所述事务时或所述目标计算系统能够保证其会像其执行了所述事务一样工作时,向源计算系统发送屏障完成通知消息。此时,所述源计算系统能够基于所述屏障完成通知消息监听所述屏障命令的状态。例如,如果所述源计算系统未收到来自所有收到所述屏障前完成探针的目标计算系统的屏障完成通知消息,则所述源计算系统可以确定所述屏障命令尚未完成。如果述源计算系统收到了来自所有收到所述屏障前完成探针的目标计算系统的屏障完成通知消息,则所述源计算系统可以确定所述屏障命令已完成。相应地,所述源计算系统能够使用所述屏障前完成探针监听屏障命令的状态。
[0024]在另一实施例中,源计算系统将事先发送至目标计算系统的事务标识为事先转发事务。例如,只能在屏障命令完成后执行的事务可在所述屏障命令完成前发送至目标计算系统。在这种情况下,所述事务被标识为事先转发事务(例如,事先转发屏障后事务)。当事务被识别为事先转发事务时,收到所述事先转发事务的目标计算系统在其从所述源计算系统收到屏障后启动通知前等待执行所述事务。所述屏障后启动通知指示所要求的屏障命令已完成且所述目标计算系统可执行所述事先转发事务。
[0025]利用本发明中描述的屏障前完成探针、屏障后启动通知和/或其他特征的系统可优于其他类型的屏障命令系统。例如,其他屏障命令系统可向收到事务的所有目标计算系统发送屏障命令以便执行。这样会不必要地使计算系统中止或性能变慢并增加消息流量。在本发明的至少特定实施例中,只有具有完成屏障命令所需要执行的事务的目标系统才接收屏障前完成探针,且只有具有只能在屏障命令完成后执行的事务的目标系统接收屏障后启动通知。相应地,通过只向需要的目标计算系统发送消息而不是向所有目标计算系统发送消息,屏障命令消息流量得以减少。此外,收到事先转发事务的目标计算系统可执行未被标识为事先转发事务的任何其他事务。因此,所述目标计算系统不一定会被中止或变慢。下文及附图描述了实施例的其他特征和好处。
[0026]图1是利用屏障命令145的计算系统网络100的示意图。所述网络100包括源计算系统110和目标计算系统120。尽管图1所示的特定示例仅示出了一个源计算系统110和一个目标计算系统120,但各实施例不限于任何特定数量的源计算系统和目标计算系统,且可包括任何数量的源计算系统和目标计算系统。此外,尽管所述计算系统110和120被标识为源计算系统或目标计算系统,但所述计算系统110和120中的任一个均可作为源计算系统、目标计算系统或即作为源计算系统又作为目标计算系统。
[0027]所述计算系统110和120中的每一个均可为独立的计算设备(如个人计算机、笔记本、智能电话、服务器、平板电脑等)或较大型计算设备的组件(如中央处理器或多核中央处理器的核)。所述计算系统110和120通过通信通道130以可通信的方式彼此耦合。在所述计算系统110和120为独立计算设备的实施例中,所述通信通道130可为计算网络,例如但不限于因特网、局域网等。在所述计算系统110和120为较大型计算设备的组件的实施例中,所述通信通道130可为主板、计算机芯片、计算机芯片封装上的连接或总线。相应地,本发明的实施例可用于芯片内设置或芯片间设置。
[0028]所述源计算系统110包括计算机程序140,所述计算机程序140包括起点141、屏障前事务组142、屏障命令145、屏障后事务组146以及终点149。所述屏障前事务组142可选地包括一个或多个受影响事务143以及一个或多个不受影响事务144。所述屏障前受影响事务143包括完成所述屏障命令145所需要执行的事务。所述屏障前未受影响事务144包括在所述屏障命令145之前发生但不完成所述屏障命令145不需要执行的事务。类似地,所述屏障后事务组146可选地也包括一个或多个受影响事务147以及一个或多个不受影响事务148。所述屏障后受影响事务147包括只能在完成所述屏障命令145后执行的事物。所述屏障后未受影响事务148包括在所述屏障命令145之后发生但在执行前不需要等待所述屏障命令145完成的事务。换言之,所述屏障前未受影响事务144和所述屏障后未受影响事务148都可随时执行。但是,所述屏障前受影响事务143需要执行,以便完成所述屏障命令145,所述屏障后受影响事务147只能在所述屏障命令145完成后执行。此外,需要说明的是,尽管图1所示的具体示例仅示出了事务组142和146以及一个
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1