处理实体的存储器分区制造技术

技术编号:37887777 阅读:9 留言:0更新日期:2023-06-18 11:52
本公开总体上涉及处理实体的存储器分区。在一些示例中,系统将多个处理实体之间的共享存储器的共享存储器地址空间划分成多个存储器分区,其中相应存储器分区与相应处理实体相关联。基于由第一处理实体确定第一数据操作将被应用于与第二处理实体相关联的存储器分区的数据,第一处理实体将第一数据操作转发到第二处理实体。第二处理实体应用第一数据操作,第一数据操作包括使用非原子操作将第一数据操作的数据写入与第二处理实体相关联的存储器分区。器分区。器分区。

【技术实现步骤摘要】
处理实体的存储器分区

技术介绍

[0001]存储器可以存储在多个处理实体之间共享的数据。处理实体可以指机器可读指令或硬件处理器。例如,处理实体可以包括线程。多线程系统可以并行执行多个线程。硬件处理器可以包括微处理器、多核处理器的核心、微控制器、数字信号处理器或任何其他类型的处理电路。
附图说明
[0002]本公开的一些实施方式参照以下附图进行描述。
[0003]图1是根据一些示例的包括处理实体的系统的框图。
[0004]图2是根据一些示例的处理实体的框图。
[0005]图3是根据一些示例的过程的流程图。
[0006]图4是根据一些示例的包括多层排队布置的多个处理实体的框图。
[0007]图5是根据一些示例的存储机器可读指令的存储介质的框图。
[0008]图6是根据一些示例的系统的框图。
[0009]图7是根据一些示例的过程的流程图。
[0010]在所有附图中,相同的附图标记表示相似但不一定相同的元件。这些图不一定按比例绘制,并且某些部件的尺寸可能被夸大以更清楚地说明所示示例。此外,附图提供了与说明书一致的示例和/或实施方式;然而,说明书不限于附图中提供的示例和/或实施方式。
具体实施方式
[0011]在本公开中,术语“一”、“一个”或“该”的使用也旨在包括复数形式,除非上下文另有明确指示。此外,当在本公开中使用时,术语“包括”、“包含”、“由
……
组成”、“由
……
构成”、“具有”或“占有”指定所述元素的存在,但不排除其他元素的存在或添加。
[0012]当对存储器中共享数据的计算在多个处理实体之间进行划分时,可以提供用于在多步更新序列期间保护数据完整性的技术。多步更新序列的示例包括并行处理实体并发地读取共享数据的数据值,对处理实体所读取的数据值应用算子(operator),并且随后写回由算子产生的经修改的数据值。在这种情况下,对于给定存储器位置处的任何特定数据值,给定处理实体产生的最后结果将覆写来自其他处理实体的任何先前并发结果。
[0013]在一些示例中,为了防止数据损坏,可以采用锁(诸如互斥体(mutexes))。在其他示例中,可以采用处理器支持的原子操作。作为进一步的示例,可以采用网络结构(network fabric)的原子操作来确保来自第一处理实体的算子的结果在对相同数据发起另一算子之前是可见的。
[0014]锁和原子操作可能会招致显著大于非原子操作的延迟。这会减慢系统中运行的程序。
[0015]根据本公开的一些实施方式,共享存储器在多个处理实体之间被分区,使得共享存储器(或更具体而言,共享存储器的共享存储器地址空间)被划分成单个存储器分区,这
些单个存储器分区与相应的单个处理实体相关联。要写入存储器分区的数据由相应的存储器分区占有方处置。
[0016]每个处理实体被指派对共享存储器的相应存储器分区的排他占有权。这允许对相应的存储器分区的单写入器(single

writer)访问,因为多个处理实体将不会争用对相同存储器分区的访问。如果处理实体具有在多个处理实体之间用于写入存储器分区的排他权,则该处理实体“占有”或具有存储器分区的“排他占有权”。换言之,在多个处理实体当中,只有一个处理实体具有写入该存储器分区的权限——多个处理实体中的其余处理实体没有写入存储器分区的权限。注意到,具有比处理实体更高权限的程序(例如,操作系统(operating system,OS)或固件)可以能够写入共享存储器地址空间。
[0017]相应处理实体所占有的存储器分区可以被认为是“原子”存储器分区,因为它们可以在没有来自多个处理实体的争用的情况下被更新。
[0018]基于原子存储器分区的使用,共用数据结构(存储在原子存储器分区中)可以被多个处理实体并行访问,同时避免使用任何原子操作或锁来更新包含要由多个处理实体的数据操作更新的数据的共用数据结构。
[0019]在一些示例中,第一处理实体基于第一处理实体确定第一数据操作将被应用于与第二处理实体相关联的存储器分区的数据而将第一数据操作转发到第二处理实体。第二处理实体应用第一数据操作,该第一数据操作包括使用非原子操作(并且不使用任何锁)将第一数据操作的数据写入与第二处理实体相关联的存储器分区。
[0020]图1示出了包括多个处理实体102

1、102

2和102

