JP7196052B2 - Information processing device and information processing method - Google Patents

Information processing device and information processing method Download PDF

Info

Publication number
JP7196052B2
JP7196052B2 JP2019214131A JP2019214131A JP7196052B2 JP 7196052 B2 JP7196052 B2 JP 7196052B2 JP 2019214131 A JP2019214131 A JP 2019214131A JP 2019214131 A JP2019214131 A JP 2019214131A JP 7196052 B2 JP7196052 B2 JP 7196052B2
Authority
JP
Japan
Prior art keywords
transmission
data blocks
storage areas
combination
storage
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.)
Active
Application number
JP2019214131A
Other languages
Japanese (ja)
Other versions
JP2021086349A (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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2019214131A priority Critical patent/JP7196052B2/en
Publication of JP2021086349A publication Critical patent/JP2021086349A/en
Application granted granted Critical
Publication of JP7196052B2 publication Critical patent/JP7196052B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散システムにおいて用いられる複数のデータブロックの複数の記憶領域への配置組合せを特定する情報処理装置及び情報処理方法に関する。 The present invention relates to an information processing apparatus and an information processing method for specifying the arrangement combination of multiple data blocks in multiple storage areas used in a distributed system.

従来、データをブロック単位で管理し、分散配置することにより、耐障害性とデータ処理の並列性とを高める技術があった(例えば、非特許文献1、非特許文献2参照)。 Conventionally, there has been a technique for improving fault tolerance and parallelism of data processing by managing data in units of blocks and distributing them (for example, see Non-Patent Document 1 and Non-Patent Document 2).

Ghemawat, S., Gobioff, H., and Leung, S. T., The Google file system, 2003.Ghemawat, S., Gobioff, H., and Leung, S. T., The Google file system, 2003.

Shvachko, K., Kuang, H., Radia, S., and Chansler, R., The hadoop distributed file system, In MSST, Vol.10, pp.1-10, 2010.Shvachko, K., Kuang, H., Radia, S., and Chansler, R., The hadoop distributed file system, In MSST, Vol.10, pp.1-10, 2010.

従来の技術において、データは予め定められたルールに従って複数の記憶領域に配置されていた。これに対し、配置されるデータはそれぞれ利用頻度が異なるものであり、利用頻度が高いデータの処理の実行速度を高めることが好ましい。そこで、データの利用頻度に基づいてデータを適した記憶領域に配置することが求められている。 In the conventional technology, data is arranged in multiple storage areas according to predetermined rules. On the other hand, since the data to be arranged have different usage frequencies, it is preferable to increase the processing execution speed of the data with high usage frequency. Therefore, it is required to arrange data in a suitable storage area based on the frequency of use of the data.

そこで、本発明はこれらの点に鑑みてなされたものであり、データの利用頻度に基づいてデータの配置に適した記憶領域を特定することができる情報処理装置及び情報処理方法を提供することを目的とする。 Accordingly, the present invention has been made in view of these points, and aims to provide an information processing apparatus and an information processing method that can specify a storage area suitable for arranging data based on the frequency of use of the data. aim.

本発明の第1の態様に係る情報処理装置は、複数のデータブロックが異なるアドレスを有する複数の記憶領域に配置される分散システムにおいて、所定期間に実行された処理に伴う前記データブロックの複数の記憶領域間の伝送頻度を示す伝送履歴を特定する伝送履歴特定部と、前記複数の記憶領域のそれぞれの記憶容量を特定する記憶容量特定部と、前記記憶容量特定部が特定した前記複数の記憶領域のそれぞれの記憶容量を超えないように前記複数のデータブロックを前記複数の記憶領域に配置する配置組合せに対応する複数の変数を含み、前記配置組合せに対して、前記分散システムが前記所定期間に実行された処理を再実行した場合における前記伝送頻度及び前記データブロックの伝送コストに基づく前記伝送コストの総コストが最小となる変数の値の組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成する作成部と、前記作成部が作成した前記最適化関数を前記量子イジングマシンに評価させ、前記総コストを最小に近づける複数の前記変数の値の組み合わせを特定させることにより、前記総コストが最小となるように前記配置組合せを特定する配置組合せ特定部と、を備える。 An information processing apparatus according to a first aspect of the present invention is a distributed system in which a plurality of data blocks are arranged in a plurality of storage areas having different addresses. a transmission history identification unit that identifies a transmission history indicating a frequency of transmission between storage areas; a storage capacity identification unit that identifies the storage capacity of each of the plurality of storage areas; and the plurality of memories identified by the storage capacity identification section including a plurality of variables corresponding to a placement combination for arranging the plurality of data blocks in the plurality of storage areas so as not to exceed the storage capacity of each of the areas; Quantum Ising is an optimization function that identifies a combination of variable values that minimizes the total transmission cost based on the transmission frequency and the transmission cost of the data block when re-executing the processing executed in Quantum Ising a creation unit that creates an optimization function in a machine-evaluable format; and a quantum Ising machine that evaluates the optimization function created by the creation unit to determine values of the plurality of variables that bring the total cost closer to a minimum. an arrangement combination specifying unit that specifies the arrangement combination so that the total cost is minimized by specifying the combination.

前記作成部は、変数として二値変数のみで記述された二次多項式を前記最適化関数として作成してもよい。
前記複数のデータブロックのそれぞれのデータ容量は一定であり、前記作成部は、前記配置組合せに対応する前記複数のデータブロックのそれぞれの伝送元の記憶領域と、伝送先の記憶領域とを特定するための、第1の二値変数群を作成するとともに、前記配置組合せに対応する前記複数の記憶領域における前記複数のデータブロックの格納数を示す第2の二値変数群を作成し、前記第1の二値変数群と、前記第2の二値変数群とを含む前記最適化関数を作成してもよい。
The creation unit may create, as the optimization function, a second-order polynomial described only with binary variables.
The data capacity of each of the plurality of data blocks is constant, and the creation unit specifies a transmission source storage area and a transmission destination storage area of each of the plurality of data blocks corresponding to the arrangement combination. creating a first binary variable group for the storage area and creating a second binary variable group indicating the number of the plurality of data blocks stored in the plurality of storage areas corresponding to the arrangement combination; The optimization function may be created that includes a set of binary variables of 1 and the second set of binary variables.

前記作成部は、前記伝送頻度に基づいて、前記所定期間に実行された処理において伝送が行われた伝送元と伝送先との組合せに限定して、前記第1の二値変数群を作成してもよい。
前記作成部は、前記複数のデータブロックの各々の複数の記憶領域に複製して配置することを許容し、前記組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成してもよい。
前記作成部は、前記複数のデータブロックの各々を複数の記憶領域に複製して配置するときの複製数を第1の所定数以上第2の所定数以下とするように前記組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成してもよい。
Based on the transmission frequency, the creation unit creates the first binary variable group by limiting the combinations of transmission sources and transmission destinations to which transmission was performed in the processing executed during the predetermined period. may
The creation unit is an optimization function that allows duplication and placement in a plurality of storage areas of each of the plurality of data blocks, and specifies the combination, and is an optimization function that can be evaluated by a quantum Ising machine. You can also create a function to
The creation unit specifies the combination so that the number of copies when each of the plurality of data blocks is copied and arranged in a plurality of storage areas is equal to or greater than a first predetermined number and equal to or less than a second predetermined number. An optimization function may be created that is a form of optimization function that can be evaluated by a quantum Ising machine.

前記伝送履歴特定部は、所定期間に実行された処理に伴う前記データブロックの複数の記憶領域間の伝送頻度と、前記データブロックの伝送コストとを示す前記伝送履歴を特定し、前記作成部は、前記配置組合せに対して、前記分散システムが前記所定期間に実行された処理を再実行した場合における前記伝送頻度及び前記伝送履歴が示す前記伝送コストに基づく前記伝送コストの総コストが最小となる変数の値の組合せを特定する前記最適化関数を作成してもよい。
前記情報処理装置は、前記配置組合せ特定部が特定した前記配置組合せに基づいて前記複数のデータブロックを前記複数の記憶領域に配置させる配置制御部をさらに備えてもよい。
The transmission history identifying unit identifies the transmission history indicating the frequency of transmission of the data blocks between the plurality of storage areas and the transmission cost of the data blocks associated with processing executed in a predetermined period, and the creating unit , the total cost of the transmission costs based on the transmission costs indicated by the transmission frequency and the transmission history is minimized when the distributed system re-executes the processing executed in the predetermined period for the arrangement combination. The optimization function may be created to identify combinations of variable values.
The information processing apparatus may further include an arrangement control section that arranges the plurality of data blocks in the plurality of storage areas based on the arrangement combination specified by the arrangement combination specifying section.

本発明の第2の態様に係る情報処理方法は、コンピュータが実行する、複数のデータブロックが異なるアドレスを有する複数の記憶領域に配置される分散システムにおいて、所定期間に実行された処理に伴う前記データブロックの複数の記憶領域間の伝送頻度を示す伝送履歴を特定するステップと、前記複数の記憶領域のそれぞれの記憶容量を特定するステップと、特定された前記複数の記憶領域のそれぞれの記憶容量を超えないように前記複数のデータブロックを前記複数の記憶領域に配置する配置組合せに対応する複数の変数を含み、前記配置組合せに対して、前記分散システムが前記所定期間に実行された処理を再実行した場合における前記伝送頻度及び前記データブロックの伝送コストに基づく前記伝送コストの総コストが最小となる変数の値の組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成するステップと、作成した前記最適化関数を前記量子イジングマシンに評価させ、前記総コストを最小に近づける複数の前記変数の値の組み合わせを特定させることにより、前記総コストが最小となるように前記配置組合せを特定するステップと、を備える。 An information processing method according to a second aspect of the present invention is a computer-executed distributed system in which a plurality of data blocks are arranged in a plurality of storage areas having different addresses. identifying a transmission history indicating the frequency of data block transmission between a plurality of storage areas; identifying a storage capacity of each of said plurality of storage areas; and a storage capacity of each of said plurality of identified storage areas. including a plurality of variables corresponding to an arrangement combination for arranging the plurality of data blocks in the plurality of storage areas so as not to exceed An optimization function that specifies a combination of variable values that minimizes the total transmission cost based on the transmission frequency and the transmission cost of the data block in the case of re-execution, and is in a format that can be evaluated by a quantum Ising machine. and causing the quantum Ising machine to evaluate the created optimization function to identify a combination of values of the plurality of variables that bring the total cost closer to the minimum, thereby reducing the total cost to and identifying said arrangement combination to be the minimum.

本発明によれば、データの利用頻度に基づいてデータの配置に適した記憶領域を特定することができるという効果を奏する。 According to the present invention, it is possible to specify a storage area suitable for arranging data based on the frequency of use of the data.

本実施形態に係る情報処理装置の概要を説明する図である。It is a figure explaining the outline|summary of the information processing apparatus which concerns on this embodiment. 本実施形態に係る情報処理装置の構成を示す図である。It is a figure which shows the structure of the information processing apparatus which concerns on this embodiment. 実行結果情報の一例を示す図である。It is a figure which shows an example of execution result information. 伝送頻度行列に対応する表を示す図である。FIG. 4 is a diagram showing a table corresponding to a transmission frequency matrix; FIG. 伝送コスト行列に対応する表を示す図である。FIG. 4 is a diagram showing a table corresponding to a transmission cost matrix; 記憶容量情報の一例を示す図である。It is a figure which shows an example of storage capacity information. 配置行列に対応する表を示す図である。FIG. 10 is a diagram showing a table corresponding to an arrangement matrix; FIG. 第1補助変数の一例を表で示した図である。It is the figure which showed an example of the 1st auxiliary variable in the form of a table. 第2補助変数の一例を表で示した図である。It is the figure which showed an example of the 2nd auxiliary variable in the form of a table. 量子イジングマシンにより特定されたxijに対応する配置行列に対応する表を示す図である。FIG. 10 is a diagram showing a table corresponding to a constellation matrix corresponding to x ij specified by a quantum Ising machine; 情報処理装置における処理の流れを示すフローチャートである。4 is a flow chart showing the flow of processing in the information processing apparatus;

[情報処理装置1の概要]
図1は、本実施形態に係る情報処理装置1の概要を説明する図である。情報処理装置1は、複数のデータブロックが異なるアドレスを有する複数の記憶領域に配置される分散システムにおいて、量子イジングマシンを用いて複数のデータブロックの複数の記憶領域への最適配置を特定するためのコンピュータである。
[Overview of information processing device 1]
FIG. 1 is a diagram illustrating an outline of an information processing device 1 according to this embodiment. The information processing apparatus 1 uses a quantum Ising machine to specify the optimal allocation of a plurality of data blocks to a plurality of storage areas in a distributed system in which a plurality of data blocks are arranged in a plurality of storage areas having different addresses. computer.

本実施形態において、複数の記憶領域のそれぞれは、例えば複数のサーバのそれぞれに設けられており、分散システムが複数の記憶領域のそれぞれに記憶されているデータを使用する場合、データの処理に伴う処理コストが発生するものとする。処理コストとしては、伝送コスト及びCPUの使用時間等が挙げられるが、本実施形態では、伝送コストに着目して説明を行う。 In this embodiment, each of the plurality of storage areas is provided, for example, in each of the plurality of servers, and when the distributed system uses data stored in each of the plurality of storage areas, A processing cost is assumed. The processing cost includes the transmission cost and the CPU usage time.

情報処理装置1は、分散システムにおいて、所定期間に実行された処理に伴うデータブロックの複数の記憶領域間の伝送頻度と、データブロックの伝送コストとの履歴を示す伝送履歴情報を取得するとともに、複数の記憶領域のそれぞれの記憶容量を示す記憶容量情報を取得することにより、伝送履歴及び記憶容量を特定する(図1の(1)、(2))。 In a distributed system, the information processing apparatus 1 acquires transmission history information indicating the frequency of data block transmission between a plurality of storage areas and the history of data block transmission costs associated with processing executed in a predetermined period, and By obtaining storage capacity information indicating the storage capacity of each of the plurality of storage areas, the transmission history and storage capacity are specified ((1) and (2) in FIG. 1).

情報処理装置1は、複数の記憶領域のそれぞれの記憶容量を超えないように複数のデータブロックを複数の記憶領域に配置する配置組合せに対して、所定期間に実行された処理を再実行した場合における伝送コストの総コストを算出する最適化関数を作成する(図1の(3))。最適化関数は、量子イジングマシンが評価可能な形式に作成される。情報処理装置1は、作成した最適化関数を量子イジングマシンに評価させることにより伝送コストの総コストが最小となるように配置組合せを特定する(図1の(4))。その後、情報処理装置1は、特定した配置組合せに基づいて、複数のデータブロックの配置制御を行う(図1の(5))。このようにすることで、情報処理装置1は、データの利用頻度に基づいて、複数の記憶領域における複数のデータブロックの配置に関する多数の組み合わせの中から好適な配置を特定することができる。
以下、情報処理装置1の構成について説明する。
When the information processing apparatus 1 re-executes a process executed in a predetermined period for an arrangement combination in which a plurality of data blocks are arranged in a plurality of storage areas so as not to exceed the storage capacity of each of the plurality of storage areas. create an optimization function for calculating the total transmission cost in ((3) in FIG. 1). The optimization function is created in a form that can be evaluated by a quantum Ising machine. The information processing apparatus 1 specifies an arrangement combination that minimizes the total transmission cost by having the quantum Ising machine evaluate the created optimization function ((4) in FIG. 1). After that, the information processing device 1 performs placement control of the plurality of data blocks based on the identified placement combination ((5) in FIG. 1). By doing so, the information processing apparatus 1 can specify a suitable arrangement from among a large number of combinations regarding the arrangement of the plurality of data blocks in the plurality of storage areas based on the frequency of use of the data.
The configuration of the information processing apparatus 1 will be described below.

[情報処理装置1の構成例]
図2は、本実施形態に係る情報処理装置1の構成を示す図である。情報処理装置1は、記憶部11と、制御部12とを備える。
[Configuration example of information processing device 1]
FIG. 2 is a diagram showing the configuration of the information processing device 1 according to this embodiment. The information processing device 1 includes a storage section 11 and a control section 12 .

記憶部11は、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)等である。記憶部11は、情報処理装置1を機能させるための各種プログラムを記憶する。例えば、記憶部11は、情報処理装置1の制御部12を、伝送履歴特定部121、記憶容量特定部122、作成部123、配置組合せ特定部124、及び配置制御部125として機能させるプログラムを記憶する。なお、本プログラムは、複数のプログラムから構成されていてもよい。 The storage unit 11 is, for example, a ROM (Read Only Memory) and a RAM (Random Access Memory). The storage unit 11 stores various programs for causing the information processing device 1 to function. For example, the storage unit 11 stores a program that causes the control unit 12 of the information processing device 1 to function as a transmission history identification unit 121, a storage capacity identification unit 122, a creation unit 123, an arrangement combination identification unit 124, and an arrangement control unit 125. do. Note that this program may be composed of a plurality of programs.

