CN101107605A - 信息处理系统以及信息处理方法 - Google Patents

信息处理系统以及信息处理方法 Download PDF

Info

Publication number
CN101107605A
CN101107605A CNA200680003098XA CN200680003098A CN101107605A CN 101107605 A CN101107605 A CN 101107605A CN A200680003098X A CNA200680003098X A CN A200680003098XA CN 200680003098 A CN200680003098 A CN 200680003098A CN 101107605 A CN101107605 A CN 101107605A
Authority
CN
China
Prior art keywords
value
memory module
tabulation
mentioned
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA200680003098XA
Other languages
English (en)
Inventor
古庄晋二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Turbo Data Laboratories Inc
Original Assignee
Turbo Data Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Turbo Data Laboratories Inc filed Critical Turbo Data Laboratories Inc
Publication of CN101107605A publication Critical patent/CN101107605A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/32Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

根据由许多存储模块分担的值的列表,生成没有重复按升序排列的列表。信息处理系统具有许多PMM,PMM之间用数据传输路径连接。PMM的存储器保持以升序或者降序且没有重复地排序的值的列表。PMM根据对各个PMM决定的顺序和从其他的PMM接收到的值的列表,对于PMM自身保持的值的列表(LOCAL_LIST)中的存储值,判断该PMM自身是否是保持该存储值的代表一个或者一个以上的存储模块的代表模块,当是代表模块的情况下(RV-0~RV-7),与存储值相关联起来存储表示是代表模块的信息。

Description

