Patent ID: 11907641
Assignee: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC G  H | IPC G

Claim 3:
4. A computation apparatus that performs a calculation process to character strings of a text file, in which
the text file includes W pieces of records, each of the records includes G pieces of cells having an arbitrary length, each of the cells includes arbitrary pieces of characters, W and G are an integer which is 1 or greater, f is a file buffer size which is defined, np is the number of parallels, r is a positive integer indicating the number of records, i denotes each thread, i∈{0, . . . , T−1} holds, T is a positive integer indicating the number of threads corresponding to a size of character strings of the text file, 1≤np≤T holds, and a file read-in lock and a buffer boundary lock of a thread 0 and a parallelism lock of threads 0, . . . , np−1 are released in an initial state,
the computation apparatus comprising processing circuitry configured to implement:
a main memory;
a cache memory; and
a plurality of processing units, wherein
a processing unit for performing processing for a thread i among the plurality of processing units includes
a read-in unit that reads a character string Si, the character string Si being able to be stored in a region of the file buffer size f, from character strings of the text file and stores the character string Si in the main memory after a file read-in lock and a parallelism lock of the thread i are released,
a file read-in lock releasing unit that releases a file read-in lock of a thread i+1 after the character string Si is stored in the main memory,
a parsing unit that calculates reference information indicating a position and a length of each cell included in the character string Si and stores the reference information in the main memory after a buffer boundary lock of the thread i is released,
a buffer boundary lock releasing unit that releases a buffer boundary lock of the thread i+1 after the reference information indicating a position and a length of each cell included in the character string Si is calculated,
an encoding unit that performs processing, in which a process unit character string PSi,j which is a character string for r records, the character strings being processing targets and being included in a concatenated character string CSi, is selected based on information specified based on the reference information and the process unit character string PSi,j is encoded into encode information Ei,j which is an element of a predetermined finite set, by using the cache memory, where a concatenated character string CS0 when i=0 is S0, the concatenated character string CSi when i≥1 is obtained by concatenating the character string Si immediately after a concatenated character string CSi−1, J is a positive integer, and j=0, . . . , J−1 holds,
a calculation unit that performs processing, in which specific calculation is performed to the encode information Ei,j to obtain a calculation value SSi,j and the calculation value SSi,j is stored in the main memory, by using the cache memory, and
a parallelism lock releasing unit that releases a parallelism lock of a thread i+np after the calculation value SSi,j is obtained.