制御部12は、例えばCPU(Central Processing Unit)である。制御部12は、記憶部11に記憶されている各種プログラムを実行することにより、情報処理装置1に係る機能を制御する。制御部12は、記憶部11に記憶されているプログラムを実行することにより、伝送履歴特定部121、記憶容量特定部122、作成部123、配置組合せ特定部124、及び配置制御部125として機能する。 The control unit 12 is, for example, a CPU (Central Processing Unit). The control unit 12 controls functions related to the information processing apparatus 1 by executing various programs stored in the storage unit 11 . By executing programs stored in the storage unit 11, the control unit 12 functions as a transmission history identification unit 121, a storage capacity identification unit 122, a creation unit 123, an arrangement combination identification unit 124, and an arrangement control unit 125. .

伝送履歴特定部121は、複数のデータブロックが異なるアドレスを有する複数の記憶領域に配置される分散システムにおいて、所定期間に実行された処理に伴うデータブロックの複数の記憶領域間の伝送頻度と、データブロックの伝送コストとを示す伝送履歴を特定する。 In a distributed system in which a plurality of data blocks are arranged in a plurality of storage areas having different addresses, the transmission history identification unit 121 determines the frequency of transmission of data blocks between the plurality of storage areas associated with processing executed during a predetermined period of time, and A transmission history is identified that indicates the transmission cost of the data block.