信息处理系统以及信息处理方法
技术领域
本发明涉及采用了可以实现SIMD(Single Instruction Stream,Multiple Data Stream)的并行计算机的体系结构的信息处理系统。
背景技术
在全社会的各种场所引入计算机,以因特网为首的网络渗透的今天,在各处储存着大规模的数据。为了处理这种大规模数据,需要巨大的计算,因此要试着引入并行处理是自然的。
并行处理体系结构大体上分成“共用存储器型”和“分散存储器型”。前者(“共用存储器型”)是许多处理器共用1个巨大的存储器空间的方式。在该方式中,因为处理器群和共用存储器间的通信量成为瓶颈,所以使用过百的处理器构筑现实的系统并不容易。因而,例如在计算10亿个浮点变量的平方根时,相对单个CPU的加速比充其量也就是100倍。从经验上看,30倍左右是上限。
后者(“分散存储器型”)各处理器分别具有本地存储器,结合它们来构筑系统。在该方式中,可以设计组入了数百甚至到数万个处理器的硬件系统。因而,可以把计算上述10亿个浮点变量的平方根时针对单个CPU的加速比设置成数百~数万倍。但是,后者也存在以后说明的几个课题。
专利文献1:国际公开WO00/10103号公报(第3图以及第4图)
专利文献2:国际公开WO2004/092948号公报
[第1个课题:巨大排列的分担管理]
“分散存储器型”的第1个课题是数据的分担管理的问题。
巨大的数据(因为一般是排列,所以以后用排列来说明)并不能收容在1个处理器所具有的本地存储器中,必然在许多的本地存储器中被分担管理。如果不导入有效并且灵活的分担管理机理,则在程序的开发以及执行时将承担各种阻碍是明显的。
[第2个课题:处理器间通信的效率低]
分散存储器型系统的各处理器如果要访问巨大排列,则虽然对自己所具有的本地存储器上的排列要素能够快速地访问,但对其他处理器所具有的排列要素的访问必须进行处理器间通信。该处理器间通信与和本地存储器通信相比,可以说性能极低,最低也需要100个时钟。因此,在实施分类时,因为实施涉及巨大排列整个区域的参照,而多发生处理器间的通信,所以性能极其低下。
关于该问题将更具体地加以说明。在1999年当时,个人计算机使用1~数个CPU被构成为“共用存储器型”。在该个人计算机中使用的标准的CPU在存储器总线的5~6倍左右的内部时钟下动作,在其内部装备有自动的并行执行功能和流水线处理功能,大致能够用1个时钟(存储器总线)处理1个数据。
因此,在“分散存储器型”的多处理器系统中,虽然处理器数多,但很有可能比单一处理器(共用存储器型)还要慢100倍。
[第3个课题:程序的提供]
“分散存储器型”的第3个课题是怎样向许多处理器提供程序这样的问题。
在非常多的处理器中下载各自的程序,以使整体协调动作的方式(MIMD:Multiple Instruction Stream,Multiple Data Stream)中,为了程序的制作、编译、分配而需要很多的负荷。
另一方面,在使许多处理器以同一程序动作的方式(SIMD:Single Instruction Stream,Multiple Data Stream)中,程序的自由度减少,不能开发出带来所希望结果的程序这样的情况也能够被估计出。
本发明提供一种解决“分散存储器型”的上述第1至第3个课题的方法以及计算机体系结构。
本发明人提出了这样的构造以及处理方法(参照专利文献1),为了存储表形式数据而形成针对每一项的信息块在该信息块中设置存储项目值的值列表、以及将用于指定该值列表的值(指针值)存储在每个记录中的指针排列,通过从记录号码中按次序特定指针排列以及值列表,能够取得表形式的图像。在该构造中,随着记录数增大,因为上述值列表和指针排列、特别是指针排列变得非常大,所以希望在用许多存储器分担它后,能够用单一命令执行检索、总计、分类等处理。
从上述的观点出发,本发明人如专利文献2所述,提出了用分组传输路径连接相邻的PMM(处理器存储模块)之间,各PMM保持由值列表和指针排列构成的信息块这样的信息处理系统,其中值列表是用于对作为各自包含项目和属于该项目的项目值的记录排列所表示的表形式数据进行表现的、按照与属于特定的项目的项目值对应的项目值号码的顺序存储着该项目值的列表;指针排列按照唯一的顺序集合排列的顺序存储用于指示该项目值号码的指针值。在该信息处理系统中,用在各PMM中保持的信息块的集合体来形成全局的信息块。此外,根据专利文献2,通过利用连接PMM的分组传输路径来交换值列表中的项目值的位置等,实现检索、总计、分类等各种处理。
如果用许多存储器分担值列表、指针排列,则要求把分别保持在本地(即,各存储器)中的、没有重复的值按照升序排列而得的列表在全体(各PMM间)中唯一地进行排序。此外,在任何PMM中,还需要根据各个PMM分担的值列表中的值,得到包含无重复的值的列表。
并不限于表形式数据,在用许多PMM分担包含许多值的列表(值的列表)的情况下,也同样要求取得包含无重复的值的值列表,或者在各PMM中掌握自己所掌握的值的列表中的值的次序
因而,本发明其目的在于提供一种在分散存储器型中,在用单一命令输入输出存储在各种存储器中的排列中的要素,通过统一进行处理和通信实现明显高速的并行处理的信息处理系统以及信息处理方法中,对按照无重复升序地排列得到的列表进行高速、唯一地排序的方法。此外,本发明的目的在于提供生成按照无重复升序地排列得到的列表的方法。
本发明的目的通过以下信息处理系统实现,该信息处理系统具备具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序且没有重复地排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
代表模块判断部件,对于上述存储模块自身保持的值的列表中的存储值,根据用上述数据接收部件接收到的来自其他的存储模块的值的列表、和相对该其他的存储模块决定的顺序以及相对该存储模块自身决定的顺序,判断该存储模块自身是否是保持该存储值的代表一个或者一个以上的存储模块的代表模块,当是上述代表模块的情况下,和上述存储值联系起来,存储表示是代表模块的信息。
根据本发明,对于值的列表中的各个值,决定成为该值的代表模块的PMM,因为PMM自身存储该信息,所以,例如可以在任意一个存储模块中取得没有重复的值的列表。
在优选的实施方式中,上述代表模块判断部件对于上述存储模块自身保持的值的列表中的存储值,在相对保持该存储值的一个或者一个以上的存储模块决定的顺序中,当相对该存储模块自身决定的顺序处于规定的关系的情况下,判断为该存储模块自身是与该存储值有关的代表模块。
在更优选的实施方式中,上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断部件
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值,
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码下位或者上位的某一单侧上,并且存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,而使对应的单侧计数排列的值增大,
参照上述单侧计数排列中的各个值,在上述单侧计数排列的值是初始值时,判断为该存储模块自身是与该单侧计数排列中的值对应的、关于值的列表中的存储值的代表模块。
在另一优选的实施方式中,上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断部件
生成和上述存储模块自身保持的值的列表同样大小的出现计数排列,在该出现计数排列中存储初始值,
当在上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示在其他的存储模块中的值的存在,而使对应的出现计数排列的值增大,
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值,
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码下位或者上位的某一单侧,并且,上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示在其他的存储模块中的值的存在,而使对应的单侧计数排列增大,
对上述单侧计数排列中的值和上述出现计数排列中的对应的值进行比较,在这些值一致时,判断为该存储模块自身是与该单侧计数排列中的值以及出现计数排列中的值对应的、关于值的列表中的存储值的代表模块。
进而在另一优选的实施方式中,上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断部件
生成和上述存储模块自身保持的值的列表相同大小的标志排列,在该标志排列中存储初始值,
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中存在时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示在其他的存储模块中的值存在,设置对应的标志排列,
参照上述标志排列中的各自的值,当上述标志排列的值是初始值时,判断为该存储模块自身是与该标志排列中的值对应的、关于值的列表中的存储值的代表模块。
此外,本发明的目的在于通过具有以下特征的信息处理系统实现。在上述构成的信息处理系统中,进一步具备:在上述存储模块自身保持的值的列表中的存储值中,生成包含付与了表示是代表模块的信息的值的送出列表排列的送出列表排列生成部件;
根据从上述其他的存储模块的数据发送部件发送且用上述自己的数据接收部件接收到的、该其他的存储模块的送出列表排列中的存储值,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算部件。
根据本发明,在各个存储模块中,对于该存储模块自身保持的值的列表中的各个存储值,能够得到考虑到其他的存储模块的值的列表中的存储值下的次序。
在优选的实施方式中,上述次序计算部件
判断在上述存储模块自身保持的值列表中相邻的存储值之间存在几个上述其他的存储模块的送出列表中的存储值,根据经过该判断出的存在数,计算上述存储值的各自的次序。
进而,本发明的目的通过具备以下特征的信息处理系统实现。在上述构成的信息系统中具备分别具有存储器以及控制装置的、且各自预先排序了的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序没有重复地排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
出现计数排列生成部件,生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,来完成出现计数排列;
单侧计数排列生成部件,生成和上述存储模块自身保持的值的大小相同的单侧计数排列,在该单侧计数排列中存储初始值,当发送了上述值的列表的其他的存储模块的模块顺序处于下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的单侧计数排列的值增大,来完成单侧计数排列;
送出列表排列生成部件,生成用于送出到上述其他的存储模块的、和上述存储模块自身保持的值的列表相同大小的送出列表排列,比较上述出现计数排列的值和上述单侧计数排列对应的值,当双方的值一致的情况下,作为保持与该值有关的存储值的存储模块,存储表示该存储模块自身是最上位或者最下位的第1值,并且当上述双方的值不一致的情况下,存储除此之外的第2值,来完成上述送出列表排列;
次序计算部件,根据用上述其他的存储模块的数据发送部件发送且用上述自己的数据接收部件接收到的、该其他的存储模块的值的列表以及送出列表排列,计算上述存储模块自身保持的值的列表中的存储值的次序。
在优选的实施方式中,上述次序计算部件特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,根据与该存储值对应的上述送出列表排列的值的总和,判断在上述相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序。
进而,本发明的目的通过具有以下特征的信息处理系统来实现。这种信息处理系统的构成是具备:分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序没有重复地排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
出现计数排列生成部件,生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,来完成出现计数排列;
次序计算部件,根据用上述其他的存储模块的数据发送部件发送并用上述自己的数据接收部件接收到的、该其他的存储模块的值的列表以及出现计数排列,计算上述存储模块自身保持的值的列表中的存储值的次序。
在优选的实施方式中,上述次序计算部件特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,通过累计计算与判断为上述存在的存储值对应的出现计数排列的值的倒数,判断存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序。
此外,本发明的目的通过具有以下特征的信息处理系统来实现。这种信息处理系统的构成是具备:分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持没有重复地被排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
整数排列生成部件,根据从上述其他的存储模块的数据发送部件发送并用上述自己的数据接收部件接收到的、该其他的存储模块的值的列表中的存储值,判断在相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,对于上述存储模块自身保持的值的列表中的存储值的各个生成考虑到其他存储模块的值的列表的分配了具有一定的顺序但并不一定连续的整数的排列。
根据本发明,即使值的列表中的存储值是文字串、浮点,或者各种值的组合的情况下,也可以在各自的存储值中分配经过排序的整数。
此外,本发明的目的还可以通过具有以下特征的信息处理方法来实现。这种信息处理方法在具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序并且没有重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置来执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块接收包含在上述值的列表中的存储值的数据接收步骤;
代表模块判断步骤,在上述数据接收步骤中,对于上述存储模块自身保持的值的列表中的存储值,根据上述接收到的来自其他的存储模块的值的列表、和对该其他的存储模块决定的顺序以及对该存储模块自身决定的顺序,判断该存储模块自身是否是保持该存储值的代表一个或者一个以上的存储模块的代表模块,当是上述代表模块的情况下,和上述存储值相关联起来,存储表示是代表模块的信息。
在优选的实施方式中,上述代表模块判断步骤包含:根据作为上述顺序预先付与在上述存储模块的各自上的模块号码,对上述存储模块自身保持的值的列表中的存储值,在对保持该存储值的一个或者一个以上的存储模块决定的顺序中,当对该存储模块自身决定的顺序处于规定的关系时,判断为该存储模块自身是关于该存储值的代表模块的步骤。
在更优选的实施方式中,上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断步骤包含:
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值的步骤;
发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且当存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,使对应的单侧计数排列的值增大的步骤;
参照上述单侧计数排列中的各个值,当上述单侧计数排列的值是初始值时,判断为该存储模块自身是与该单侧计数排列中的值对应的、关于值的列表中的存储值的代表模块的步骤。
在另一优选的实施方式中,上述许多存储模块的顺序由付与在上述存储模块的各自上的模块号码决定,
上述代表模块判断步骤包含:
生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值的步骤;
当上述存储模块自身保持的值的列表中的存储值存在于来自其他存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,使对应的出现计数排列的值增大的步骤;
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值的步骤;
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,使对应的单侧计数排列的值增大的步骤;
比较上述单侧计数排列中的值和上述出现计数排列中对应的值,在它们一致时,判断为该存储模块自身是与该单侧计数排列中的值以及出现计数排列中的值对应的、关于值的列表中的存储值的代表模块的步骤。
进而在另一优选的实施方式中,上述许多存储模块的顺序由付与在上述存储模块的各自上的模块号码决定,
上述代表模块判断步骤包含:
生成和上述存储模块自身保持的值的列表相同大小的标志排列,在该标志排列中存储初始值的步骤;
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,设置对应的标志排列的步骤;
参照上述标志排列中的各个值,当上述标志排列的值是初始值时,判断为该存储模块自身是与该标志排列中的值对应的、关于值的列表中的存储值的代表模块的步骤。
此外,本发明的目的通过具有以下特征的信息处理方法来实现。在上述信息处理方法中进一步具备:
在上述存储模块自身保持的值的列表中的存储值中,生成包含付与了表示是代表模块的信息的值的送出列表排列的送出列表排列生成步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤中接收到的、该其他的存储模块的送出列表排列中的存储值,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算步骤。
在优选的实施方式中,上述次序计算步骤包含:判断在上述存储模块自身保持的值列表中相邻的存储值之间存在几个上述其他的存储模块的送出列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序的步骤。
此外,本发明的目的可以通过具有以下特征的信息处理方法来实现。这种信息处理方法在具备分别具有存储器以及控制装置、且是分别被预先排序的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序并且没有重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置被执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收步骤;
生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,完成出现计数排列的出现计数排列生成步骤;
生成和上述存储模块自身保持的值相同大小的单侧计数排列,在该单侧计数排列中存储初始值,当发送了上述值的列表的其他的存储模块的模块的顺序处于下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的单侧计数排列的值增大,来完成单侧计数排列的单侧计数排列生成步骤;
生成用于送出到上述其他的存储模块的、和上述存储模块自身保持的值的列表相同大小的送出列表排列,比较上述出现计数排列的值和上述单侧计数排列对应的值,当双方的值一致的情况下,作为保持与该值有关的存储值的存储模块,存储表示该存储模块自身是最上位或者最下位的第1值,并且在上述双方的值不一致的情况下,存储除此以外的第2值,完成上述送出列表排列的送出列表排列生成步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤值接收到的、上述其他的存储模块的值的列表以及送出列表排列,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算步骤。
在优选的实施方式中,上述次序计算步骤包含:
特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,根据与该存储值对应的上述送出列表排列的值的总和,判断在上述相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序的步骤。
此外,本发明的目的可以通过具有以下特征的信息处理方法来实现。这种信息处理方法在具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序并且没有重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置来执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块接收包含在上述值的列表中的存储值的数据接收步骤;
生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,来完成出现计数排列的出现计数排列生成步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤中接收到的、上述其他的存储模块的值的列表以及出现计数排列,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算步骤。
在优选的实施方式中,上述次序计算步骤包含:
特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,通过累计与判断为上述存在的存储值对应的出现计数排列的值的倒数,判断存在几个上述其他存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序的步骤。
此外,本发明的目的通过具有以下特征的信息处理方法来实现。这种信息处理方法是在具备:分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持不重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置来执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤中接收到的、该其他的存储模块的值的列表中的存储值,判断在相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,生成对于上述存储模块自身保持的值的列表中的存储值的各个考虑了其他的存储模块的值的列表的、分配了具有一定的顺序但不一定连续的整数的排列的整数排列生成步骤。
根据本发明,可以提供在分散存储器型中,在用单一命令输入输出存储在各种存储器中的排列中的要素,通过统一进行处理和通信实现明显高速的并行处理的信息处理系统以及信息处理方法中,对按照无重复升序地排列得到的列表进行高速并且唯一排序的方法。另外,根据本发明能够提供生成没有重复升序地排列得到的列表的方法。
附图说明
图1是表示关于本发明实施方式的信息处理系统概略的方框图。
图2是表示关于本发明实施方式的PMM结构的一个例图。
图3是表示表形式数据的一个例图。
图4是用于说明在本实施方式中保持表形式数据的结构原理图。
图5是说明在本实施方式中用各PMM分担掌握的排列及其值的图。
图6是表示最初在PMM-0~4的各个中分别分担的表形式数据的例图。
图7是表示最初在PMM-0~4的各个中分别分担的表形式数据的例图。
图8是概略地表示关于本实施方式的编译处理的流程图。
图9是表示向在图6~图7所示的例子中的全局顺序集合排列GOrd配置值的图。
图10是表示在各PMM中,为了计数在其他的PMM中值的出现而执行的处理的例子的流程图。
图11是说明在PMM-0中的与第1计数排列有关的处理的图。
图12是说明在PMM-1中的与第1计数排列有关的处理的图。
图13是说明在PMM-2中的与第1计数排列有关的处理的图。
图14是说明在PMM-3中的与第1计数排列有关的处理的图。
图15A是表示把PMM-0~PMM-3各自具有的值不重复并且按照升序排列得到的假想的值的列表的图。图15B~图15E是分别假想地表示在PMM-0~PMM-3各自中的图10所示的处理的执行结果的排列。
图16是表示在各PMM中执行的单侧计数处理的流程图。
图17是说明在PMM-0中的与第2计数排列有关的处理的图。
图18是说明在PMM-1中的与第2计数排列有关的处理的图。
图19是说明在PMM-2中的与第2计数排列有关的处理的图。
图20是说明在PMM-3中的与第2计数排列有关的处理的图。
图21是表示在各PMM中执行的计数值上赋予权重的处理的流程图。
图22A是表示存储了假想的值列表以及值的次序的假想的排列的图。图22B~图22E是分别说明按照在PMM-0~PMM-3中的图21所示的处理,考虑到第2计数排列的值的改变第1计数排列的值的图。图22F是表示以穿串方式对计数值进行总计的值的排列。
图23是表示在各PMM中执行的、计算自己掌握的值的列表中的各自值的次序的处理的流程图。
图24是表示在各PMM中执行的、计算自己掌握的值的列表中的各自的值的次序的处理的流程图。
图25A~图25C是详细说明PMM-0在接收到作为其他的PMM来自PMM-1的远程列表时执行的处理的图。
图26A~图26C是详细说明PMM-0在接收到作为其他的PMM来自PMM-1的远程列表时执行的处理的图。
图27是表示在各PMM中执行的、计算自己掌握的值的列表中的各自的值的次序的处理的流程图。
图28A、B是分别说明在PMM-0~PMM-3中,执行图23、24以及图27的处理时的排列等状态的图。
图29A、B是分别说明在PMM-0~PMM-3中,执行图23、24以及图27的处理时的排列等状态的图。
图30A、B是分别说明在PMM-0~PMM-3中,执行图23、24以及图27的处理时的排列等状态的图。
图31A、B是分别说明在PMM-0~PMM-3中,执行图23、24以及图27的处理时的排列等状态的图。
图32A是表示存储了假想的值列表以及值的次序的假想的排列的图。图32B~图32E是分别表示在PMM-0~PMM-3中计算出的、值的列表中的各自的值的次序的图。
图33A、B是分别表示值是字符串时的值的列表的例子,以及,在其上付与次序的例子的图。
图34A、B是分别表示值是浮点时的值的列表的例子,以及,在其上付与次序的例子的图。
图35A、B是分别表示值是整数的组时的值的列表的例子,以及在其上付与次序的例子的图。
图36是表示在各PMM中,在把作为上述第1步骤的具有一定的顺序的、不限于连续的整数分配给值时执行的处理的例子的流程图。
图37A、B是分别说明生成在PMM-0、PMM-1中的累计数排列Aggr(ID)的图。
图38A、B是分别说明生成在PMM-0、PMM-1中的累计数排列Aggr(ID)的图。
图39A是表示假想的值列表,以及,分配给各自的值的具有一定顺序并且不一定连续的整数的排列的图。图39B-图39E分别是把在各PMM中图36的处理结果得到的、累计数排列Aggr(ID)的整数值与值的列表(本地列表)中的值相关联起来假想地配置的图。
图40是表示检测标志排列以及”或”排列的生成处理的流程图。
图41A、B是说明在PMM-0、1中的、与检测标志排列有关的处理的图。
图42 A、B是说明在PMM-2、3中的、与检测标志排列有关的处理的图。
图43A是表示存储有以不重复并且按照升序排列了PMM-0~PMM-3各自具有的值得到的假想的值的列表以及该值的列表各自的值的顺序的假想排列的图。图43B~图43E是对于各个PMM,表示假想的值的列表、”或”排列以及送出列表的图。
图44是表示在关于本发明的其他的实施方式的PMM中执行的决定值的次序的处理的流程图。
图45A、B是分别表示在PMM-0、PMM-1中,执行图44所示的处理时的排列的状态的图。
图46A、B是分别表示在PMM-2、PMM-3中,执行图44所示的处理时的排列的状态的图。
图47是表示关于本发明的实施方式的信息处理系统的全体的方框图。
图48是在图1的方框图中加上了来自其他的组的数据通信的传输路径的图。
图49A是表示假想的值的列表的图。图49B~图49E是分别表示在各PMM中分担的值的列表的例子的图。
图50是表示用于付与次序的计数排列的生成处理的另一例子的流程图。
图52是用于说明图50所示的处理的图。
图53是用于说明图50所示的处理的图。
图54是用于说明图50所示的处理的图。
图51是用于说明图50所示的处理的图。
图55A、B是分别用于说明图50所示的处理的图。
图56A、B是分别用于说明图50所示的处理的图。
图57A~E是用于说明代表模块选择用的第1种方法的图。
图58A、B是表示为了进行代表模块选择而在PMM中执行的处理的例子的图。
图59A~图59E是用于说明代表模块选择用的第2种方法的图。
图60是为了代表模块选择而在PMM中执行的处理的另一例子的图。
图61A~图61E是用于说明代表模块选择用的第4种方法的图。
图62是表示为了代表模块选择而在PMM中执行的处理的又一例子的图。
图63是表示关于图6的例子,处理结果所得的排列GVNo等的图。
图64是表示关于图7的例子,处理结果所得的排列GVNo等的图。
符号说明
12:PMM
20:控制电路
22:总线I/F
24:存储器
26:库(bank)
具体实施方式
[硬件构成]
以下,参照附图对本发明的实施方式加以说明。图1是表示关于本发明的实施方式的信息处理系统的概略的方框图。如图1所示,在本实施方式中,信息处理系统具备带许多处理器的存储模块(以下,称为“PMM”)12-0、12-1、12-2、...,它们用总线、网络等传输路径连接。例如,在图1中,PMM12-0至少用传输路径和其他的PMM12-1~3的各个连接。其他的PMM也同样用传输路径和自己以外的3个PMM的各个连接。
图2是表示PMM12的结构的一个例图。如图2所示,PMM12具备控制按照命令访问存储器、执行运算等的控制电路20;总线接口(I/F)22;存储器24。
存储器24具有许多库BANK0、1、...n(符号26-0、...、n),在各个库中能够存储以后说明的规定的排列。
此外,控制电路20可以和外部的其他的计算机等交换数据。此外,其他的计算机通过总线仲裁,能够访问存储器的所希望的库。
在图1中,用三角形表示执行用PMM接收来自传输路径的数据的处理的构成要素(接收处理部)。该接收处理部相当于图2的总线接口22。在各PMM中如果使处理的并行性最高,则希望接收处理部的数是(PMM的个数-1)。此外,在图1中虽然未图示,但PMM还具备把数据经由传输路径发送到其他的PMMN中的发送处理部。该发送处理部也相当于图2的总线接口。在图1所示的例子中,因为表示4个PMM,所以PMM的接收处理部只要3个即可,但在以下的说明中,设置4个接收处理部,以使得能够进一步接收来自其他的PMM的数据的方式。
系统在配备许多(例如,128个,256个等)的PMM的情况下,各自的PMM具有(PMM的个数-1)大小的接收处理部是不现实的。因而,如图47以及图48所示,例如,把4个PMM认为是1个组(例如,参照符号4700-1,4700-2,4700-n)。在组之间还设置用于数据通信的传输路径(例如参照符号4710)。
在同样的组的PMM之间,通过PMM的3个接收处理部各个能够接收来自其他的PMM的数据,以确保完全的并行性,并且把PMM剩下的1个接收处理部设置成能够接收来自其他的组的数据的结构。
当然图1、图47、图48所示的连接不过是一个例子,PMM之间的连接也可以采用其他方式(例如,环形,总线形)。其中,随着能够同时接收数据的其他的PMM的个数的增大,并行性提高,能够实现更高速的处理。
[数据的存储构造]
图3是表示表形式数据的一个例图。这样,在表形式的数据中,在每一记录中对各种项目(在该例子中是“性别”、“年龄”、“身高”以及“体重”)提供值。在本实施方式的信息处理装置中,原理上根据图4所示的数据形式保持这些表形式数据。
如图4所示,在顺序集合的排列OrdSet中,在每一顺序号上把记录号码作为值进行配置。在该例子中,由于表示所有的记录,所以顺序号码和记录号码一致。
例如,通过值列表VL和指针排列VNo来表示表形式数据,其中值列表VL是对于性别用规定的顺序来分类作为实际的项目值的“男”或者“女”这一值得到的值列表;指针排列VNo是与顺序集合的排列OrdSet中的要素(例如,记录号码)的各个相对应,存储有该记录号码指示的值列表中的号码的、对值列表的指针排列。把该值列表VL以及指针排列VNo的组合还称为“信息块”(与性别有关的信息块对应于符号401)。
特定处于顺序集合的排列OrdSet中的要素(记录号码)指示的位置上的指针排列VNo中的值,进而通过取出在该值指示的位置上的值列表VL中的项目值,能够取得与记录号码对应的项目值。对于其他的项目的信息块也是同样的构造。
单一的计算机如果是单一的存储器(物理上也可以是许多存储器,但在配置在单一的地址空间上进行访问这一意义上是单一的存储器),则只要在该存储器上存储顺序集合的排列OrdSet、构成各信息块的值列表VL以及指针排列VNo即可。但是,因为为了要保持大量的记录,随着其增大存储器容量也增大,所以希望能够分散配置它们。此外,从处理的并行化的观点出发,也希望能够分担掌握被分散配置的信息。
[取得没有重复的值的列表:代表模块的选择处理]
在许多PMM上分散配置数据,并且为了能够利用它们,需要能够取得没有重复的值的列表,以及在各PMM中,需要掌握存储在值的列表中的各自存储值的、考虑到全部的PMM的次序。首先,说明取得没有重复的值的列表。而且,所谓“值的列表”是指包含1个或者1个以上的存储值的列表。例如,值列表VL也可以变成“值的列表”,指针排列VNo也可以变成“值的列表”。
在图5的例子中,考虑了在4个PMM(PMM-0~PMM-3)中收容规定的记录数的表形式数据的情况。在该例子中,是把与记录号码0~2有关的一连串的数据、与记录号码3、4有关的一连串的数据、与记录号码5~7有关的一连串的数据,以及与记录号码8、9有关的一连串的数据分别存储。在各PMM中,上述表形式数据的部分还以信息块的形式来存储。
在本实施方式中,在各PMM中,对于各自的项目设置指向值列表的指针排列VNo以及值列表VL。图6以及图7是表示在PMM-0~3的各个中分担图5所示的表形式数据时的排列的例图。
如图6、7所示,在各PMM中收容每个项目的信息块的部分集合等。例如,在图6中,在项目为“性别”的信息块601中,包含原本的指针排列VNo(参照图4)的部分集合VNo(它还称为“指针排列”);原本的值列表VL(参照图4)的部分集合VL(它还称为“值列表”)。
指针排列VNo的要素数与PMM分担的记录数一致。对此,值列表VL只抽出指针排列VNo表示的值。关于项目为“性别”,因为指针排列VNo的值指示值列表全部的要素(项目值),所以值列表VL和原本的值列表一致。另一方面,对于项目为“年龄”、“身高”以及“体重”,只把指针排列中的要素指示的值作为原本的值列表VL的部分集合从原本的值列表VL中取出这一点是能够理解的。
进而,在分担的信息块中,在各PMM中,如用指针排列VNo的要素恰当地指示值列表VL的要素(项目值)那样,即,如即使在PMM内的本地的处理(指针值的指定和项目值的指定)中也保持一致性那样,把该要素根据对应的原本的指针排列VNo的要素进行变换。
在图6、7所示的例子中,PMM-1如果参照项目为“年龄”的值列表VL,则具有值“16”,此外,PMM-2如果也参照项目为“年龄”的值列表VL,则具有值“16”。关于其他的项目,当然同样地可以产生得到许多PMM具有相同的值这一点(例如,在PMM-0中,在项目为“体重”的值列表VL中,具有值“55”,另一方面,在PMM-2中,在项目为“体重”的值列表中,也具有值“55”)。
各个PMM不掌握其他的PMM在值的列表中具有怎样的值。此外,如上所示,即使在许多PMM中具有相同值的情况下,也不能知道哪个PMM具有和存储在自己的值的列表中的值相同的值。因而,在图6、7所示的状态中,无论在哪个PMM中,或者在经由传输路径连接的其他的PMM中,都存在取得全部的值列表困难的问题。因而,在分别分担值的列表的PMM中,希望设置成用更少的数据发送接收,取得没有重复值的值的列表那样的状态。例如,在图6、7中,如果考虑项目为“年龄”,则设置成根据在各自的PMM中保持的值列表VL的值,得到没有重复的值列表VL(相当于与图4的项目为“年龄”有关的值列表VL)的状态。
如上所述,为了取得没有重复的值的列表,对于值的列表中的各自的值,生成表示哪个PMM保持的值代表该值,即,保持该值的代表模块是哪个的信息,保持代表的值的PMM(代表模块)只要保持该信息即可。在图6、7的例子中,对于项目为“年龄”的值“18”而言,用PMM间的数据交换来决定是PMM-0保持代表值,还是PMM-3保持代表值,例如,当决定为PMM-0是代表模块的情况下,PMM-0对于值“18”而言,只要保持表示保持该代表值的信息(例如,与值列表VL的值“18”相关联的标志)即可。
关于代表模块的选择处理,和用于掌握以下说明的值的次序的处理的处理流程一部分相同。因而,在说明包含用于掌握值的次序处理的编译处理之后,再次说明代表模块的选择处理。
[编译处理]
以下,考虑用于在许多PMM中分散配置数据,并且可以利用它们的处理(编译处理)。
如图6以及图7所示,在许多PMM(例如,PMM-0~PMM-3)中,考虑分担值列表VL的情况。在分担的信息块中,在值列表VL中,只保持在该分担的信息块中必要的要素(项目值)。因而,用指针排列VNo以及值列表VL保持本地的处理的一致性。但是,为了保持在PMM之间的处理的一致性,需要掌握在各PMM中分担的值列表VL的要素(项目值)的在值列表全体中的排序,即,各项目值在值列表全体中是规定的顺序的原本第几个,即项目值的次序。因而,在本实施方式中,在分担的各信息块中,配置全局值号码排列GVNo,使得能够收容表示与项目值对应的值的次序的号码。以下说明用于计算这种项目值的次序的处理。
而且,在本实施方式中,在各PMM中分配用于分担上述信息块的部分集合的偏移值(OFFSET)。该偏移值OFFSET与在关于PMM分担的记录的原本顺序集合OrdSet值中的开头的值对应。此外,在各PMM中,为了保持本地的处理中的一致性,而制作新的顺序集合OrdSet。顺序集合OrdSet的要素个数和PMM分担的记录个数一致。另一方面,为了保持在PMM之间的处理的一致性,各PMM分担的记录需要掌握在全体中保持着什么样的号码(顺序集合的要素)。因此,设置收容了在全体中的各记录的号码的全局顺序集合排列GOrd。
图8是概略地表示本实施方式的编译处理的流程图。如图8所示,首先,在各PMM中,生成图6~图7所示的初始信息块(步骤S801)。这可以通过例如从外部的其他的计算机向PMM给予应该分别分担的顺序集合OrdSet、构成各信息块的指针排列VNo、值列表VL、以及偏移值OFFSET,把这些排列存储在PMM的存储器等存储装置中来实现。把这些排列存储在各PMM内的存储器24中。而且,在以下的处理中,在存储器24等存储装置中生成排列。此外,当使处理高速化的情况下,可以在寄存器中生成排列。
在步骤802以后转移到在各PMM中的本地的处理以及与PMM之间的分组通信有关的处理。各PMM的控制电路20参照偏移值,计算配置在全局顺序集合排列GOrd中的各自的值,在排列中配置值(步骤802)。图9是表示在图6~图7所示的例子中的对全局顺序集合排列GOrd配置值的图。在此,只要把在顺序集合的值中加上了偏移值OFFSET的值配置在全局顺序集合排列GOrd对应的位置上即可。步骤802能够用在各PMM中的本地的处理来实现。
接着,决定全局值号码排列GVNo的值,把该值例如存储在生成于存储器24上的排列中(步骤803)。在决定该全局值号码排列GVNo值中,需要把分别保持在本地(各PMM)上的、按照升序排列了没有重复值的列表(值列表VL)在全体(各PMM之间)上唯一地进行排序。该全局值列表GVNo存储有在上述全体中进行了唯一排序的值(次序)。有关高速实现这种排序的方法以下进一步详细说明。
[针对值的列表中的值付与次序的第1种方法]
首先,说明实际上在和其他的PMM之间进行值的发送接收,根据接收到的其他的PMM的值,决定自己的PMM掌握的值的次序的例子。在此,为了容易说明,在各PMM中,考虑分担图49B~E所示那样的值的列表。还把在该PMM中所分担的值的列表称为本地列表(LOCAL LIST)。此外,图49A表示没有重复并且按照升序排列了这些本地列表的排列。把图49A所示那样的考虑了全部的PMM中的本地列表的值的没有重复值的列表还称为总列表(TOTAL LIST)。即,认为在PMM-0~PMM-3的4个PMM的存储器中,分别存储着以下那样的值的列表。例如,当表示为“a,b,c”的情况下是意味着在该PMM的存储器中以一定的顺序(在本例子中是升序)存储值“a”、“b”以及“c”。
PMM-0:[100,300,500,600]
PMM-1:[10,200,300,700]
PMM-2:[200,400,600,700]
PMM-3:[10,100,300,500]
图10是表示在各PMM中为了对在其他的PMM中的值的出现进行计数而执行的处理的例子的流程图。如图10所示,PMM在存储器等存储装置中生成为了计数其他的PMM的值的出现的第1计数排列群COUNT-0~3,并存储初始值(步骤1001)。第1计数排列的大小和自己的PMM掌握的值的个数相同。例如,在PMM-0中,生成具有4个存储位置号码(0~3)的排列。此外,排列的存储位置号码与值的列表的存储位置号码对应。例如,与PMM-0有关,第1计数排列的存储位置号码“0”与值“100”相关联。因而,作为与自己的PMM有关的第1计数排列的值分别存储“1”。此外,作为与其他的PMM的各自有关的第1计数排列的值,分别存储“0”。
PMM把自己掌握的值的列表经由总线发送到其他的PMM(步骤1002)。此外,PMM接收从其他的PMM中发送来的值的列表(步骤1003)。例如,如图1所示,在系统中设置4个PMM,各个PMM只要具备接收来自其他3个PMM的数据的3个数据接收部,就能够并行地实现数据接收的处理以及第1计数排列群的生成处理等。
接着,PMM参照从其他的PMM中接收到的值的列表,当发现在自己的值的列表中保持的值的情况下,在与该其他的PMM有关的第1计数排列中,增加与所发现的值对应的存储位置号码的值(步骤1004)。
接收来自其他PMM的值的列表以及在同样的值存在时增加第1计数排列是对全部的PMM来执行(参照步骤1005)。其后,PMM把与自己的PMM有关的第1计数排列以及与其他的全部的PMM有关的第1计数排列对应的值分别进行合计,生成存储有经过合计的值的第1的计数排列(步骤1006)。
图11~图14是分别说明PMM-0~PMM-3中的与第1计数排列有关的处理的图。如图11所示,例如在PMM-0中,从PMM-1~PMM-3各个中接收值的列表(图中,称为“REMOTE LIST”)。此外,与PMM-0(自己自身)有关的第1计数排列(在图11中称为“COUNT-0”)的全部的初始值变成“1”。另一方面,与其他的PMM有关的第1计数排列(在图11中,称为“COUNT-1”~“COUNT-3”)的全部的初始值变成“0”。
如果接收PMM-1的值的列表,则PMM-0参照在接收到的值的列表中所包含的值。在来自PMM-1的值的列表中,知道用PMM-0的值的列表(在图11中称为“LOCAL LIST”)所保持的值是“300”。因而,在与PMM-1有关的第1计数排列(在图11中称为“COUNT-1”)中,增加在值的列表中的值“300”的存储位置号码(=1)的值,设置成“1”。
对于PMM-2以及PMM-3也同样是在与各自有关的第1计数排列(在图11中,分别是“COUNT-2”以及“COUNT-3”)中,增加规定的值。其后,对图11中的“COUNT-0”~“COUNT-3”对应的值分别进行合计,得到存储经过合计的值的第1计数排列(在图11中,只称为“COUNT”)。实际上,重新把用于排列COUNT的区域设置在存储器中,也可以存储COUNT-0~COUNT-3的合计值。或者,也可以构成为在任意排列(例如,CONT-0)中累积其它的排列(COUNT-1~3)的值。
如图12~图14所示,即使在PMM-1~PMM-3中,也同样生成存储有经过合计的值的第1计数排列(图中,称为“COUNT”)。
图15A是表示把PMM-0~PMM-3各自具有的值没有重复地且按照升序排列的假想的值的列表(称为“TOTAL_LIST”)的图。这些是为了理解在PMM-0~PMM-3中的处理而图示的,实际上并不在某个PMM中生成。
图15B~图15E是假想地表示在PMM-0~PMM-3的各个中的图10所示的处理的执行结果的排列。例如,如图15B所示,知道对于PMM-0而言,对于假想的LOCAL_LIST的值是“10”、“300”、“500”以及“600”,作为计数值分别得到“2”、“3”、“3”以及“2”。如果参照图15A,则知道与同样的值对应的计数值在PMM之间共用。例如,如果看图15B、C以及E的存储位置号码“2”(本地列表的值“300”),则对应的计数值全部为“3”。
此外,在本实施方式中,执行在各PMM中,用于对在其他的PMM中位于比自己的PMM下位的PMM中的值的出现进行计数的单侧计数处理。在本实施方式中,PMM的上位或者下位用PMM末尾的号码(例如,在PMM-0中的末尾的数字“0”)表示,作为PMM认为该号码大的一方是上位。在各PMM中,把预先确定的自己的PMM的号码存储在存储器等中来掌握,并且在对其他的PMM进行发送值的列表时,只要把所掌握的自己的号码添加在值的列表中即可。
图16是表示在各PMM中执行的单侧计数处理的流程图。在图16所示的处理中,不是必须对其他的PMM发送值的列表(步骤1602)以及接收来自其他的PMM的值的列表(步骤1603),如果可以利用在图10的步骤1003中接收到的值的列表,则可以省略值的列表的发送接收。
如图16所示,PMM在存储器等存储装置中生成用于对与其他的PMM有关的值的列表中的值的出现进行计数的第2计数排列群COUNT-0~3,并存储初始值(步骤1601)。当把图16所示的处理和图10所示的处理并行执行的情况下,需要与图10所述第1计数排列独立地准备第2计数排列。应该存储在第2计数排列的各自中的初始值是与图10关联地说明的第1计数排列相同的(在关于自己的PMM的计数排列中,各初始值=1,在关于其他的PMM的计数排列中,各初始值=0)。
接着,PMM判断保有关于来自其他的PMM的值的列表的其他的PMM是否位于自己的PMM的下位(步骤1604)。当在步骤1604中判断为否(No)的情况下,转移到关于下一PMM的处理(参照步骤1606)。另一方面,当在步骤1604中判断为是(Yes)的情况下,和图10的步骤1004一样,PMM参照其他的PMM的列表,当发现了在自己的值的列表中保持的值的情况下,在与该其他的PMM有关的第2计数排列中,增加与所发现的值对应的存储位置号码的值(步骤1605)。如果关于全部的其他的PMM的处理结束(步骤1606中的是(Yes)),则PMM对与自己的PMM有关的第2计数排列以及与其他全部的PMM有关的第2计数排列对应的值分别进行合计,生成存储有经过合计的值的第2计数排列(步骤1607)。
图17~图20是分别说明PMM-0~PMM-3中的与第2计数排列有关的处理的图。如图17所示,PMM-0相对于PMM-1~PMM-3的全部位于下位。因而,由于对任何PMM在步骤1604中都判断为是否(No),所以第2计数排列(在图17中,是“COUNT-0~COUNT-3”)的值没有变化,因而,合计后的第2计数排列(在图17中是“COUNT-H”)变成[1,1,1,1]。
此外,如图18所示,对于PMM-1而言,只有PMM-0位于PMM-1的下位。因而,在其他的PMM是PMM-0时,执行步骤1605的处理,该处理的结果,在与PMM-0有关的第2计数排列(图18的“COUNT-1”)中,增加与值“300”对应的(存储位置号码=2)的计数值。因而,合计后的第2计数排列(图18的COUNT-H)变成[1,1,2,1]。
如图19所示,对于PMM-2,PMM-0以及PMM-1位于PMM-2的下位。因而,其他的PMM在分别是PMM-0、PMM-1时,执行步骤1605的处理。在与PMM-0有关的第2计数排列(图19的“COUNT-1”)中,增加与值“600”对应的(存储位置号码=2)计数值。此外,在与PMM-1有关的第2计数排列(图19的“COUNT-2”)中,增加与值“200”以及“700”对应的(存储位置号码=0,3)计数值。因而,合计后的第2计数排列(图19的“COUNT-H)变成[2,1,2,2]。在与图20所示的PMM-3有关的例子中,也同样地生成与各个其他的PMM(PMM-0~PMM-2)有关的第2计数排列,最终的合计后的第2计数排列(图20的“COUNT-H”)变成[2,2,3,2]。
这样,在PMM中,如果生成计数了自己的值的列表中的值的出现数的第1计数排列以及表示单侧的出现计数的第2计数排列,则PMM比较各个计数排列的值。如图21所示,PMM对第1计数排列的值和第2计数排列的对应的值(即同样的存储位置号码的值)进行比较(步骤2101),判断两者是否一致(步骤2101)。当值一致的情况下(在步骤2102中为是(Yes)),PMM把第1计数排列的值作为“Nm+1-(第1计数排列的对应的值)”,在该第1计数排列中存储经过计算得出的新的值(步骤2103)。而且,在此“Nm”是PMM的个数,在上述的例子中为“4”。
另一方面,当值不一致的情况下(步骤2102中为否(No)),把该第1计数排列的值设为“1”,在第1计数排列中存储“1”(步骤2104)。对第1计数排列的全部值执行这样的处理(参照步骤2105、2106)。
图22A是表示存储有假想的值列表以及值的次序的假想的排列的图。图22B-图22E是说明分别按照PMM-0~PMM-3中的图21所示的处理,考虑到第2计数排列的值的第1计数排列的值变更的图。图22B-图22E也假想地考虑值的次序。此外,图22F是表示用穿串方式对计数值进行总计的值的排列。
关于PMM-0、PMM-1,因为第1计数排列的任何值都不和第2计数排列的对应的值一致,所以第1计数排列的任何值都变成“1”(参照图22B、图22C)。此外,关于PMM-2、PMM-3,因为第1计数排列的任何值都和第2计数排列的对应的值一致,所以第1计数排列的各个的值变成“4+1-(第1计数排列的对应的值)”(参照图22D、图22E)。
在此,关于值的列表中的任意的值,如果用穿串方式对各PMM的第1计数排列的计数值进行总计,则其总和变成“Nm:PMM的个数”。例如,对于假想的存储位置号码“0”的值“10”,在PMM-1中,第1计数排列的值是“1”,在PMM-3中,第1计数排列的值是“3”。因而,如果用穿串方式进行计数值的总计,则变成“1+3=4”,与模块数一致(参照图22F)。有关其他的计数值也一样(参照图22F)。
其后,各PMM计算自己掌握的值的列表中的各个值的次序。如图23所示,PMM首先在存储器等存储装置中生成和值的列表相同大小的排列Aggr群,存储初始值(步骤2301)。对于与自己的PMM有关的排列Aggr-0,作为初始值存储[0,1,2,3]。另一方面,对于与其他的PMM有关的排列(在上述例子中,是排列Aggr-1~Aggr-3),作为初始值存储[0,0,0,0]。
接着,PMM把包含自己的值的列表的值以及对应的第1计数排列的值的组(Value Count值)的远程列表(REMOTE LIST)发送到其他的PMM(步骤2302)。
PMM如果从其他的PMM接收远程列表(步骤2303),则对自己的PMM的值的列表(称为“本地列表”)以及远程列表的各自的指针进行初始化(步骤2304),各自的指针在初始位置上,指示本地列表以及远程列表的存储位置号码“0”。PMM比较本地列表以及远程列表各自的指针表示的值(值的列表中的值,以下,称为“当前值”)(步骤2305)。根据这些当前值的关系不同,处理不同(参照步骤2306)。
当“本地列表的当前值<远程列表的当前值”的情况下,PMM以使存储位置号码只增大“1”的方式移动本地列表的指针(步骤2401)。当“本地列表的当前值=远程列表的当前值”的情况下,PMM以使存储位置号码只增大“1”的方式移动本地列表的指针(步骤2402),并且也以使存储位置号码只增大“1”的方式移动远程列表的指针(步骤2403)。
当“本地列表的当前值>远程列表的当前值”的情况下,PMM在与其他的PMM有关的排列Aggr中,在本地列表的指针表示的存储位置的值上加法计算远程列表的指针表示的位置的Count值(第1计数排列的值)(步骤2404)。接着,PMM以使存储位置号码只增大“1”那样移动远程列表的指针(步骤2405)。
当任意的指针都变成超过了本地列表或者远程列表的末尾的位置的情况下(在步骤2406中为是(Yes)),PMM判断对全部其他的PMM的处理是否已结束(步骤2407),如果还存在未处理的其他的PMM的远程列表(步骤2407中为否(No)),则对该其他的PMM的远程列表同样地执行处理。
图25A~图25C以及图26A-图26C是详细说明PMM-0在接收到作为其他的PMM来自PMM-1的远程列表时执行的处理的图。在图25A中,对PMM-0自身的本地列表以及来自PMM-1的远程列表的指针进行初始化,双方都进行存储位置号码是“0”的当前值的比较。在图25A所示的状态中,因为“本地列表的当前值(=100)>远程列表的当前值(=10)”,所以在与该PMM-1有关的排列Aggr-1中,存储远程列表的Count值“1”作为存储位置号码“0”的值(图24的步骤2404)。此外,以使存储位置号码只增大1的方式移动远程列表的指针。
在接着的图25B所示的状态中,因为“本地列表的当前值(=100)<远程列表的当前值(=200)”,所以以使存储位置号码只增大“1”的方式移动本地列表的指针(图24的步骤2401)。在图25C的状态下,因为“本地列表的当前值(=300)>远程列表的当前值(=200)”,所以在与该PMM-1有关的排列Aggr-1中,存储远程列表的Conut值“1”作为存储位置号码“2”的值(图24的步骤2404)。此外,远程列表的指针以使存储位置号码只增大“1”的方式被移动。
在图26A的状态下,“本地列表的当前值(=100)=远程列表的当前值(=300)”,本地列表以及远程列表的指针以使存储位置号码只增大“1”的方式被移动(图24的步骤2402,2403)。在图26B的状态下,“本地列表的当前值(=500)<远程列表的当前值(=700)”,本地列表的指针以使存储位置号码只增大“1”的方式被移动。进而,在图26C的例子中,“本地列表的当前值(=600)<远程列表的当前值(=700)”,本地列表的指针以使存储位置号码只增大“1”的方式被移动。由此,因为本地列表的指针指向从列表的末尾之后,所以与来自PMM-1的本地列表有关的处理结束。
在PMM-0中,即使在接收到来自PMM-1以外的其它的PMM(PMM-2,PMM-3)的远程列表时也同样地执行处理。
这样,用图23以及图24的处理,在与自己的PMM有关的排列Aggr(在例子中是Aggr-0)以及与其他的PMM有关的各个排列Aggr(在例子中是Aggr-1~Aggr-3)中存储了值后,根据这些排列的值,计算值的次序。如图27所示,PMM对与其他的PMM有关的排列Aggr(在例子中是Aggr-1~Aggr-3)的值进行合计(步骤2701)。经过合计的值可以暂时存储在任意一排列Aggr中,也可以另外设置用于存储合计值的排列,在该排列中存储经过合计的值。接着,PMM分别用经过合计的值除以Nm(即,模块数)(步骤2702)。其后,PMM对进行了除法计算的值进行累计数化(步骤2703)。所谓累计数化是指反复进行从存储位置号码小的数开始顺序在排列中在下一存储位置号码表示的值上加法计算排列的值的计算。进而,PMM在经过累计数化的排列上加法计算与自己的PMM有关的排列Aggr(在例子中是Aggr-0)的值(步骤2704)。加法计算了与自己的PMM有关的排列Aggr的值的排列变成表示自己的PMM的值的列表中的各个值的次序的排列。
图28A、B~图31A、B是分别说明在PMM-0~PMM-3中,执行了图23、图24以及图27的处理时的排列等状态的图。在图28A中,接收来自PMM-1的远程列表的结果为对与该PMM-1有关的排列Aggr(Aggr-1)进行值的存储是如参照图25A-图25C以及图26A-图26C详细地说明的那样,排列Aggr-1的值变成[1,1,0,0]。同样,接收来自PMM-2以及PMM-3的各自的远程列表以及进行图23、24的处理的结果,与PMM-2以及PMM-3有关的排列Aggr(Aggr-2,Aggr-3)也分别变成[0,3,4,0]、[3,0,0,0]。如果对Aggr-1~Aggr-3的值进行合计,则如图28B所示,变成[4,4,4,0]。合计值可以由Aggr-1~Aggr-3的任意一个保持。以下,如果用该各个合计值除以[Nm=4],则表示除法计算结果的排列变成[1,1,1,0]。进而,通过累计数化,得到[1,2,3,3]这一排列,进而,通过加法计算与PMM-0有关的排列Aggr(Aggr-0)的值,能够得到最终的排列[1,3,5,6]。
在其他的PMM(PMM-1~PMM-3)中也同样通过执行图23、24以及图27的处理,分别得到排列[0,2,3,7]、[2,4,6,7]、[0,1,3,5]。
说明在图23以及图24中执行的处理的含义。在图23以及图24中,当满足了一定的条件的情况下,在排列Aggr中存储计数值(参照图24的步骤2404)。换句话说,PMM在自己的值的列表(本地列表)中的某一值和该值的前一个(即,存储位置号码只小“1”的位置)值之间,计数存在几个接收到的来自其他的PMM的值的列表(远程列表)的值。而后,把远程列表的计数数存储在排列Aggr中与自己的值的列表中的某一值对应的位置上。此外,PMM在自己的值的列表(本地列表)中的某一值和来自其他的PMM的值的列表(远程列表)中的值相等的情况下,不执行上述计数。
图32A和图22一样,是表示存储了假想的值列表以及值的次序的假想的排列的图。此外,图32B~图32E是分别表示在PMM-0~PMM-3中计算出的值的列表的各个值的次序的图。如果在PMM-0~PMM-4的全体中进行考虑,则值的列表如图32A的“TOTAL_LIST”所示那样,变成[10,100,200,300,400,500,600,700],其次序成为如起名为“Order No.”的排列所示那样。
图32B表示对于PMM-0掌握的值的列表(LOCAL_LIST)[100,300,500,600]来说,各个值的次序是[1,3,5,6]。此外,图32C表示对于PMM-1掌握的值的列表(LOCAL_LIST)[10,200,300,700]来说,各个值的次序是[0,2,3,7]。图32D、图32E分别表示PMM-2、3掌握的值及其次序。如图32B~图32E所示能够理解为在各个PMM中执行了本实施方式的处理的结果是恰当地计算自己掌握的值的次序。
这样,能够得到表示各个PMM的值的列表(本地列表)的各自的值的全局次序。即,在PMM-0中,[1,3,5,6]这一排列变成关于该PMM-0的值列表VL[100,300,500,600]的全局值号码排列GVNo。同样,在各个PMM-1~3中,[0,2,3,7]、[2,4,6,7]以及[0,1,3,5]这样排列变成关于各个值列表VL的全局值号码排列GVNo。
返回到图6以及图7所示的例子,对“性别”、“年龄”、“身高”以及“体重”的项目各个执行了上述的处理的结果,能够取得图63以及图64所示那样的排列GVNo。
以上,如详细说明的那样,为了实现对值的列表中的值付与次序的第1种方法,信息处理系统的各PMM具备:
向其他的PMM发送包含在值的列表中的存储值的数据发送部件;
从其他的PMM接收包含在值的列表中的存储值的数据接收部件;
生成和PMM自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当PMM自身保持的值的列表中的存储值存在于来自其他PMM的值的列表中时,关于PMM自身保持的值的列表中的该存储值,为了表示在其他的PMM中的值存在,通过增大对应的出现计数排列的值,来完成出现计数排列的出现计数排列生成部件;
生成和PMM自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值,在发送了值的列表的其他的PMM的模块的顺序是处于下位或者上位的单侧,并且PMM自身保持的值的列表中的存储值在来自其他的PMM的值的列表中存在时,关于PMM自身保持的值的列表中的该存储值,为了表示在其他的PMM中的值存在,通过增大对应的单侧计数排列的值,来完成单侧计数排列的单侧计数排列生成部件;
生成用于送出到其他的PMM的、和PMM自身保持的值的列表相同大小的送出列表排列,比较出现计数排列的值和单侧计数排列对应的值,当双方的值一致的情况下,作为保持与该值有关的存储值的PMM,在存储表示该PMM自身是最上位或者最下位的第1值的同时,当双方的值不一致的情况下,存储除此以外的第2值,来完成送出列表排列的送出列表排列生成部件;
根据用其他的PMM的数据发送部件发送并用自己的PMM的数据接收部件接收到的其他PMM的值的列表以及包含送出列表排列的远程列表,计算PMM自身保持的值的列表中的存储值的次序的次序计算部件。
[值的整数化]
以下,说明值的列表(本地列表)是整数以外(例如,字符串和浮点)时的处理。如图33A所示,考虑应该排序的字符串的值分散存储在PMM-0~PMM-3中的情况。在此,如果以字母顺序(升序)付与次序,则能够得到图33B那样的结果。
此外,如图34A所示,即使在应该排序的浮点的值分散存储在PMM-0~PMM-3中的情况下,也能够得到图34B那样的结果。值不限于单一的值。例如,如图35A所示,值也可以是许多整数的组(例如,(50,100))。当然,并不限于整数的组,也可以考虑字符串和整数的组、整数和浮点的组等。这种情况下,也能够如图35B所示那样付与次序。
说明用于这样在整数以外的值的各个上付与表示该值的顺序的值(即,次序)的处理。所谓次序是从“0”开始的连续的整数。或者,也可以通过在上述连续的整数上加“1”,把次序考虑成是从“1”开始的整数。
在本实施方式中,在上述整数以外的值上分配具有一定的顺序但是不一定连续的整数(第1步),进而,在具有一定的顺序但不连续的整数上实施参照图8-图32说明的处理(第2步),最终计算值的列表(本地列表)的次序。
图36是表示在各PMM中把作为上述第1步的具有一定顺序的并不限于连续的整数分配给值时执行的处理的例子的流程图。
如图36所示,PMM在存储器等存储装置中生成用于计数其他的PMM的值出现的第1计数排列群COUNT-0~3,存储初始值(步骤3601)。第1计数排列的大小和自己的PMM掌握的值的个数相同。例如,在PMM-0中,生成具有4个存储位置号码(0~3)的排列。此外,排列的存储位置号码与值的列表的存储位置号码对应。例如,对于PMM-0,第1计数排列的存储位置号码“0”~“3”的值分别与在PMM-0中保持的值“AZ”、“CX”、“EX”、“FX”相关联。作为与自己的PMM(PMM-0)有关的第1计数排列的值,分别存储“1”。此外,作为与其他的PMM的各个有关的第1计数排列的值,分别存储“0”。如图37A所示,PMM-0的第1计数排列(COUNT-0)是[1,1,1,1],与其他的PMM有关的第1计数排列(COUNT-1~3)是[0,0,0,0]。
PMM把自己掌握的值的列表经由总线发送给其他的PMM(步骤3602)。此外,PMM接收从其他的PMM发送来的值的列表(步骤3603)。
接着,PMM参照从其他的PMM接收到的值的列表,在自己掌握的值的列表的某值和其前一个(即,存储位置号码小1个)值之间,计数存在几个从其他的PMM接收到的值的列表(步骤3604)。而且,当自己掌握的值的列表中的某值和来自其他的PMM的值的列表中的值相等的情况下,可以认为该其他的值列表中相等的值是上述“在此间存在”的值。
例如,在图37A的例子中,考虑PMM-0接收到来自PMM-1的值的列表(远程列表)[AX,BX,CX,GX]的情况。在此,因为PMM-0的值的列表(本地列表)的存储位置号码“0”的值“AZ”≥“AX”,所以作为与“AZ”有关的第1计数排列的值(即,存储位置号码“0”的值)存储“1”。
接着,考虑PMM-0的值的列表(本地列表)的存储位置号码“1”的值“CX”。在该值“CX”和前一个(即存储位置号码“0”)的值“AZ”之间,在PMM-1的值的列表(远程列表)中,存在2个值“BX”、“CX”。因而,作为与“CX”有关的第1计数排列的值,存储“2”。
对于PMM-0的值的列表(本地列表)的存储位置号码“2”的值“EX”以及存储位置号码“3”的值“FX”,分别在该值和前一个值之间,不存在来自PMM-1的值的列表(远程列表)的值。因而,与这些值有关的第1计数排列的值变成“0”。
接收来自其他的PMM的值的列表以及存储对第1计数排列的值是对全部的PMM值执行的(参照步骤3605)。其后,PMM对与自己的PMM有关的第1计数排列以及与其他的全部的PMM有关的第1计数排列对应的值分别进行合计,生成存储有经过合计后的值的第1计数排列(步骤3606)。
在图37A所示的例子中,PMM-0的自己自身的第1计数排列是[1,1,1,1],与PMM-1~PMM-3各自有关的第1计数排列是[1,2,0,0]、[0,1,1,1]、[2,1,1,0],如果对对应的值进行合计,则经过合计的第1计数排列变成[4,5,3,2]。进而,PMM累计经过合计的第1计数排列的值,生成累计数排列Aggr(ID)(步骤3607)。例如,如图37A所示,PMM-0累计经过合计的第1计数排列[4,5,3,2]的值。
在此,有关累计的计算以图37A为例子说明。累计数排列Aggr(ID)的开头(存储位置号码为“0”)的值和计数排列的值“4”一致。接着,作为Aggr(ID)的下一个(存储位置号码为“1”)值,存储计数排列的值“5”和Aggr(ID)的前一个位置(即存储位置号码为“0”)的值“4”的加法计算值“9”。这样,作为Aggr(ID)的某一存储位置号码的值,存储在计数排列中相同的存储位置号码的值和在累计数排列Aggr(ID)中小1个的存储位置号码的值的加法计算值。该处理的结果,在PMM-0中的累计数排列Aggr(ID)变成[4,9,12,14]。
即使在其他的PMM(PMM-1~PMM-3)中也执行图36所示的处理,在各自的PMM中,能够得到累计数排列Aggr(ID)(参照图37B,图38A,图38B)。把累计数排列Aggr(ID)存储在PMM的存储器的规定区域上。
在各PMM中得到的累计数排列Aggr(ID)的整数值变成在值列表(本地列表)中分配给相同的存储位置号码的值上的“具有一定的顺序但不一定连续的整数”。因而,如果值的列表(本地列表)中的值相同,则对应的累计数排列Aggr(ID)的整数值变成相同。例如,如图37B所示,与PMM-1的值的列表(本地列表)的存储位置号码“0”的值“AX”对应的、累计数排列Aggr(ID)的整数值是“2”。此外,如图38B所示,与PMM-3的值的列表(本地列表)的存储位置号码“0”的值“AX”对应的、累计数排列Aggr(ID)的整数值是“2”。
图39A是假想地把PMM-0~PMM-3的值按照字母顺序排列,并且对于各自的值把在图36所示的处理中得到的累计数排列的整数值假想地对应起来排列的图。如图39A所示,累计数排列的整数值虽然不连续,但按照值的顺序变成升序。即,可理解为变成“具有一定的顺序但是不连续的整数”。此外,图39B~图39E是分别把在各PMM中图36的处理的结果得到的累计数排列Aggr(ID)的整数值与值的列表(本地列表)的值相关联起来假想地配置的图。由此,能够理解为即使PMM不同,如果值的列表(本地列表)的值相同,则对应的累计数排列Aggr(ID)的整数值也相同。在本实施方式中,各PMM只通过从其他的PMM中接收值的列表(远程列表),如上所示,就能够得到是维持了自己的值的列表(本地列表)的顺序且和其他的PMM共用的整数值。在累计数排列Aggr(ID)和值的列表(本地列表)之间,因为值一一对应,所以能够使用累计数排列Aggr(ID)作为变换排列。
这样在本实施方式中,能够把整数以外(在上述例子中是字母)的值和维持该顺序的整数对应起来。进而,在各PMM中,能够取得类似具有和值的列表(本地列表)的各个值对应的整数值那样的变换排列。因而,对于该变换排列,通过应用以前在[对值的列表中的值付与次序]的项中说明的方法,可以在各PMM中计算自己的值的列表的各个值的次序。
对于值的列表(本地列表)中的值是字母以外,例如浮点、复数的值的组的情况而言省略说明,但在各PMM中,通过执行图36的处理,能够取得具有维持该顺序的整数值的变换排列这一点是能够理解的。
如以上详细说明的那样,为了实现值的整数化,信息处理系统的各PMM具备:
向其他的PMM发送包含在值的列表中的存储值的数据发送部件;
从其他的PMM中接收包含在值的列表中的存储值的数据接收部件;
根据从其他的PMM的数据发送部件发送并用自己的数据接收部件接收到的、其他的PMM的值的列表中的存储值,判断在相邻的存储值之间存在几个其他的PMM的值的列表中的存储值,根据判断出的存在个数,生成对于PMM自身保持的值的列表中的存储值的各个,考虑到其他的PMM的值的列表的分配了具有一定的顺序但不一定连续的整数的排列的整数排列生成部件。
[对值的列表中的值付与次序的第2种方法]
在上述的付与次序的处理中,在出现计数排列的生成处理(参照图10)后,执行单侧计数排列的生成处理(参照图16),其后,通过比较计数排列的值,在计数排列的值上付与权重(参照图21)。
以下,代替单侧计数处理,通过利用以下说明那样的设置了标志的排列,可以省略上述那样的生成出现计数排列、生成单侧计数排列、比较计数排列的值这些过程。
图40是表示检测标志排列以及”或”排列的生成处理的流程图。如图40所示,PMM在存储器等存储装置中生成用于检测与其他的PMM有关的值的列表中的值出现的检测标志排列群,并存储初始值(步骤4001)。在步骤4001中,只要生成其他的PMM个数的标志排列即可。检测标志排列的初始值为了表示初始未设置标志的状态而变成“0”。
PMM向其他的PMM发送值的列表(步骤4002),此外,从其他的PMM中接收值的列表(步骤4003)。
接着,PMM对于来自其他的PMM的值的列表,判断保有它的其他的PMM是否位于自己的PMM的下位(步骤4004)。当在步骤4004中判断为否(No)的情况下,转移到与下一PMM有关的处理(参照步骤4006)。另一方面,当在步骤4004中判断为“是”(Yes)的情况下,当PMM参照其他的PMM的列表,发现了在自己的值的列表中所保持的值的情况下,在与该其他的PMM有关的检测标志排列中,在与所发现的值对应的存储位置号码上设置标志,即,在该位置的值中存储“1”(步骤4005)。如果对于全部其他的PMM的处理结束(步骤4006中的是(Yes)),则PMM对与其他全部的PMM有关的检测标志排列对应的值进行“或”处理(步骤4007)。即,在检测标志排列中,如果相同的存储位置号码的值之一是“1”,则在表示计算结果的”或”排列中,把对应的值设置为“1”。该”或”排列也是只要在存储器等存储装置中生成即可。
图41A、B以及图42A、B是说明在PMM-0~PMM-3中的与检测标志排列有关的处理的图。如图41A所示,PMM-0对于PMM-1~PMM-3的全部来说位于下位。因而,对于任何PMM因为都在步骤4004中判断为否(No),所以检测标志排列的值不变化,因而,合计后的”或”排列变成[0,0,0,0]。
此外,如图41B所示,对于PMM-1而言,只有PMM-0位于PMM-1的下位。因而,在其他的PMM是PMM-0时,执行步骤4005的处理,该处理的结果,在与PMM-0有关的检测标志排列中,把与值“300”对应的(存储位置号码=2的)标志设置为“1”。因而,实施了“或”处理的“或”排列变成[0,0,1,0]。
如图42A所示,对于PMM-2而言,PMM-0以及PMM-1都位于PMM-2的下位。因而,其他的PMM在分别是PMM-0、PMM-1时执行步骤4005的处理。在与PMM-0有关的检测标志排列中,设置与值“600”对应(存储位置号码=2的)标志。此外,在与PMM-1有关的检测标志排列中,设置与值“200”以及“700”对应的(存储位置号码=3的)标志。因而,”或”排列变成[1,0,1,1]。进而,即使在与图42B有关的PMM-3的例子中,也同样地生成与各个其他的PMM(PMM-0~PMM-2)有关的检测标志排列,实施了“或”处理的”或”排列变成[1,1,1,1]。
在以下的处理中,PMM发送的值的列表(远程列表)由在PMM掌握的值的列表(本地列表)的值中,在”或”排列中对应的位置的值是“0”那样的值构成。图43A是表示存储有以不重复并且按照升序排列了PMM-0~PMM-3各自具有的值得到的假想的值的列表以及该值的列表各自的值的顺序的假想排列的图。如图43B~图43E所示,对于各个PMM,在值的列表(本地列表)的值中,只把”或”排列的值是“0”那样的值存储在送出的值的列表中(在图43B~图43E中表示为“送出列表”)。
图44是表示在本发明的其他实施方式的PMM中执行的、决定值的次序的处理的流程图。如图44所示,PMM首先生成由在值的列表(本地列表)中,“或”排列对应的值是“0”那样的值组成的送出列表(步骤4401)。该送出列表(远程列表)如图43B-图43E所示。
接着,PMM在与自己的值的列表(本地列表)有关的累计数排列Aggr以及基于其他的送出列表的计数排列Count-1~3的各个中存储初始值(步骤4402)。这些排列只要设置在存储器等存储装置中即可。例如,如图45A所示,PMM作为与自己的PMM有关的累计数排列的值,存储[0,1,2,3,...]这样的从“0”开始的升序的数字。这基于对于自己的值的列表(本地列表)而言,与各个存储位置号码相比在前面的存储位置号码上存在的值的数各增加1个的操作。此外,对于计数排列Count-1~3的各个,全部的初始值变成“0”。
PMM向其他的PMM发送送出列表(远程列表)(步骤4403),并且接收来自其他的PMM的送出列表(远程列表)(步骤4404)。
PMM对在自己的值的列表(本地列表)的某一值和其前一个(即,存储位置号码只小1个的位置)值之间进行存在几个来自其他的PMM的送出列表(远程列表)中的值进行计数(步骤4405)。把该经过计数的值作为与该自己的值的列表(本地列表)的某一值有关的计数值,存储在计数排列中。对全部的其他的PMM的送出列表(远程列表)执行该步骤4405的处理。
如图45A所示,PMM-0从PMM-1接收[10,200,700]这一送出列表(远程列表)。在PMM-0中,在自己的值的列表(远程列表)中,存储位置号码“0”的值是“100”。因而,因为存在比其小的来自PMM-1的送出列表(远程列表)的值“10”,所以,在计数排列Count-1中,存储位置号码“0”的值成为“1”。此外,存储位置号码“1”的值是“300”。因而,在从值“100”到“300”之间,因为存在来自PMM-1的送出列表(远程列表)的值“200”,所以在计数排列Count-1中,存储位置号码“1”的值成为“1”。
而且,在步骤4405中,在存在和自己的值的列表(本地列表)中的某一值一致的来自其他的PMM的送出列表的值的情况下,PMM不进行象该一致的值所反应那样的计数。例如,在图45B中,在PMM-1的值的列表(本地列表)中,存储位置号码“2”的值是“300”。在此,值的列表中,在从前一个值“200”到“300”之间,如果除去“300”,则不存在PMM-0的送出列表中的值。但是,当值一致的情况下,因为不进行在计数排列中的计数,所以在计数排列Count-1中,存储位置号码“2”的值保持为“0”。
接着,PMM对计数排列对应的值(即存储位置号码相同的值)进行合计,得到对值经过了合计后的计数排列(步骤4407)。这能够通过在某个计数排列中分别加法计算其他的计数排列的值来而实现。进而,PMM对进行合计了值的计数排列的值进行累计,得到累计数排列(步骤4408)。进而,PMM对在步骤4408中得到的累计数排列的值,和与自己自身的值的列表有关在步骤4402中预先准备、存储了初始值的累计数排列Aggr对应的值进行加法计算(步骤4409)。在步骤4409中得到的排列的值表示值的列表(本地列表)的值的次序。
如图45A所示,PMM-0接收来自作为其他的PMM的PMM-1~PMM-3的送出列表(远程列表),通过步骤4405的处理,生成计数排列Count-1~Count3。如果对这些计数排列的值进行合计,则经过合计的排列变成[1,1,1,0]。进而,通过累计该值,能够得到累计数排列[1,2,3,3]。在这些排列的各个值中加法计算与在步骤4402中生成的自身的值的列表(本地列表)有关的累计数排列Aggr[0,1,2,3]的值。由此得到的排列[1,3,5,6]表示PMM-0的值的列表(本地列表)的各个值的全局的次序。
图45B、图46A、B是分别说明与PMM-1、2、3有关的图44的处理的图。如这些图所示,能够理解即使在PMM-1~3中,通过执行图44的处理,也能得到表示值的列表(本地列表)的各个值的全局次序的排列。
以上,如详细说明的那样,为了实现对值的列表中的值付与次序的第2种方法,信息处理系统的各PMM具备:
在PMM自身保持的值的列表中的存储值中,生成包含付与表示是代表模块的信息的值的送出列表排列的送出列表排列生成部件;
根据从其他的PMM的数据发送部件发送且用自己的数据接收部件接收到的该其他的PMM的发送列表排列中的存储值,计算PMM自身保持的值的列表中的存储值的次序的次序计算部件。
[对值的列表中的值付与次序的第3种方法]
为了在值的列表中的值上付与次序,既便不执行单侧计数处理(图16)、生成检测标志(图40)也能够实现。这种情况下,在执行申请计数处理(图10)后,把在处理中得到的第1计数排列和对应的值的列表一同发送。
图50是表示用于利用其他的方法时付与次序的计数排列的生成处理的流程图。如图50所示,PMM在存储器等的存储装置中生成用于计数来自其他的PMM的值的列表中的值出现的第3计数排列群COUNT-1~3,并存储初始值(步骤5001)。作为计数排列的初始值给予“0”。而且,在步骤5001中,PMM生成存储了针对自己的PMM的值的列表的各个值的初始次序的排列Aggr-0,也可以在该排列中生成初始值。该排列Aggr-0的初始值变成从“0”开始的升序的值。即,如果自己的PMM的值的列表的值存在“4”个大小,则排列Aggr-0的初始值变成[0,1,2,3]。当然,排列Aggr-0的生成以及初始值的存储不需要在该阶段进行,在使用时生成并存储初始值也可以。
接着,PMM把包含自己的PMM的值的列表的值以及对应的第1计数排列的值的组(Value,Count值)的远程列表(REMOTE LIST)发送到其他的PMM(步骤5002)。PMM如果从其他的PMM接收远程列表(步骤2303),则执行以下所述的处理,在计数排列中存储值。
PMM当在自己的值的列表(本地列表)中的某一值和该值的前一个(即,存储位置号码只小1的位置)的值之间存在接收到的来自其他的PMM的值的列表(远程列表)的值时,则把与该值对应的Count值的倒数,存储在第3计数排列中对应的位置上(步骤5004)。在上述的本地列表相邻的值之间,当存在远程列表中的许多值的情况下,把各自的Count值的倒数的和存储在第3计数排列中。而且,当PMM在本地列表中的值与来自其它的PMM的远程列表中的值相等的情况下,不进行上述倒数的存储。
图51~图54是分别表示在PMM-0~PMM-3中的根据图50的处理的对第3计数排列进行值的收容以及该值的合计处理的图。例如,在PMM-0中,在来自PMM-1的远程列表中,包含“10”、“200”、“300”、“700”这样的值。如果和自己的值的列表(本地列表)的值比较,因为是“10<100”,所以在计数排列COUNT-1中,作为与本地列表的值“100”对应的位置(存储位置号码“0”)的值,存储Count值“2”的倒数“1/2”。同样,对于自己的值的列表(本地列表)的值“300”,因为在“100”和“300”之间存在PMM-1的值的列表中的值“200”,所以在计数排列COUNT-1中,作为与本地列表的值“300”对应的位置(存储位置号码“1”)的值,存储Count值“2”的倒数“1/2”。
PMM对全部的从其他的PMM接收到的远程列表执行把倒数存储到计数排列的处理(步骤5005)。其后,PMM对第3计数排列对应的值进行合计(步骤5006),进而,对经过合计的值进行累计(步骤5007)。在图51的例子中,如果计数与PMM-1有关的第3计数排列[1/2,1/2,0,0]、与PMM-2有关的第3计数排列[0,1/2,1/2,0],与PMM-3有关的第3计数排列[1/2,0,0,0],则能够取得值经过合计后的计数排列(图中,用“COUNT”表示)[1,1,1,0]。对于PMM-1~3也同样能够得到值经过合计后的计数排列(参照图52~图54)。
图55A、B以及图56A、B是分别表示在PMM-0~PMM-3中的根据图50的处理的生成累计数排列以及生成存储了最终的次序的排列的图。例如,如图55A所示,在PMM-0中,累计经过合计后的计数排列[1,1,1,0],得到累计数排列AGGR[1,2,3,3]。即使在PMM-1~3中也同样取得累计数排列AGGR(参照图55B、图56A、图56B)。
进而,PMM对所得到的累计数排列AGGR的值和存储有针对自己的PMM的值的列表各个值的初始次序的排列Aggr-0所对应的值进行加法计算,得到最终的排列(步骤5008)。通过该值的加法计算得到的排列变成表示自己的PMM的值的列表中的各个值的次序的排列。在图55A-图56B中,排列GVNo表示是表示上述次序的排列。
这样不利用基于单侧计数处理的第2计数排列和检测标志排列,就能够生成存储有针对值的列表中的值的次序的排列。
如以上详细说明的那样,为了实现对值的列表中的值付与次序的第3种方法,信息处理系统的各PMM具备:
向其他的PMM发送包含在值的列表中的存储值的数据发送部件;
从其他的PMM中接收包含在值的列表中的存储值的数据接收部件;
生成和PMM自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当PMM自身保持的值的列表中的存储值存在于来自其他的PMM的值的列表中时,对于PMM自身保持的值的列表中的存储值,为了表示在其他的PMM中的值的存在,通过增大对应的出现计数排列的值,来完成出现计数排列的出现计数排列生成部件;
根据用其他的PMM的数据发送部件发送的且用自己的数据接收部件接收到的其他的PMM的值的列表以及包含出现计数排列的远程列表,计算PMM自身保持的值的列表中的存储值的次序的次序计算部件。
[代表模块的选择处理]
以下,说明用于选择代表模块的具体的处理。为了选择代表模块,只要执行与上述对值的列表中的值付与次序的第1种方法、第2种方法类似的处理即可。
首先,说明代表模块选择用的第1种方法。在第1种方法中,通过执行单侧计数处理(参照图16),能够决定对值的列表中的值进行代表的模块。各PMM考虑在执行了图16所示的处理时得到的单侧计数排列(COUNT-H)。具体地说,认为得到了图17~图20所示的单侧计数排列(COUNT-H)。图57A是表示假想地没有重复并且以升序排列图17~图20所示的值的列表中的值得到的排列的图。在代表模块的选择处理中,只要能够决定代表图57A所示的假想的排列中的各个值那样的PMM即可。图57B~图57E是分别表示保持在PMM-0-PMM-3中的值的列表(LOCAL_LIST)以及所生成的单侧计数排列(COUNT-H)的图。
在用于代表模块选择的第1种方法中,如图58A所示,PMM在执行了单侧计数处理后(步骤5801),从存储器等存储装置中读出该单侧计数排列(COUNT-H)的值(步骤5802),在读出的单侧排列(COUNT-H)的值是“1 ”时,判断为与值的列表(LOCAL_LIST)中对应的值有关的代表模块是自己(步骤5803中为是(Yes))。因而,这种情况下,PMM例如与自己保持的值的列表(LOCAL_LIST)中的该值关联起来,在存储器等存储装置中存储表示自己是代表模块的信息(例如,标志等一定的标记)(步骤5804)。
在图57B~图57E所示的例子中,在假想的值的列表(TOTAL_LIST)中,对于作为最初的值的“10”,PMM-1变成代表模块(参照符号RV-0)。对于在假想的值的列表(TOTAL_LIST)中作为存储位置号码“1 ”的要素的“100”而言,PMM-0变成代表模块(参照符号RV-1)。在图57B-图57E中,RV-0~RV-7分别表示对于假想的值的列表中的值各个成为代表模块的PMM。
第1种方法遵照以下的逻辑。在图16所示的处理中,如果从比自己下位的PMM中接收自己的值的列表中的值,则对单侧计数排列进行加法计算。因而,单侧计数排列是“1”意味着在保持该值的PMM中,自己是最下位的模块。即,能够唯一决定保持值的最下位的PMM。因而,变成了代表模块的PMM把该值送出到传输路径,主持生成上述TOTAL_LIST的处理的PMM接收来自传输路径的值,通过生成包含接收到的值的排列,能够得到没有重复值那样的排列。进而,PMM通过把在前面说明过的“对值付与次序”的处理中得到的值的次序也送出到传输路径,可以得到在某一PMM中还考虑了图57A所示那样的值的顺序的排列(TOTAL_LIST)。
以下说明代表模块选择用的第2种方法。在第2种方法中,如图58B所示,执行出现计数处理(参照图10)以及单侧计数处理(参照图16)这两个处理(步骤5811),在PMM中,读出所得到的排列(“第1计数排列:出现计数排列”以及“第2计数排列:单侧计数排列”)对应的值(步骤5812),当这些值一致的情况下(在步骤5813中为是(Yes)),决定为PMM变成关于与该一致的值相关连的值的列表(LOCAL_LIST)的值的代表模块(步骤5814)。在以下的说明中认为,具体地通过图10所示的处理,得到了图11~图14所示的出现计数排列(COUNT)。此外认为,通过图16所示的处理,得到了图17~图20所示的单侧计数排列(COUNT-H)。
图59A是表示把值的列表中的值假想地以没有重复并且按照升序排列得到的排列的图。图59B~图59E分别是表示保持在PMM-0~PMM-3中的值的列表(LOCAL_LIST)、出现计数排列(COUNT)以及单侧计数排列(COUNT-H)的图。
在用于代表模块选择的第2种方法中,PMM在出现计数排列(COUNT)的值和单侧计数排列(COUNT-H)对应的值一致时,判断为与值的列表(LOCAL_LIST)中的对应的值有关的代表模块是自己。因而,这种情况下,PMM例如与自己保持的值的列表(LOCAL_LIST)中的该值相关联起来,在存储器等存储装置中存储表示自己是代表模块的信息(例如,标志等一定的标记)。
在图59B~图59E所示的例子中,在假想的值的列表(TOTAL_LIST)中,对于是最初的值的“10”,在PMM-1以及PMM-3中,比较出现计数排列(COUNT)以及单侧计数排列(COUNT-H)。在PMM-3中,因为这些排列的值一致,所以,能够判断为PMM-3是值的列表中的值“10”的代表模块(参照符号PV-0)。对于在假想的值的列表(TOTAL_LIST)中作为存储位置号码“1”的要素的“100”而言,在PMM-0以及PMM-3中,比较出现计数排列(COUNT)以及单侧计数排列(COUNT-H)。在PMM-3中,因为这些排列的值一致,所以能够判断为PMM-3是值的列表中的值“100”的代表模块(参照符号PV-1)。在图59B~图59E中表示RV-0~RV-7分别相对假想的值的列表中的值的各个成为代表模块的PMM。
第2种方法遵照以下那样的逻辑。在PMM中,出现计数排列的值和单侧计数对应的值一致的情况意味着在保持该值的PMM中自己是最上位的模块。即,能够唯一地决定保持着值的最上位的PMM。
在第1种方法中,通过该PMM自身判断是具有值的最下位的PMM来决定各自的值的代表模块,此外,在第2种方法中,通过该PMM自身判断是具有值的最上位的PMM来决定各个的值的代表模块。这样,并不限定于最上位或者最下位,也可以把中间地位的PMM决定为代表模块。以下,说明代表模块选择用的第3种方法。在第3种方法中,如图60所示,PMM如果在出现计数排列(COUNT)的值是偶数时(步骤6003中为是(Yes)),判断“COUNT的值/2”和单侧计数排列(COUNT-H)对应的值是否相等(步骤6004中为是(Yes))。当在步骤6004中判断为是(Yes)的情况下,PMM决定为自己自身是与这些值有关的、值的列表(LOCAL_LIST)中的值的代表模块(步骤6006)。另一方面,如果出现计数排列(COUNT)的值是奇数(步骤6003中为否(No)),则PMM判断“(COUNT的值+1)/2”和单侧计数排列(COUNT-H)对应的值是否相等(步骤6005)。当在步骤6005中判断为是(Yes)的情况下,PMM决定为自己自身是与这些值有关的、值的列表(LOCAL_LIST)中的值的代表模块(步骤6006)。
进而,即使不利用出现计数排列和单侧计数排列,而使用检测标志排列也能够选择代表模块。在代表模块选择用的第4种方法中,PMM在生成图40所示那样的检测标志排列以及生成基于它的”或”排列后(步骤6201),从存储器等存储装置中读出已生成的”或”排列的值,在读出的”或”排列的值是“0”时,判断为与值的列表(LOCAL_LIST)中的对应的值有关的代表模块是自己(步骤6203中为是(Yes))。因而,这种情况下,PMM例如与自己保持的值的列表(LOCAL_LIST)中的该值关联起来,在存储器等存储装置中存储表示自己是代表模块的信息(例如,标志等一定的标记)(步骤6204)。
在图61B~图61E所示的例子中,在图61A所示的假想的值的列表(TOTAL_LIST)中对于作为最初的值的“10”,PMM-1成为代表模块(参照符号RV-0)。在假想的值的列表(TOTAL_LIST)中对于作为存储位置号码是“1 ”的要素的“100”,PMM-0成为代表模块(参照符号RV-1)。在图61B~图61E中表示RV-0~RV-7分别相对假想的值的列表中的值的各个成为代表模块的PMM。其结果和图57B~图57E所示的例子相同。
第4种方法遵照以下那样的逻辑。在图40所示的处理中得到的“或”排列的值是“0”这一点意味着在保持该值的PMM中,自己是最下位的模块。即,能够唯一决定保持值的最下位的PMM。因而,变成代表模块的PMM把该值送出到传输路径,主持生成上述TOTAL_LIST的处理的PMM接收来自传输路径的值,通过生成包含接收到的值的排列,能够得到没有重复值那样的排列。进而,PMM通过把在前面说明的“对值付与次序”的处理中得到的值的次序也送出到传输路径上,可以在某一PMM中,得到还考虑到图61A所示那样的值的顺序的排列(TOTAL_LIST)。
以上,如详细说明的那样,为了实现代表模块选择处理,信息处理系统的各PMM具备:
向其他的PMM发送包含在值的列表中的存储值的数据发送部件;
从其他的PMM中接收包含在值的列表中的存储值的数据接收部件;
根据用数据接收部件按照预先付与在PMM的各自上的顺序接收到的来自其他的PMM的值的列表,对于PMM自身保持的值的列表中的存储值,判断该PMM自身是否是代表保持该存储值的一个或者一个以上的PMM的代表模块,当是代表模块的情况下,与存储值相关联起来,存储表示是代表模块的信息的代表模块判断部件。
本发明并不限于以上的实施方式,在权利要求范围所述的发明范围内,可以进行各种变更,当然这些变更也包含在本发明的范围内。
在上述实施方式中,是利用具有存储器、接口以及控制电路的PMM,但并不限于此,也可以把个人计算机、服务器等作为分担本地表形式数据的信息处理单元来代替PMM使用。或者,也可以采用单一的个人计算机或服务器保持许多信息处理单元那样的构造。在这些情况下,通过信息处理单元受理表示记录的次序的值,参照全局顺序集合排列GOrd而能够特定记录。此外,通过参照全局值号码排列GVNo,还可以特定项目值。
进而,在上述的实施方式中,PMM虽然对数据分组化后发送到传输路径上,但并不限于此,当然也可以用分组以外的形式发送数据。
此外,本实施方式的“没有重复的值的列表的取得(代表模块的选择)”、“对值的列表中的值付与次序”、“值的整数化”的处理不只是对用许多PMM分担的表形式数据执行,还可以是对用许多PMM分担的具有许多值那样的值的列表执行。
此外,在上述实施方式中,在“对值的列表中的值付与次序的第2种方法”中(例如,参照图40~图46B),PMM生成取得检测标志排列与检测标志排列的值的”或”的”或”排列,生成只包含象“或”排列中的值变成“0”那样的、值的列表中的值的送出列表,把该送出列表发送到其他的PMM。在上述“对值的列表中的值付与次序的第2种方法”中,利用在代表模块的选择处理中的第4种方法(利用了检测标志排列的方法),对于值的列表中的值生成包含PMM自身成为代表模块那样的值的送出列表。但是,本发明并不限于上述方式,也可构成为利用在代表模块的选择处理中说明过的方法(例如,利用单侧计数排列的第1种方法,使用出现计数排列以及单侧计数排列的第2种方法或者第3种方法),各PMM在该PMM自身保持的值的列表中,生成只包含自己自身变成代表模块那样的值的送出列表,并发送给其他的PMM。

