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.