例えば、分散システムは、データブロックを使用した処理を実行させるための命令文としてのクエリの実行結果情報を所定の記憶領域に記憶している。図3は、実行結果情報の一例を示す図である。図3に示すように、実行結果情報は、所定期間に実行されたクエリと、当該クエリに対して使用されたデータブロックと、当該データブロックの伝送元の記憶領域のアドレスと、当該データブロックの伝送先の記憶領域のアドレスと、伝送元の記憶領域から伝送先の記憶領域にデータブロックを伝送した時のコストである伝送コストとを関連付けた情報である。伝送コストは、データブロックが、ネットワーク、メモリ又はCPUを占有する時間に基づいて定められるものとする。 For example, the distributed system stores query execution result information as a statement for executing processing using data blocks in a predetermined storage area. FIG. 3 is a diagram showing an example of execution result information. As shown in FIG. 3, the execution result information includes a query executed during a predetermined period, a data block used for the query, the address of the storage area of the transmission source of the data block, and the address of the data block. This is information that associates the address of the storage area of the transmission destination with the transmission cost that is the cost of transmitting the data block from the storage area of the transmission source to the storage area of the transmission destination. The transmission cost shall be defined based on the time a data block occupies network, memory or CPU.

所定の記憶領域には、所定期間に実行されたクエリに対応する実行結果情報が記憶されており、伝送履歴特定部121は、所定の記憶領域に記憶されている実行結果情報を取得することにより、データブロックの複数の記憶領域間の伝送頻度と、データブロックの伝送コストとを特定する。具体的には、伝送履歴特定部121は、取得した実行結果情報に基づいて、所定期間に実行された処理に伴うデータブロックの複数の記憶領域間の伝送頻度を示す伝送頻度行列Fと、データブロックの伝送コストを示す伝送コスト行列Cとを特定する。 Execution result information corresponding to queries executed in a predetermined period is stored in a predetermined storage area. , the frequency of transmission of data blocks between multiple storage areas and the transmission cost of data blocks. Specifically, based on the acquired execution result information, the transmission history identification unit 121 determines the transmission frequency matrix F indicating the transmission frequency between the plurality of storage areas of the data blocks associated with the processing executed in a predetermined period, and the data A transmission cost matrix C indicating the transmission cost of the block is specified.

伝送頻度行列Fは、所定期間に実行されたクエリによる各データブロックの各アドレスの記憶領域への伝送頻度を示す。図4は、伝送頻度行列Fに対応する表を示す図である。図4に示す表において、行方向はデータブロックのインデックス、列方向は伝送先の記憶領域のアドレス(番地)を示している。i行、k列に対応する要素fikは、i個目のデータブロックがk番地の記憶領域に伝送された回数である伝送頻度を示している。例えば、伝送頻度行列Fの要素f12は、データブロックA(1番目のデータブロック)の2番地の記憶領域への伝送頻度が5回であることを示している。 The transmission frequency matrix F indicates the frequency of transmission to the storage area of each address of each data block by queries executed during a predetermined period. 4 is a diagram showing a table corresponding to the transmission frequency matrix F. FIG. In the table shown in FIG. 4, the row direction indicates the index of the data block, and the column direction indicates the address of the storage area of the transmission destination. An element fik corresponding to row i and column k indicates the transmission frequency, which is the number of times the i-th data block has been transmitted to the storage area at address k. For example, the element f12 of the transmission frequency matrix F indicates that the frequency of transmission of data block A (first data block) to the storage area at address 2 is 5 times.

伝送コスト行列Cは、伝送元の記憶領域から伝送先の記憶領域への1データブロックあたりの伝送コストを示す。図5は、伝送コスト行列Cに対応する表を示す図である。図5に示す表において、行方向は伝送元の記憶領域のアドレス、列方向は伝送先の記憶領域のアドレスを示している。図5に示す表において、j行、k列に対応する要素cjkは、j番地の記憶領域からk番地の記憶領域への1データブロックあたりの伝送コストを示している。例えば、伝送コスト行列Cの要素c32は、3番地の記憶領域から2番地の記憶領域にデータブロックを伝送した時の伝送コストが2であることを示している。 The transmission cost matrix C indicates the transmission cost per data block from the transmission source storage area to the transmission destination storage area. FIG. 5 is a diagram showing a table corresponding to the transmission cost matrix C. FIG. In the table shown in FIG. 5, the row direction indicates the address of the transmission source storage area, and the column direction indicates the address of the transmission destination storage area. In the table shown in FIG. 5, the element cjk corresponding to j row and k column indicates the transmission cost per data block from the storage area at j address to the storage area at k address. For example, the element c 32 of the transmission cost matrix C indicates that the transmission cost is 2 when the data block is transmitted from the storage area at the 3rd address to the storage area at the 2nd address.

伝送コストは、1)同じ番地でのデータブロックの読み込みに伴うコスト、2)同じ番地でのデータブロックの書き込みに伴うコスト、3)異なる番地でのデータブロックの読み込みに伴うコスト、4)異なる番地でのデータブロックの書き込みに伴うコストに分けて管理しても構わない。さらに、伝送頻度も1)~4)に対応する頻度を管理しても構わない。以降、説明を簡単にするため、これらを分けずに評価する。 The transmission cost is 1) the cost associated with reading a data block at the same address, 2) the cost associated with writing a data block at the same address, 3) the cost associated with reading a data block at a different address, and 4) the cost associated with a different address. It is also possible to divide and manage the cost associated with writing data blocks in . Furthermore, the transmission frequency may be managed in accordance with 1) to 4). In the following, for the sake of simplicity of explanation, these are evaluated without being separated.

記憶容量特定部122は、複数の記憶領域のそれぞれの記憶容量を特定する。例えば、分散システムは、複数の記憶領域のそれぞれのアドレスと記憶容量とを関連付けた記憶容量情報を所定の記憶領域に記憶している。記憶容量特定部122は、所定の記憶領域に記憶されている記憶容量情報を取得することにより、複数の記憶領域のそれぞれの記憶容量を特定する。図6は、記憶容量情報の一例を示す図である。本実施形態では、記憶容量を、記憶領域に記憶可能なデータブロックの数で示している。図6に示すように、例えば、3番地の記憶領域の記憶容量は2であり、二つのデータブロックを記憶できることを示している。 The storage capacity specifying unit 122 specifies the storage capacity of each of the plurality of storage areas. For example, a distributed system stores storage capacity information that associates the addresses and storage capacities of each of a plurality of storage areas in a predetermined storage area. The storage capacity specifying unit 122 specifies the storage capacity of each of the plurality of storage areas by acquiring storage capacity information stored in a predetermined storage area. FIG. 6 is a diagram showing an example of storage capacity information. In this embodiment, the storage capacity is indicated by the number of data blocks that can be stored in the storage area. As shown in FIG. 6, for example, the storage capacity of the storage area at address 3 is 2, indicating that two data blocks can be stored.