Claims (24)

1.一种信息处理系统,具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序且没有重复地排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
代表模块判断部件,对于上述存储模块自身保持的值的列表中的存储值,根据用上述数据接收部件接收到的来自其他的存储模块的值的列表、和相对该其他的存储模块决定的顺序以及相对该存储模块自身决定的顺序,判断该存储模块自身是否是保持该存储值的代表一个或者一个以上的存储模块的代表模块,当是上述代表模块的情况下,和上述存储值联系起来,存储表示是代表模块的信息。
2.如权利要求1所述的信息处理系统,其特征在于:
上述代表模块判断部件对于上述存储模块自身保持的值的列表中的存储值,在相对保持该存储值的一个或者一个以上的存储模块决定的顺序中,当相对该存储模块自身决定的顺序处于规定的关系的情况下,判断为该存储模块自身是与该存储值有关的代表模块。
3.如权利要求2所述的信息处理系统,其特征在于:
上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断部件
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值,
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码下位或者上位的某一单侧上,并且存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,而使对应的单侧计数排列的值增大,
参照上述单侧计数排列中的各个值,在上述单侧计数排列的值是初始值时,判断为该存储模块自身是与该单侧计数排列中的值对应的、关于值的列表中的存储值的代表模块。
4.如权利要求2所述的信息处理系统,其特征在于:
上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断部件
生成和上述存储模块自身保持的值的列表同样大小的出现计数排列,在该出现计数排列中存储初始值,
当在上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示在其他的存储模块中的值的存在,而使对应的出现计数排列的值增大,
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值,
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码下位或者上位的某一单侧,并且,上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示在其他的存储模块中的值的存在,而使对应的单侧计数排列增大,
对上述单侧计数排列中的值和上述出现计数排列中的对应的值进行比较,在这些值一致时,判断为该存储模块自身是与该单侧计数排列中的值以及出现计数排列中的值对应的、关于值的列表中的存储值的代表模块。
5.如权利要求2所述的信息处理系统,其特征在于:
上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断部件
生成和上述存储模块自身保持的值的列表相同大小的标志排列,在该标志排列中存储初始值,
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中存在时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示在其他的存储模块中的值存在,设置对应的标志排列,
参照上述标志排列中的各自的值,当上述标志排列的值是初始值时,判断为该存储模块自身是与该标志排列中的值对应的、关于值的列表中的存储值的代表模块。
6.如权利要求1至5的任意一项所述的信息处理系统,其特征在于具备:
在上述存储模块自身保持的值的列表中的存储值中,生成包含付与了表示是代表模块的信息的值的送出列表排列的送出列表排列生成部件;
根据从上述其他的存储模块的数据发送部件发送且用上述自己的数据接收部件接收到的、该其他的存储模块的送出列表排列中的存储值,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算部件。
7.如权利要求6所述的信息处理系统,其特征在于:
上述次序计算部件
判断在上述存储模块自身保持的值列表中相邻的存储值之间存在几个上述其他的存储模块的送出列表中的存储值,根据经过该判断出的存在数,计算上述存储值的各自的次序。
8.一种信息处理系统,具备分别具有存储器以及控制装置的、且各自预先排序了的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序没有重复地排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
出现计数排列生成部件,生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,来完成出现计数排列;
单侧计数排列生成部件,生成和上述存储模块自身保持的值的大小相同的单侧计数排列,在该单侧计数排列中存储初始值,当发送了上述值的列表的其他的存储模块的模块顺序处于下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的单侧计数排列的值增大,来完成单侧计数排列;
送出列表排列生成部件,生成用于送出到上述其他的存储模块的、和上述存储模块自身保持的值的列表相同大小的送出列表排列,比较上述出现计数排列的值和上述单侧计数排列对应的值,当双方的值一致的情况下,作为保持与该值有关的存储值的存储模块,存储表示该存储模块自身是最上位或者最下位的第1值,并且当上述双方的值不一致的情况下,存储除此之外的第2值,来完成上述送出列表排列;
次序计算部件,根据用上述其他的存储模块的数据发送部件发送且用上述自己的数据接收部件接收到的、该其他的存储模块的值的列表以及送出列表排列,计算上述存储模块自身保持的值的列表中的存储值的次序。
9.如权利要求8所述的信息处理系统,其特征在于:上述次序计算部件特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,根据与该存储值对应的上述送出列表排列的值的总和,判断在上述相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序。
10.一种信息处理系统,具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序没有重复地排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
出现计数排列生成部件,生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,来完成出现计数排列;
次序计算部件,根据用上述其他的存储模块的数据发送部件发送并用上述自己的数据接收部件接收到的、该其他的存储模块的值的列表以及出现计数排列,计算上述存储模块自身保持的值的列表中的存储值的次序。
11.如权利要求10所述的信息处理系统,其特征在于:
上述次序计算部件特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,通过累计计算与判断为上述存在的存储值对应的出现计数排列的值的倒数,判断存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序。
12.一种信息处理系统,具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持没有重复地被排序的值的列表,该信息处理系统的特征在于:
上述各存储模块的控制装置具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送部件;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收部件;
整数排列生成部件,根据从上述其他的存储模块的数据发送部件发送并用上述自己的数据接收部件接收到的、该其他的存储模块的值的列表中的存储值,判断在相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,对于上述存储模块自身保持的值的列表中的存储值的各个生成考虑到其他存储模块的值的列表的分配了具有一定的顺序但并不一定连续的整数的排列。
13.一种信息处理方法,在具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序并且没有重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置来执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块接收包含在上述值的列表中的存储值的数据接收步骤;
代表模块判断步骤,在上述数据接收步骤中,对于上述存储模块自身保持的值的列表中的存储值,根据上述接收到的来自其他的存储模块的值的列表、和对该其他的存储模块决定的顺序以及对该存储模块自身决定的顺序,判断该存储模块自身是否是保持该存储值的代表一个或者一个以上的存储模块的代表模块,当是上述代表模块的情况下,和上述存储值相关联起来,存储表示是代表模块的信息。
14.如权利要求13所述的信息处理方法,其特征在于:
上述代表模块判断步骤包含:根据作为上述顺序预先付与在上述存储模块的各自上的模块号码,对上述存储模块自身保持的值的列表中的存储值,在对保持该存储值的一个或者一个以上的存储模块决定的顺序中,当对该存储模块自身决定的顺序处于规定的关系时,判断为该存储模块自身是关于该存储值的代表模块的步骤。
15.如权利要求14所述的信息处理方法,其特征在于:
上述许多存储模块的顺序由付与在上述存储模块的各个上的模块号码决定,
上述代表模块判断步骤包含:
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值的步骤;
发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且当存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,使对应的单侧计数排列的值增大的步骤;
参照上述单侧计数排列中的各个值,当上述单侧计数排列的值是初始值时,判断为该存储模块自身是与该单侧计数排列中的值对应的、关于值的列表中的存储值的代表模块的步骤。
16.如权利要求14所述的信息处理方法,其特征在于:
上述许多存储模块的顺序由付与在上述存储模块的各自上的模块号码决定,
上述代表模块判断步骤包含:
生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值的步骤;
当上述存储模块自身保持的值的列表中的存储值存在于来自其他存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,使对应的出现计数排列的值增大的步骤;
生成和上述存储模块自身保持的值的列表相同大小的单侧计数排列,在该单侧计数排列中存储初始值的步骤;
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,使对应的单侧计数排列的值增大的步骤;
比较上述单侧计数排列中的值和上述出现计数排列中对应的值,在它们一致时,判断为该存储模块自身是与该单侧计数排列中的值以及出现计数排列中的值对应的、关于值的列表中的存储值的代表模块的步骤。
17.如权利要求14所述的信息处理方法,其特征在于:
上述许多存储模块的顺序由付与在上述存储模块的各自上的模块号码决定,
上述代表模块判断步骤包含:
生成和上述存储模块自身保持的值的列表相同大小的标志排列,在该标志排列中存储初始值的步骤;
当发送了上述值的列表的其他的存储模块的模块号码处于自己的模块号码的下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,设置对应的标志排列的步骤;
参照上述标志排列中的各个值,当上述标志排列的值是初始值时,判断为该存储模块自身是与该标志排列中的值对应的、关于值的列表中的存储值的代表模块的步骤。
18.如权利要求13至17的任意一项所述的信息处理方法,其特征在于,进一步具备:
在上述存储模块自身保持的值的列表中的存储值中,生成包含付与了表示是代表模块的信息的值的送出列表排列的送出列表排列生成步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤中接收到的、该其他的存储模块的送出列表排列中的存储值,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算步骤。
19.如权利要求18所述的信息处理方法,其特征在于:
上述次序计算步骤包含:判断在上述存储模块自身保持的值列表中相邻的存储值之间存在几个上述其他的存储模块的送出列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序的步骤。
20.一种信息处理方法,在具备分别具有存储器以及控制装置、且是分别被预先排序的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序并且没有重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置被执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收步骤;
生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,完成出现计数排列的出现计数排列生成步骤;
生成和上述存储模块自身保持的值相同大小的单侧计数排列,在该单侧计数排列中存储初始值,当发送了上述值的列表的其他的存储模块的模块的顺序处于下位或者上位的某一单侧,并且上述存储模块自身保持的值的列表中的存储值存在于来自该其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的单侧计数排列的值增大,来完成单侧计数排列的单侧计数排列生成步骤;
生成用于送出到上述其他的存储模块的、和上述存储模块自身保持的值的列表相同大小的送出列表排列,比较上述出现计数排列的值和上述单侧计数排列对应的值,当双方的值一致的情况下,作为保持与该值有关的存储值的存储模块,存储表示该存储模块自身是最上位或者最下位的第1值,并且在上述双方的值不一致的情况下,存储除此以外的第2值,完成上述送出列表排列的送出列表排列生成步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤值接收到的、上述其他的存储模块的值的列表以及送出列表排列,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算步骤。
21.如权利要求20所述的信息处理方法,其特征在于:
上述次序计算步骤包含:
特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,根据与该存储值对应的上述送出列表排列的值的总和,判断在上述相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序的步骤。
22.一种信息处理方法,在具备分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他存储模块的数据传输路径,
各存储模块的存储器构成为分别保持按照升序或者降序并且没有重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置来执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块接收包含在上述值的列表中的存储值的数据接收步骤;
生成和上述存储模块自身保持的值的列表相同大小的出现计数排列,在该出现计数排列中存储初始值,当上述存储模块自身保持的值的列表中的存储值存在于来自其他的存储模块的值的列表中时,关于上述存储模块自身保持的值的列表中的该存储值,为了表示其他的存储模块中的值的存在,通过使对应的出现计数排列的值增大,来完成出现计数排列的出现计数排列生成步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤中接收到的、上述其他的存储模块的值的列表以及出现计数排列,计算上述存储模块自身保持的值的列表中的存储值的次序的次序计算步骤。
23.如权利要求22所述的信息处理方法,其特征在于:
上述次序计算步骤包含:
特定存在于上述存储模块自身保持的值列表中相邻的存储值之间的、上述其他的存储模块的值的列表中的存储值,通过累计与判断为上述存在的存储值对应的出现计数排列的值的倒数,判断存在几个上述其他存储模块的值的列表中的存储值,根据该判断出的存在数,计算上述存储值的各自的次序的步骤。
24.一种信息处理方法,在具备:分别具有存储器以及控制装置的许多存储模块;
连接存储模块之间,把某一存储模块保持的数据传送到其他的存储模块的数据传输路径,
各存储模块的存储器构成为分别保持不重复地排序的值的列表的信息处理系统中,用上述各存储模块的控制装置来执行,其特征在于,具备:
向其他的存储模块发送包含在上述值的列表中的存储值的数据发送步骤;
从其他的存储模块中接收包含在上述值的列表中的存储值的数据接收步骤;
根据在上述其他的存储模块的数据发送步骤中发送并在上述自己的数据接收步骤中接收到的、该其他的存储模块的值的列表中的存储值,判断在相邻的存储值之间存在几个上述其他的存储模块的值的列表中的存储值,根据该判断出的存在数,生成对于上述存储模块自身保持的值的列表中的存储值的各个考虑了其他的存储模块的值的列表的、分配了具有一定的顺序但不一定连续的整数的排列的整数排列生成步骤。
CNA200680003098XA 2005-04-18 2006-04-17 信息处理系统以及信息处理方法 Pending CN101107605A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005119297 2005-04-18
JP119297/2005 2005-04-18

