The object of this invention is to perform the sorting, compiling and joining of data at extremely high speeds. This is achieved by a
distributed memory type
information processing system comprising: a CPU module, a plurality of memory modules, each of which having a processor and RAM core, and a plurality of sets of buses that make connections between the CPU and memory modules and / or connections among memory modules, where the processors of the various memory modules execute the
processing of arrays managed by the one or more memory modules based on instructions given by the CPU to the processors of the various memory modules. In this
system, the processor of the
memory module comprises: sorting means that executes a sort on the elements that make up those portions of the array that it itself manages, and reorders the elements according to a specific order, I / O that, depending on the positions that the portions managed by itself occupy within the array, sends the sorted elements together with their sequence numbers to another
memory module via a stipulated
bus, or receives the elements and sequence numbers from another
memory module via a stipulated
bus, sequence number calculation means that, upon
receipt of the element and sequence number, compares it with the elements that it manages itself and calculates a virtual sequence number which is a candidate for the sequence number of the received element, and returns it to the other memory module, and
sequence determination means that, upon
receipt of the virtual sequence number, determines the sequence of elements according to the virtual sequence numbers. Thus, the sequence numbers of elements of the array are determined by means of communication between a presentation memory module on the side that sends the element and sequence number and a determination memory module on the side that receives the element and sequence number and calculates the virtual sequence number.