作成部123は、複数のデータブロックを複数の記憶領域に配置する配置組合せに対応する複数の変数を含み、配置組合せに対して、分散システムが所定期間に実行した処理を再実行した場合における伝送頻度行列Fが示す伝送頻度及び伝送コスト行列Cが示す伝送コストに基づく伝送コストの総コストが最小となる変数の値の組合せを特定する最適化関数を作成する。作成部123は、記憶容量特定部122が特定した複数の記憶領域のそれぞれの記憶容量を超えないように複数のデータブロックを複数の記憶領域に配置する配置組合せに対応する複数の変数を含む最適化関数を作成する。以下、作成部123による最適化関数の作成について詳細を説明する。 The creating unit 123 includes a plurality of variables corresponding to a placement combination in which a plurality of data blocks are placed in a plurality of storage areas, and transmits data when the distributed system re-executes a process executed in a predetermined period for the placement combination. Based on the transmission frequency indicated by the frequency matrix F and the transmission cost indicated by the transmission cost matrix C, an optimization function is created that specifies a combination of variable values that minimizes the total transmission cost. The creating unit 123 creates an optimal data block including a plurality of variables corresponding to a layout combination for arranging a plurality of data blocks in a plurality of storage areas so as not to exceed the storage capacity of each of the plurality of storage areas specified by the storage capacity specifying unit 122. create a function The creation of the optimization function by the creation unit 123 will be described in detail below.

まず、作成部123は、i番目のデータブロックを、j番地の記憶領域に配置するか否かを示す二値変数xijを定義し、複数のデータブロックのそれぞれを、j番地の記憶領域に配置するか否かを示す配置行列Xを作成する。xijは、以下の式(1)で示される。

Figure 0007196052000001
First, the creation unit 123 defines a binary variable xij indicating whether or not the i-th data block is to be placed in the j-address storage area, and assigns each of the plurality of data blocks to the j-address storage area. An arrangement matrix X indicating whether or not to arrange is created. x ij is represented by the following formula (1).
Figure 0007196052000001

量子イジングマシンにおいて、最適化する変数であるスピンsijは、+1又は-1のいずれかをとる変数であるが、スピンsijは、以下に示す式(2)のように1,0のいずれかをとる二値変数xijに変換することができる。したがって、二値変数xijを、量子イジングマシンにおいて最適化する変数とすることができる。

Figure 0007196052000002
In the quantum Ising machine, the spin s ij , which is the variable to be optimized, is a variable that takes either +1 or −1 . can be transformed into a binary variable x ij that takes Therefore, the binary variables x ij can be the variables to be optimized in the quantum Ising machine.
Figure 0007196052000002

配置行列Xは、二値変数xijの集合{xij}であることから、X={xij}とも表現する。図7は、配置行列Xに対応する表を示す図である。図7に示すように、配置行列Xの要素である二値変数xijは、1か0のいずれかであることが確認できる。 Since the arrangement matrix X is a set {x ij } of binary variables x ij , it is also expressed as X={x ij }. FIG. 7 is a diagram showing a table corresponding to the arrangement matrix X. FIG. As shown in FIG. 7, it can be confirmed that the binary variable xij , which is an element of the arrangement matrix X, is either 1 or 0. FIG.

複数のデータブロックの各記憶領域への最適配置は、以下の式(3)、(4)により示される最適化問題を解くことにより特定される。

Figure 0007196052000003
Optimal placement of a plurality of data blocks in each storage area is specified by solving the optimization problem represented by the following equations (3) and (4).
Figure 0007196052000003

式(3)は、配置行列Xに基づいて所定期間に実行された処理を再実行した場合における、伝送頻度及び伝送コストに基づく総コストが最小となる配置行列Xを求める目的関数を示す。Cik(X)は、i番目のブロックを伝送先の記憶領域(k番地の記憶領域)に伝送する伝送コストの総和を示している。 Equation (3) represents an objective function for obtaining an arrangement matrix X that minimizes the total cost based on the transmission frequency and transmission cost when the processing executed in a predetermined period based on the arrangement matrix X is re-executed. C ik (X) indicates the total transmission cost for transmitting the i-th block to the destination storage area (k-address storage area).

式(4)は、各記憶領域に格納されるデータブロックの数がストレージ容量以下となることを示す制約条件を示している。式(3)に示す目的関数と式(4)が示す制約条件とを組み合わせることにより、伝送コストの総和が最小となる配置行列Xを求める最適化問題となる。 Equation (4) indicates a constraint that the number of data blocks stored in each storage area should be less than or equal to the storage capacity. By combining the objective function shown in Equation (3) and the constraint conditions shown in Equation (4), the optimization problem of finding the arrangement matrix X that minimizes the total transmission cost is obtained.

さらに、複数のデータブロックのそれぞれについて、一つのデータブロックを複数の記憶領域に複製して配置することを許容し、データブロックの複製数を所定数rとする制約をかけてもよい。この場合、複数のデータブロックの各記憶領域への最適配置は、以下の式(3)、(4)、(5)により示される最適化問題を解くことにより特定される。

Figure 0007196052000004
Furthermore, for each of a plurality of data blocks, one data block may be duplicated and arranged in a plurality of storage areas, and a restriction may be imposed that the number of duplicates of the data block is a predetermined number r. In this case, the optimal allocation of the plurality of data blocks to each storage area is specified by solving the optimization problem given by Equations (3), (4) and (5) below.
Figure 0007196052000004

[二値変数の作成]
量子イジングマシンでは、全ての変数を、1と0とのいずれかをとる二値変数とする必要がある。作成部123は、式(3)、式(4)が示す最適化問題において、多数の値をとる部分について、二値変数で表現した、量子イジングマシンが評価可能な形式の最適化関数を作成する。
[Create binary variable]
In a quantum Ising machine, all variables must be binary variables that take either 1 or 0. The creation unit 123 creates an optimization function in a form that can be evaluated by a quantum Ising machine, expressed by a binary variable, for a part that takes a large number of values in the optimization problem represented by the equations (3) and (4). do.

[式(3)に関する二値変数の作成]
まず、作成部123は、式(3)に関する二値変数を定める。式(3)のCik(X)は、k番地の記憶領域にi番目のデータブロックを伝送するときの伝送コストを示しているが、伝送元の記憶領域として複数の記憶領域を取り得る(多数の値をとる)。これに対し、作成部123は、配置組合せに対応する複数のデータブロックのそれぞれの伝送元の記憶領域と、伝送先の記憶領域とを特定するための第1の二値変数群としての第1補助変数vijkを作成する。第1補助変数vijkは、i番目のブロックをk番地の記憶領域に伝送する場合における伝送元の記憶領域として、j番地の記憶領域を用いる場合に1となり、j番地の記憶領域を用いない場合に0となる変数である。
[Creation of binary variable for formula (3)]
First, the creating unit 123 defines a binary variable for Equation (3). C ik (X) in equation (3) indicates the transmission cost when transmitting the i-th data block to the k-th storage area, but a plurality of storage areas can be taken as the transmission source storage area ( can take many values). On the other hand, the creation unit 123 creates a first binary variable group as a first binary variable group for specifying the transmission source storage area and the transmission destination storage area of each of the plurality of data blocks corresponding to the arrangement combination. Create an auxiliary variable v ijk . The first auxiliary variable v ijk is 1 when the storage area at address j is used as the storage area of the transmission source when the i-th block is transmitted to the storage area at address k, and the storage area at address j is not used. is a variable that becomes 0 when

図8は、第1補助変数の一例を表で示した図である。図8において、各要素には、括弧外の値と、括弧内の値とが示されている。括弧外の値は、第1補助変数vijkの値を示している。括弧内の値は、配置行列Xの要素xijの値を示している。図8において、例えば、(i,k)が(2,3)であり、jが3である場合、1(1)と示されている。これは、3番地(k=3)の記憶領域に2番目(i=2)のデータブロックを伝送する場合の伝送元の記憶領域として、3番地(j=3)の記憶領域を用いることを示しているとともに、2番目(i=2)のデータブロックが3番目(j=3)の記憶領域に存在していることを示している。 FIG. 8 is a table showing an example of the first auxiliary variable. In FIG. 8, each element has a value outside the parentheses and a value inside the parentheses. Values outside parentheses indicate the value of the first auxiliary variable v ijk . The values in parentheses indicate the values of the elements x ij of the arrangement matrix X. In FIG. 8, for example, when (i, k) is (2, 3) and j is 3, it is indicated as 1 (1). This means that the memory area at address 3 (j=3) is used as the transmission source memory area when the second data block (i=2) is transmitted to the memory area at address 3 (k=3). It also shows that the second (i=2) data block exists in the third (j=3) storage area.

ここで、伝送頻度fik、配置行列の要素xij、第1補助変数vijkは、以下の式(6)を満たしている必要がある。

Figure 0007196052000005
Here, the transmission frequency f ik , the arrangement matrix element x ij , and the first auxiliary variable v ijk must satisfy the following equation (6).
Figure 0007196052000005