Publications (1)

Publication Number Publication Date
CN101107605A true CN101107605A (zh) 2008-01-16

Family

ID=37115145

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200680003098XA Pending CN101107605A (zh) 2005-04-18 2006-04-17 信息处理系统以及信息处理方法

Country Status (7)

Country Link
US (1) US8024531B2 (zh)
EP (1) EP1873658B1 (zh)
JP (1) JP4995724B2 (zh)
KR (1) KR101188761B1 (zh)
CN (1) CN101107605A (zh)
CA (1) CA2597521A1 (zh)
WO (1) WO2006112430A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075057A1 (en) * 2006-09-25 2008-03-27 Mediatek Inc. Frequency correction burst detection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6427148B1 (en) * 1998-11-09 2002-07-30 Compaq Computer Corporation Method and apparatus for parallel sorting using parallel selection/partitioning
JP3545267B2 (ja) 1999-07-14 2004-07-21 日本電信電話株式会社 データ複製方法およびデータ複製プログラムを記録した記録媒体
JP2001147800A (ja) * 1999-11-22 2001-05-29 Taabo Data Laboratory Kk 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法
FR2827854B1 (fr) 2001-07-25 2003-09-19 Saint Gobain Rech Substrat revetu d'un film composite, procede de fabrication et applications
EP1615121A4 (en) * 2003-04-16 2008-10-08 Turbo Data Lab Inc SYSTEM AND METHOD FOR INFORMATION PROCESSING