3的示例系统100。尽管图1中示出了三个处理实体,但在其他示例中,可以存在少于或多于三个处理实体。在一些示例中,处理实体102

1到102

3包括在系统100中执行的线程。在其他示例中,处理实体102

1到102

3可以包括硬件处理器或其他类型的处理实体。
[0021]系统100可以包括一个计算节点或多个计算节点。“计算节点”可以指一台计算机或多台计算机的集合。
[0022]每个处理实体处理相应的输入数据集合以应用将数据分析操作应用于相应的输入数据集合的相应算子。第一处理实体102

1可以应用处理输入数据集合104

1中的数据的数据操作106

1,第二处理实体102

2可以应用处理输入数据集合104

2中的数据的数据操作106

2,并且第三处理实体102

3可以应用处理输入数据集合104

3中的数据的数据操作106

3。“输入数据集合”包括数据记录的集合(一个数据记录或多个数据记录)。可以从系统100中的实体或从外部源接收输入数据集合104

1至104

3。
[0023]由处理实体102

1到102

3应用的数据操作可以针对存储在相应的本地存储器112

1到112

3中的数据来被应用。作为示例,本地存储器112

1至112

3是可以以比共享存储器110更高的访问速度来访问的缓存。可以对从本地存储器检索到的数据应用数据操作,和/或可以将数据操作所产生的结果数据写入本地存储器。
[0024]在一些示例中,数据操作106

1到106

3可以包括数据累积操作(例如,对属性值的出现次数进行计数的计数操作)、求和函数或其他类型的数学聚合函数(例如,以计算平均值、中值、最大值、最小值等)或任何其他类型的数据操作。
[0025]如图1所描绘,处理实体102

1到102

3可以用数据操作106

1到106

3所产生的结果值来更新共用数据结构10本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非暂态机器可读存储介质,包括指令,所述指令在执行时使系统:将多个处理实体之间的共享存储器的共享存储器地址空间分区成多个存储器分区,其中所述多个存储器分区中的相应存储器分区与所述多个处理实体中的相应处理实体相关联,所述多个处理实体包括第一处理实体和第二处理实体;由所述多个处理实体执行所述多个处理实体的本地存储器中的数据操作,所述数据操作用于更新所述共享存储器地址空间中的共用数据结构;基于由所述第一处理实体确定第一数据操作将被应用于与所述第二处理实体相关联的存储器分区的数据,由所述第一处理实体向所述第二处理实体转发所述第一数据操作;以及由所述第二处理实体应用所述第一数据操作,所述第一数据操作包括使用非原子操作将所述第一数据操作的数据写入与所述第二处理实体相关联的所述存储器分区。2.如权利要求1所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统:响应于将所述第一数据操作从所述第一处理实体转发到所述第二处理实体,由所述第一处理实体与所述第一数据操作解除关联,以允许所述第一处理实体继续另一数据操作。3.如权利要求1所述的非暂态机器可读存储介质,其中,所述多个处理实体中的每个处理实体对所述共享存储器地址空间的所述多个存储器分区中的相应存储器分区具有排他占有权,使得所述相应存储器分区不受所述多个处理实体中的多个处理实体的访问争用。4.如权利要求1所述的非暂态机器可读存储介质,其中,所述本地存储器的每个相应本地存储器具有在所述相应本地存储器与所述共享存储器之间作为单元来传输的访问单元,其中,所述相应本地存储器被划分成与各个不同的访问单元对应的多个组,并且其中,所述相应本地存储器中的由相应处理实体执行的数据操作是对所述多个组中的一个组中的数据进行的。5.如权利要求4所述的非暂态机器可读存储介质,其中,所述本地存储器包括缓存存储器,并且所述访问单元是缓存行。6.如权利要求1所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统:由所述第一处理实体确定第二数据操作将被应用于与所述第一处理实体相关联的其他存储器分区的数据;以及响应于确定所述第二数据操作将被应用于与所述第一处理实体相关联的所述其他存储器分区的数据,由所述第一处理实体执行所述第二数据操作。7.如权利要求1所述的非暂态机器可读存储介质,其中,包括将所述第一数据操作的数据写入与所述第二处理实体相关联的所述存储器分区的所述第一数据操作包括将所述第一数据操作的所述数据与同所述第二处理实体相关联的所述存储器分区中的数据进行组合。8.如权利要求1所述的非暂态机器可读存储介质,其中,将所述第一数据操作从所述第一处理实体转发到所述第二处理实体包括从所述第一处理实体向所述第二处理实体发送消息,所述消息包括所述第一数据操作的信息。9.如权利要求8所述的非暂态机器可读存储介质,其中,所述消息还包括要对其应用所
述第一数据操作的数据的信息。10.如权利要求8所述的非暂态机器可读存储介质,其中,所述第二处理实体与队列相关联,并且其中,向所述第二处理实体发送所述消息包括将所述消息写入所述队列。11.如权利要求10所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统:收集所述队列中的多个消息;以及...

【专利技术属性】
技术研发人员:R
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:

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

1