式(6)において、fik>0という条件は、第1補助変数vijkの数を節約するために設けられている。fik=0は、所定時間内に実行された処理により、i番目のデータブロックがk番地の記憶領域に伝送されなかったことを示しており、fik=0に対応する第1補助変数vijkについては、伝送コストを考慮する必要がない。このため、作成部123は、伝送頻度fikに基づいて、所定期間に実行された処理において伝送が行われた伝送元の記憶領域と伝送先の記憶領域との組合せに限定して、第1補助変数vijkを作成する。図8に示す例では、第1補助変数vijkが、図4に示すfik>0に対応する第1補助変数vijkに限定されていることが確認できる。 In equation (6), the condition f ik >0 is provided to save the number of first auxiliary variables v ijk . f ik =0 indicates that the i-th data block was not transferred to the storage area at address k due to the processing executed within the predetermined time, and the first auxiliary variable v For ijk , there is no need to consider the transmission cost. For this reason, based on the transmission frequency f ik , the creating unit 123 limits the combination of the transmission source storage area and the transmission destination storage area to which the transmission was performed in the process executed during the predetermined period, and selects the first Create an auxiliary variable v ijk . In the example shown in FIG. 8, it can be seen that the first auxiliary variables v ijk are limited to the first auxiliary variables v ijk corresponding to f ik >0 shown in FIG.

このようにすることで、fik=0に対応する第1補助変数vijkを作成しないことにより、第1補助変数vijkの数を抑制することができる。量子イジングマシンにおいて扱える量子ビット数には制限があるところ、第1補助変数vijkの数を抑制することで、第1補助変数vijkの数がイジングマシンにおいて扱える量子ビット数を超え、イジングマシンにおいて処理が実行不能になることを抑制することができる。 By doing so, the number of first auxiliary variables v ijk can be suppressed by not creating the first auxiliary variables v ijk corresponding to f ik =0. Although the number of qubits that can be handled by the quantum Ising machine is limited, by suppressing the number of the first auxiliary variables v ijk , the number of the first auxiliary variables v ijk exceeds the number of qubits that can be handled by the Ising machine. It is possible to suppress the process from becoming unexecutable in

また、式(6)において、k番地の記憶領域に伝送されたi番目のデータブロックについて、Σijk=1は、伝送元の記憶領域(j番地の記憶領域)が、伝送先の記憶領域(k番地の記憶領域)に対して一つに定まっている必要があることを示している。また、Σijijk=1は、伝送元の記憶領域(j番地の記憶領域)にi番目のデータブロックが存在することを示している。図8に示す例において、例えば、(i,k)が(2,3)の行に着目すると、伝送元の記憶領域(j番地の記憶領域)が、伝送先の記憶領域(k=3の記憶領域)に対し、3番地の記憶領域(j=3)に定まっているとともに、伝送元の記憶領域(3番地の記憶領域)に2番目のデータブロックが存在することが確認できる。 Further, in Equation (6), for the i-th data block transmitted to the storage area at address k, Σ j v ijk =1 means that the storage area of the transmission source (storage area of address j) is the storage area of the transmission destination. This indicates that one area (storage area at address k) must be fixed. Σ j x ij v ijk =1 indicates that the i-th data block exists in the storage area of the transmission source (storage area at j address). In the example shown in FIG. 8, for example, when (i, k) is (2, 3), the storage area of the transmission source (storage area of j address) becomes the storage area of the transmission destination (k=3). It can be confirmed that the second data block exists in the transmission source storage area (storage area at address 3), as well as the storage area at address 3 (j=3).

第1補助変数vijkを用いることにより、式(3)内のCik(X)は、以下の式(7)で表すことができる。

Figure 0007196052000006
By using the first auxiliary variable v ijk , C ik (X) in Equation (3) can be expressed by Equation (7) below.
Figure 0007196052000006

上述したように、cjkは、伝送元の記憶領域(j番地の記憶領域)から伝送先の記憶領域(k番地の記憶領域)に一つのデータブロックを伝送する場合の伝送コストを示し、伝送頻度fikは、i番目のブロックが伝送先の記憶領域(k番地の記憶領域)に伝送される伝送頻度を示している。ここで、cjkikには、要素jが含まれているため、図8に示す第1補助変数vijkのように、jを一つに定めておき、vijkとcjkikとを乗算することにより、Cik(X)は、所定期間内に実行された全ての処理を再実行した場合における伝送コストの総コストとなる。 As described above, c jk indicates the transmission cost when transmitting one data block from the transmission source storage area (storage area at j address) to the transmission destination storage area (storage area at k address). The frequency f ik indicates the transmission frequency at which the i-th block is transmitted to the storage area of the transmission destination (storage area at address k). Here, since c jk f ik includes an element j, j is set to one like the first auxiliary variable v ijk shown in FIG . By multiplying C ik (X), C ik (X) is the total transmission cost if all the processes performed within the predetermined period are re-executed.

また、第1補助変数vijkは、配置行列Xの要素xijの制約を受けていることから、配置行列Xに関する関数であるといえる。式(7)により、式(1)は以下の式(8)で表すことができる。式(8)において、Vは、第1補助変数vijkの集合{vijk}を示している。

Figure 0007196052000007
Also, since the first auxiliary variable v ijk is constrained by the elements x ij of the placement matrix X, it can be said that it is a function related to the placement matrix X. From equation (7), equation (1) can be expressed by equation (8) below. In equation (8), V denotes the set {v ijk } of first auxiliary variables v ijk .
Figure 0007196052000007

[式(4)に関する二値変数の作成]
続いて、作成部123は、式(4)に関する二値変数を定める。式(4)のΣijは、伝送元の複数の記憶領域のそれぞれに配置されるデータブロックの数を示しており、多数の正整数値を取り得る。これに対し、作成部123は、複数の記憶領域のそれぞれにおけるデータブロックの格納数を示す第2の二値変数群としての第2補助変数yjmを作成する。第2補助変数yjmは、記憶領域のそれぞれに対して記憶容量特定部122が特定した記憶容量以下の各正整数値(1≦m≦t)に対して、以下の式(9)に示すように作成される。

Figure 0007196052000008
[Creation of binary variable for formula (4)]
Next, the creating unit 123 defines a binary variable for Equation (4). Σ i x ij in equation (4) indicates the number of data blocks arranged in each of the plurality of transmission source storage areas, and can take many positive integer values. On the other hand, the creating unit 123 creates a second auxiliary variable yjm as a second binary variable group indicating the number of data blocks stored in each of the plurality of storage areas. The second auxiliary variable y jm is given by the following formula (9) for each positive integer value (1≦m≦t j ) less than or equal to the storage capacity specified by the storage capacity specifying unit 122 for each storage area. Created as shown.
Figure 0007196052000008

図9は、第2補助変数yjmの一例を表で示した図である。図9において、例えば、3行(j=3)の値は、3番地の記憶領域に配置されるデータブロックの数が1であることを示している。 FIG. 9 is a table showing an example of the second auxiliary variable y jm . In FIG. 9, for example, the value in row 3 (j=3) indicates that the number of data blocks arranged in the storage area at address 3 is one.

第2補助変数yjmにより、式(4)は、以下に示す式(10)に変換できる。

Figure 0007196052000009
With the second auxiliary variable y jm , equation (4) can be transformed into equation (10) shown below.
Figure 0007196052000009

式(10)は、各記憶領域に配置されるデータブロックの記憶容量の総和(データブロックの数)を示しているとともに、各記憶領域に配置されるデータブロックの記憶容量の総和が、各記憶領域の記憶容量以下となることを示している。なお、第2補助変数yjmの集合{yjm}をYとする。 Equation (10) indicates the total storage capacity of data blocks arranged in each storage area (the number of data blocks), and the total storage capacity of data blocks arranged in each storage area is the total storage capacity of each storage area. It indicates that it is less than the storage capacity of the area. Let Y be the set {y jm } of the second auxiliary variables y jm .

[最適化関数の作成]
続いて、作成部123は、第1補助変数vijk及び第2補助変数yjmを含み、量子イジングマシンが解ける最適化関数Hを作成する。最適化関数Hの形式は、QUBO(Quadratic Unconstrained Binary Optimization)と呼ばれ、二値変数のみで記述した制約なし二次多項式である。
[Create optimization function]
Subsequently, the creating unit 123 creates an optimization function H that can be solved by the quantum Ising machine, including the first auxiliary variable v ijk and the second auxiliary variable y jm . The format of the optimization function H is called QUBO (Quadratic Unconstrained Binary Optimization), which is an unconstrained quadratic polynomial described only with binary variables.

最適化関数Hは、例えば、式(5)、(6)、(7)、(10)を組み合わせて、以下の式(11)で示される。

Figure 0007196052000010
The optimization function H is represented by the following formula (11), for example, by combining formulas (5), (6), (7), and (10).
Figure 0007196052000010

式(7)は、Vの最適化の式であるが、式(6)、(10)は、X、Y、Vを含むため、X、Y、Vが変化する変数群となる。したがって、最適化関数Hでは、これらの変数群X、Y、Vについて最適化を行う。 Formula (7) is a formula for optimizing V, but Formulas (6) and (10) include X, Y, and V, so they are variable groups in which X, Y, and V change. Therefore, the optimization function H optimizes these variable groups X, Y, and V. FIG.

式(11)の右辺における第4項、第5項は、式(6)、(10)の制約式に対応した制約項である。式(6)、(10)は、第1補助変数vijk及び第2補助変数yjmの制約式であるところ、最適化関数では、これらの制約式について、(左辺-右辺)を二乗した形式とし、これの最小化を求める制約項を設け、最適化関数Hの解において、(左辺-右辺)=0、すなわち、左辺=右辺となり、制約式が示す制約が満たされるようにしている。同様に、第6項も、式(5)の制約式に対応した制約項であり、(左辺-右辺)を二乗した形式としている。第2項は、式(6)の制約式のΣijk=1に対応した制約項であり、第2項は(左辺-右辺)を二乗した形としている。一方、第3項は、式(5)の制約式のΣijijk=1に対応した制約項であるが、第2項=0が満たされれば、(1-Σijijk)は負の値になることはなく、また、これを二乗すると4次式となってしまうため、二乗しない。ここで、式(11)におけるλ~λは、制約項の係数であり、より強く満たすべき制約項を設定することができる。 The fourth and fifth terms on the right side of equation (11) are constraint terms corresponding to the constraint expressions of equations (6) and (10). Equations (6) and (10) are constraint equations for the first auxiliary variable v ijk and the second auxiliary variable y jm . , and a constraint term for minimizing this is provided, and in the solution of the optimization function H, (left side - right side) = 0, that is, left side = right side, so that the constraint indicated by the constraint expression is satisfied. Similarly, the sixth term is also a constraint term corresponding to the constraint expression of Equation (5), and is in the form of squaring (left side - right side). The second term is a constraint term corresponding to Σ j v ijk =1 in the constraint expression of Equation (6), and the second term is in the form of (left side−right side) squared. On the other hand, the third term is a constraint term corresponding to Σ j x ij v ijk =1 in the constraint expression of Equation (5) . ijk ) is never negative, and squaring it results in a quartic, so it is not squared. Here, λ 0 to λ 4 in Equation (11) are coefficients of constraint terms, and constraint terms to be satisfied more strongly can be set.

なお、式(11)において、第3項及び第4項について、λΣ(Σij-Σm:1≦m≦tjim)と変換しても、同様の効果があることが知られている(この場合は、補助変数は式(9)とは異なる値をとるが、第3項及び第4項と同じ制約を満たすように制約する効果は維持される)。そこで、作成部123は、式(11)に替えて、式(12)を作成してもよい。このようにすることで、制約項の係数を少なくすることができるので、各制約項の係数を調整することが容易になる。

Figure 0007196052000011
It should be noted that the third and fourth terms in equation (11) can be converted to λ 2 Σ ji x ij −Σ m: 1≦m≦tj y im ) to achieve the same effect. is known (in this case the auxiliary variables take different values than in equation (9), but the effect of constraining them to satisfy the same constraints as the third and fourth terms is preserved). Therefore, the creation unit 123 may create equation (12) instead of equation (11). By doing so, the coefficients of the constraint terms can be reduced, making it easier to adjust the coefficients of each constraint term.
Figure 0007196052000011

なお、上述の説明では、データブロックのデータ容量が一定であることとして説明したが、複数のデータブロックのそれぞれがwである場合には、作成部123は、以下の式(13)を作成してもよい。式(13)において、tは、配置可能な最大のデータブロック数ではなく、データサイズを示し、cjkは、単位データサイズ当たりの伝送コストを示すものとする。 In the above explanation, it is assumed that the data capacity of the data block is constant. You may In equation (13), tj indicates the data size rather than the maximum number of allocatable data blocks, and cjk indicates the transmission cost per unit data size.

Figure 0007196052000012
Figure 0007196052000012

なお、上述の説明では、データブロックの複製数を所定数rとして説明したが、データブロックの複製数を第1の所定数以上第2の所定数以下としてもよい。例えば、複製数を1以上2以下とする場合は、式(11)~(13)の最終項を式(14)のように変えればよい。

Figure 0007196052000013
In the above description, the number of copies of the data block is assumed to be the predetermined number r, but the number of copies of the data block may be a first predetermined number or more and a second predetermined number or less. For example, when the number of replications is set to 1 or more and 2 or less, the last terms of equations (11) to (13) should be changed to equation (14).
Figure 0007196052000013

また、複製数を1以上3以下とする場合は、各データブロックの複製数を示す補助変数zilを導入し、式(11)~(13)の最終項を式(15)のように変えればよい。考え方は、式(12)における変形と同様である。

Figure 0007196052000014
Also, when the number of replications is 1 or more and 3 or less, an auxiliary variable z il indicating the number of replications of each data block is introduced, and the last term of Equations (11) to (13) is changed to Equation (15). Just do it. The idea is the same as the transformation in equation (12).
Figure 0007196052000014

配置組合せ特定部124は、作成部123が作成した最適化関数を量子イジングマシンに評価させて準最適解を求めさせ、量子イジングマシンに総コストを最小に近づける複数の変数の組み合わせを特定させることにより、総コストが最小となるように配置組合せを特定する。図10は、量子イジングマシンにより特定されたxijに対応する配置行列Xに対応する表を示す図である。図10に示されるように、各記憶領域の記憶容量よりも小さい範囲で各記憶領域にデータブロックが配置されることが確認できる。 The arrangement combination identifying unit 124 causes the quantum Ising machine to evaluate the optimization function generated by the generating unit 123 to obtain a suboptimal solution, and causes the quantum Ising machine to identify a combination of multiple variables that brings the total cost closer to the minimum. specifies the placement combination that minimizes the total cost. FIG. 10 is a diagram showing a table corresponding to the arrangement matrix X corresponding to x ij specified by the quantum Ising machine. As shown in FIG. 10, it can be confirmed that data blocks are arranged in each storage area within a range smaller than the storage capacity of each storage area.

配置制御部125は、配置組合せ特定部124が特定した配置組合せに基づいて複数のデータブロックを複数の記憶領域に配置させる。これにより、データブロックの記憶領域への配置の最適化が行われる。例えば、配置制御部125は、最適化前の配置行列と、配置組合せ特定部124が特定した配置行列との差分に基づいて、各データブロックの配置を行う。 The placement control unit 125 places the plurality of data blocks in the plurality of storage areas based on the placement combination specified by the placement combination specifying unit 124 . As a result, the allocation of data blocks to storage areas is optimized. For example, the placement control unit 125 places each data block based on the difference between the placement matrix before optimization and the placement matrix specified by the placement combination specifying unit 124 .

配置制御部125は、データ処理に伴うデータ伝送時に、データの再配置を行うようにしてもよい。例えば、i番目のデータブロックがj番地の記憶領域に配置されており、配置組合せ特定部124が特定した当該データブロックの配置先の記憶領域がk番地の記憶領域である場合、配置制御部125は、分散システムが当該データブロックをk番地に伝送する処理を実行する際に、データの再配置を行うようにしてもよい。また、配置制御部125は、分散システムの管理者が設定した時刻に、一斉に複数のデータブロックのそれぞれの再配置を行うようにしてもよい。 The allocation control unit 125 may rearrange data during data transmission associated with data processing. For example, when the i-th data block is located in the j-address storage area, and the allocation destination storage area of the data block specified by the allocation combination specifying unit 124 is the k-address storage area, the allocation control unit 125 Alternatively, the data may be rearranged when the distributed system executes the process of transmitting the data block to the k address. Also, the allocation control unit 125 may rearrange the plurality of data blocks all at once at the time set by the administrator of the distributed system.

[情報処理装置1における処理の流れ]
続いて、情報処理装置1における処理の流れの一例について説明する。図11は、情報処理装置1における処理の流れを示すフローチャートである。
まず、伝送履歴特定部121は、所定期間に実行された処理に伴うデータブロックの複数の記憶領域間の伝送頻度と、データブロックの伝送コストとを示す伝送履歴を特定する(S1)。
続いて、記憶容量特定部122は、複数の記憶領域のそれぞれの記憶容量を特定する(S2)。
[Flow of processing in information processing device 1]
Next, an example of the flow of processing in the information processing device 1 will be described. FIG. 11 is a flow chart showing the flow of processing in the information processing apparatus 1. As shown in FIG.
First, the transmission history identifying unit 121 identifies a transmission history indicating the frequency of data block transmission between multiple storage areas and the transmission cost of the data block associated with processing executed during a predetermined period (S1).
Subsequently, the storage capacity specifying unit 122 specifies the storage capacity of each of the plurality of storage areas (S2).

続いて、作成部123は、複数のデータブロックを複数の記憶領域に配置する配置組合せを特定するための最適化関数を作成する(S3)。
続いて、配置組合せ特定部124は、S3において作成された最適化関数を量子イジングマシンに評価させ、伝送コストの総コストが最小となるように配置組合せを特定する(S4)。
配置制御部125は、配置組合せ特定部124が特定した配置組合せに基づいて複数のデータブロックを複数の記憶領域に配置させる(S5)。
Subsequently, the creating unit 123 creates an optimization function for specifying an arrangement combination for arranging a plurality of data blocks in a plurality of storage areas (S3).
Subsequently, the placement combination identifying unit 124 causes the quantum Ising machine to evaluate the optimization function created in S3, and specifies a placement combination that minimizes the total transmission cost (S4).
The placement control unit 125 places the plurality of data blocks in the plurality of storage areas based on the placement combination specified by the placement combination specifying unit 124 (S5).

[本実施形態における効果]
以上の通り、本実施形態に係る情報処理装置1は、複数の記憶領域のそれぞれの記憶容量を超えないように複数のデータブロックを複数の記憶領域に配置する配置組合せに対応する複数の変数を含み、当該配置組合せに対して、分散システムが所定期間に実行された処理を再実行した場合における伝送頻度及び伝送コストに基づく伝送コストの総コストが最小となる変数の値の組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成する。そして、情報処理装置1は、作成した最適化関数を量子イジングマシンに評価させ、総コストを最小に近づける複数の変数の値の組み合わせを特定させることにより、総コストが最小となるように配置組合せを特定する。このようにすることで、情報処理装置1は、データの利用頻度に基づいてデータの配置に適した記憶領域を特定することができる。
[Effects of this embodiment]
As described above, the information processing apparatus 1 according to the present embodiment stores a plurality of variables corresponding to arrangement combinations for arranging a plurality of data blocks in a plurality of storage areas so as not to exceed the storage capacities of the plurality of storage areas. Optimal for specifying a combination of variable values that minimizes the total transmission cost based on the transmission frequency and the transmission cost when the distributed system re-executes the processing executed in the predetermined period for the arrangement combination Create an optimization function in a form that is an optimization function that can be evaluated by a quantum Ising machine. Then, the information processing apparatus 1 causes a quantum Ising machine to evaluate the created optimization function, and specifies a combination of values of a plurality of variables that brings the total cost closer to the minimum. identify. By doing so, the information processing apparatus 1 can specify a storage area suitable for arranging data based on the frequency of use of the data.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments, and various modifications and changes are possible within the scope of the gist thereof. be. For example, all or part of the device can be functionally or physically distributed and integrated in arbitrary units.

例えば、上述の実施形態では、伝送コストは、伝送履歴特定部121が特定した伝送履歴に基づいて特定されることとしたが、これに限らない。情報処理装置1は、利用者から伝送コストを示す情報の入力を受け付けることにより、伝送コストを特定してもよい。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。 For example, in the above-described embodiment, the transmission cost is specified based on the transmission history specified by the transmission history specifying unit 121, but the present invention is not limited to this. The information processing device 1 may specify the transmission cost by accepting input of information indicating the transmission cost from the user. In addition, new embodiments resulting from arbitrary combinations of multiple embodiments are also included in the embodiments of the present invention. The effect of the new embodiment caused by the combination has the effect of the original embodiment.

1・・・情報処理装置、11・・・記憶部、12・・・制御部、121・・・伝送履歴特定部、122・・・記憶容量特定部、123・・・作成部、124・・・配置組合せ特定部、125・・・配置制御部 Reference Signs List 1 information processing device 11 storage unit 12 control unit 121 transmission history identification unit 122 storage capacity identification unit 123 creation unit 124 Layout combination identification unit 125 . . . Layout control unit

Claims (7)

データ容量が一定である複数のデータブロックが異なるアドレスを有する複数の記憶領域に配置される分散システムにおいて、所定期間に実行された処理に伴う前記データブロックの複数の記憶領域間の伝送頻度を示す伝送履歴を特定する伝送履歴特定部と、
前記複数の記憶領域のそれぞれの記憶容量を特定する記憶容量特定部と、
前記記憶容量特定部が特定した前記複数の記憶領域のそれぞれの記憶容量を超えないように前記複数のデータブロックを前記複数の記憶領域に配置する配置組合せに対応する複数の変数を含み、前記配置組合せに対して、前記分散システムが前記所定期間に実行された処理を再実行した場合における前記伝送頻度及び前記データブロックの伝送コストに基づく前記伝送コストの総コストが最小となる変数の値の組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式である、前記変数を二値変数のみで記述した二次多項式の最適化関数を作成する作成部と、
前記作成部が作成した前記最適化関数を前記量子イジングマシンに評価させ、前記総コストを最小に近づける複数の前記変数の値の組み合わせを特定させることにより、前記総コストが最小となるように前記配置組合せを特定する配置組合せ特定部と、
を備え
前記作成部は、前記配置組合せに対応する前記複数のデータブロックのそれぞれの伝送元の記憶領域と、伝送先の記憶領域とを特定するための、第1の二値変数群を作成するとともに、前記配置組合せに対応する前記複数の記憶領域における前記複数のデータブロックの格納数を示す第2の二値変数群を作成し、前記第1の二値変数群と、前記第2の二値変数群とを含む前記最適化関数を作成する、
情報処理装置。
In a distributed system in which a plurality of data blocks with a fixed data capacity are arranged in a plurality of storage areas with different addresses, the frequency of transmission of the data blocks between the plurality of storage areas associated with processing executed during a predetermined period of time is indicated. a transmission history identifying unit that identifies a transmission history;
a storage capacity specifying unit that specifies the storage capacity of each of the plurality of storage areas;
including a plurality of variables corresponding to an arrangement combination for arranging the plurality of data blocks in the plurality of storage areas so as not to exceed the storage capacity of each of the plurality of storage areas specified by the storage capacity specifying unit; A combination of variable values that minimizes the total transmission cost based on the transmission frequency and the transmission cost of the data block when the distributed system re-executes the processing executed during the predetermined period. a creation unit that creates a second-order polynomial optimization function in which the variables are described only by binary variables, which is a format that can be evaluated by a quantum Ising machine;
The optimization function created by the creating unit is evaluated by the quantum Ising machine, and a combination of values of the plurality of variables that brings the total cost closer to the minimum is identified, thereby minimizing the total cost. an arrangement combination identifying unit that identifies an arrangement combination;
with
The creation unit creates a first binary variable group for specifying a transmission source storage area and a transmission destination storage area of each of the plurality of data blocks corresponding to the arrangement combination, creating a second binary variable group indicating the number of the plurality of data blocks stored in the plurality of storage areas corresponding to the arrangement combination, the first binary variable group and the second binary variable creating said optimization function comprising a group and
Information processing equipment.
前記作成部は、前記伝送頻度に基づいて、前記所定期間に実行された処理において伝送が行われた伝送元と伝送先との組合せに限定して、前記第1の二値変数群を作成する、
請求項に記載の情報処理装置。
Based on the transmission frequency, the creation unit creates the first binary variable group by limiting to combinations of transmission sources and transmission destinations to which transmission was performed in the processing executed during the predetermined period. ,
The information processing device according to claim 1 .
前記作成部は、前記複数のデータブロックの各々を複数の記憶領域に複製して配置することを許容し、前記組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成する、
請求項1又は2に記載の情報処理装置。
The creation unit allows each of the plurality of data blocks to be duplicated and arranged in a plurality of storage areas, and is an optimization function that identifies the combination, and is an optimization function in a format that can be evaluated by a quantum Ising machine. create a function,
The information processing apparatus according to claim 1 or 2 .
前記作成部は、前記複数のデータブロックの各々を複数の記憶領域に複製して配置するときの複製数を第1の所定数以上第2の所定数以下とするように前記組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式の最適化関数を作成する、
請求項に記載の情報処理装置。
The creation unit specifies the combination so that the number of copies when each of the plurality of data blocks is copied and arranged in a plurality of storage areas is equal to or greater than a first predetermined number and equal to or less than a second predetermined number. creating an optimization function in a form that can be evaluated by a quantum Ising machine,
The information processing apparatus according to claim 3 .
前記伝送履歴特定部は、所定期間に実行された処理に伴う前記データブロックの複数の記憶領域間の伝送頻度と、前記データブロックの伝送コストとを示す前記伝送履歴を特定し、
前記作成部は、前記配置組合せに対して、前記分散システムが前記所定期間に実行された処理を再実行した場合における前記伝送頻度及び前記伝送履歴が示す前記伝送コストに基づく前記伝送コストの総コストが最小となる変数の値の組合せを特定する前記最適化関数を作成する、
請求項1からのいずれか1項に記載の情報処理装置。
The transmission history identifying unit identifies the transmission history indicating the frequency of transmission of the data blocks between the plurality of storage areas and the transmission cost of the data blocks associated with processing executed during a predetermined period of time,
The creation unit calculates, for the arrangement combination, a total cost of the transmission costs based on the transmission costs indicated by the transmission frequency and the transmission history when the distributed system re-executes the processing executed during the predetermined period. creating the optimization function that identifies the combination of values of the variables that minimizes
The information processing apparatus according to any one of claims 1 to 4 .
前記配置組合せ特定部が特定した前記配置組合せに基づいて前記複数のデータブロックを前記複数の記憶領域に配置させる配置制御部をさらに備える、
請求項1からのいずれか1項に記載の情報処理装置。
further comprising an arrangement control unit for arranging the plurality of data blocks in the plurality of storage areas based on the arrangement combination specified by the arrangement combination specifying unit;
The information processing apparatus according to any one of claims 1 to 5 .
コンピュータが実行する、
データ容量が一定である複数のデータブロックが異なるアドレスを有する複数の記憶領域に配置される分散システムにおいて、所定期間に実行された処理に伴う前記データブロックの複数の記憶領域間の伝送頻度を示す伝送履歴を特定するステップと、
前記複数の記憶領域のそれぞれの記憶容量を特定するステップと、
特定された前記複数の記憶領域のそれぞれの記憶容量を超えないように前記複数のデータブロックを前記複数の記憶領域に配置する配置組合せに対応する複数の変数を含み、前記配置組合せに対して、前記分散システムが前記所定期間に実行された処理を再実行した場合における前記伝送頻度及び前記データブロックの伝送コストに基づく前記伝送コストの総コストが最小となる変数の値の組合せを特定する最適化関数であって、量子イジングマシンが評価可能な形式である、前記変数を二値変数のみで記述した二次多項式の最適化関数を作成するステップと、
作成した前記最適化関数を前記量子イジングマシンに評価させ、前記総コストを最小に近づける複数の前記変数の値の組み合わせを特定させることにより、前記総コストが最小となるように前記配置組合せを特定するステップと、
有し、
前記作成するステップにおいて、前記コンピュータは、前記配置組合せに対応する前記複数のデータブロックのそれぞれの伝送元の記憶領域と、伝送先の記憶領域とを特定するための、第1の二値変数群を作成するとともに、前記配置組合せに対応する前記複数の記憶領域における前記複数のデータブロックの格納数を示す第2の二値変数群を作成し、前記第1の二値変数群と、前記第2の二値変数群とを含む前記最適化関数を作成する、
情報処理方法。
the computer runs
In a distributed system in which a plurality of data blocks with a fixed data capacity are arranged in a plurality of storage areas with different addresses, the frequency of transmission of the data blocks between the plurality of storage areas associated with processing executed during a predetermined period of time is indicated. identifying a transmission history;
identifying the storage capacity of each of the plurality of storage areas;
including a plurality of variables corresponding to an arrangement combination for arranging the plurality of data blocks in the plurality of storage areas so as not to exceed the storage capacity of each of the specified plurality of storage areas, and for the arrangement combination, Optimization for identifying a combination of variable values that minimizes the total transmission cost based on the transmission frequency and the transmission cost of the data block when the distributed system re-executes the processing executed during the predetermined period creating a quadratic polynomial optimization function in which the variables are described only by binary variables, the function being in a form that can be evaluated by a quantum Ising machine;
The arrangement combination is specified so as to minimize the total cost by causing the quantum Ising machine to evaluate the created optimization function and specifying a combination of values of the plurality of variables that brings the total cost closer to the minimum. and
has
In the creating step, the computer creates a first binary variable group for specifying a transmission source storage area and a transmission destination storage area for each of the plurality of data blocks corresponding to the arrangement combination. and creating a second binary variable group indicating the number of the plurality of data blocks stored in the plurality of storage areas corresponding to the arrangement combination, the first binary variable group and the first creating the optimization function comprising a binary variable group of 2;
Information processing methods.
JP2019214131A 2019-11-27 2019-11-27 Information processing device and information processing method Active JP7196052B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019214131A JP7196052B2 (en) 2019-11-27 2019-11-27 Information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019214131A JP7196052B2 (en) 2019-11-27 2019-11-27 Information processing device and information processing method

Publications (2)

Publication Number Publication Date
JP2021086349A JP2021086349A (en) 2021-06-03
JP7196052B2 true JP7196052B2 (en) 2022-12-26

Family

ID=76087790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019214131A Active JP7196052B2 (en) 2019-11-27 2019-11-27 Information processing device and information processing method

Country Status (1)

Country Link
JP (1) JP7196052B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073106A (en) 2015-10-07 2017-04-13 株式会社東芝 Quantum calculation device and method
JP2019046038A (en) 2017-08-31 2019-03-22 株式会社デンソー Evaluation function converter and program
JP2019526091A (en) 2016-06-13 2019-09-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method for optimizing an application of a computing system having a plurality of different memory locations interconnected by one or more communication channels, a non-transitory computer readable storage medium including a computer readable program, and a system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887473A (en) * 1994-09-16 1996-04-02 Toshiba Corp Data processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073106A (en) 2015-10-07 2017-04-13 株式会社東芝 Quantum calculation device and method
JP2019526091A (en) 2016-06-13 2019-09-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method for optimizing an application of a computing system having a plurality of different memory locations interconnected by one or more communication channels, a non-transitory computer readable storage medium including a computer readable program, and a system
JP2019046038A (en) 2017-08-31 2019-03-22 株式会社デンソー Evaluation function converter and program

Also Published As

Publication number Publication date
JP2021086349A (en) 2021-06-03

Similar Documents

Publication Publication Date Title
Chu et al. Distributed data deduplication
Chen et al. Using segmented right-deep trees for the execution of pipelined hash joins
US10127275B2 (en) Mapping query operations in database systems to hardware based query accelerators
CN109964203B (en) Ordering of data parallel computing devices
CN107004033A (en) MPP device Database Systems and method
JP6200824B2 (en) Arithmetic control apparatus, arithmetic control method, program, and OpenCL device
US20120054693A1 (en) Incremental concurrent processing for efficient computation of high-volume layout data
Karney et al. Implementation and computational study on an in-core, out-of-core primal network code
US10593080B2 (en) Graph generating method and apparatus
CN103001793B (en) Method and device for managing ACL (access control list)
US20140189616A1 (en) Incremental concurrent processing for efficient computation of high-volume layout data
Guo et al. Modeling, analysis, and experimental comparison of streaming graph-partitioning policies
CN107391611A (en) A kind of process model generation method of the General ETL Tool based on workflow
US10872394B2 (en) Frequent pattern mining method and apparatus
DE102013019333A1 (en) REGISTER ASSIGNMENT FOR CLUSTER SUBSTANTIVE REGISTER DATA
CN113569511A (en) Quantum circuit simulation method and device
CN103064955A (en) Inquiry planning method and device
CN113918507B (en) Method and device for adapting deep learning framework to AI acceleration chip
Tüysüz et al. Classical splitting of parametrized quantum circuits
Si et al. GGraph: an efficient structure-aware approach for iterative graph processing
JP7196052B2 (en) Information processing device and information processing method
Anzt et al. Batched generation of incomplete sparse approximate inverses on GPUs
Martínez-del-Amor et al. Design of specific P systems simulators on GPUs
WO2023066222A1 (en) Data processing method and apparatus, and electronic device, storage medium and program product
JP5659880B2 (en) Processing apparatus, distributed processing system, and processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221214

R150 Certificate of patent or registration of utility model

Ref document number: 7196052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150