Also Published As

Publication number Publication date
KR101188761B1 (ko) 2012-10-10
WO2006112430A1 (ja) 2006-10-26
EP1873658A4 (en) 2009-07-01
EP1873658A1 (en) 2008-01-02
JP4995724B2 (ja) 2012-08-08
JPWO2006112430A1 (ja) 2008-12-11
US20090187718A1 (en) 2009-07-23
US8024531B2 (en) 2011-09-20
EP1873658B1 (en) 2011-07-06
KR20080000555A (ko) 2008-01-02
CA2597521A1 (en) 2006-10-26

Similar Documents

Publication Publication Date Title
KR101196566B1 (ko) 멀티 프로세서 시스템 및 그 정보처리방법
Goldsborough A tour of tensorflow
CN101194245B (zh) 具有宽寄存器组体系结构的分组处理器
CN100590618C (zh) 网络社区动态目录的构建系统和方法
CN101114273A (zh) 在并行计算机上执行全收集操作的方法和系统
CN100394416C (zh) 并行处理方法中的作业分配方法及并行处理方法
CN110347732A (zh) 一种数据转换方法及装置
CN102682059A (zh) 用于将用户分配到集群的方法和系统
CN107958080A (zh) 一种基于ElasticSearch的大数据报表处理方法
CN101763247A (zh) 利用可编程转移表快速转移的系统和方法
Bub Why the Tsirelson bound?
US7849289B2 (en) Distributed memory type information processing system
Bou et al. L-BiX: incremental sliding-window aggregation over data streams using linear bidirectional aggregating indexes
Gonzalez-Lopez et al. Large-scale multi-label ensemble learning on Spark
CN101107605A (zh) 信息处理系统以及信息处理方法
WO2005106713A1 (ja) 情報処理方法及び情報処理システム
Rudolph COMPETITIVE SNOOPY CACHING.
Al-Shehabi Bitcoin transaction fee estimation using Mempool state and linear perceptron machine learning algorithm
CN1791854B (zh) 信息处理系统和信息处理方法
WO2010013320A1 (ja) 表形式データを操作する方法、分散メモリ型マルチプロセッサ、及び、プログラム
JP4772506B2 (ja) 情報処理方法、情報処理システムおよびプログラム
US8200913B2 (en) Distributed memory type information processing system
Carastan‐Santos et al. A hybrid CPU‐GPU‐MIC algorithm for minimal hitting set enumeration
US20090099945A1 (en) Methods and systems for directory-based programming
Wei et al. Group divisible covering designs with block size four

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication