WO2016147279A1 - データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法 - Google Patents

データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法 Download PDF

Info

Publication number
WO2016147279A1
WO2016147279A1 PCT/JP2015/057598 JP2015057598W WO2016147279A1 WO 2016147279 A1 WO2016147279 A1 WO 2016147279A1 JP 2015057598 W JP2015057598 W JP 2015057598W WO 2016147279 A1 WO2016147279 A1 WO 2016147279A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
relevance
change
degree
association
Prior art date
Application number
PCT/JP2015/057598
Other languages
English (en)
French (fr)
Inventor
村田美穂
今村信貴
高橋秀和
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2015/057598 priority Critical patent/WO2016147279A1/ja
Publication of WO2016147279A1 publication Critical patent/WO2016147279A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • This description relates to a data management control program, a data management control device, and a data management control method.
  • Data storage system stores a large amount of data in a storage such as a disk. Since a low-speed storage device such as a disk has a low processing capacity (throughput) per unit time (high cost), a cache technology is used.
  • the cache technology is a technology that uses a memory to shorten the processing time when a control device with a high processing speed reads data from a low-speed storage device faster.
  • the control device reads data from the low-speed storage device
  • the data can be read from the memory that is read and written faster than the low-speed storage device from the next time by temporarily holding the read data in the memory.
  • FIG. 1 is a diagram for explaining the degree of association and data arrangement for each data pair by the data rearrangement technique.
  • the frequency of access (relevance information) is recorded for each data pair from the data access history (history of what data was accessed in what order) for each data pair.
  • a data pair refers to two data that are accessed consecutively.
  • the data accessed now is paired with the data accessed immediately before, and the frequency of occurrence of the pair is recorded.
  • the data pair and its access frequency are A ⁇ B (twice), B ⁇ C (once), C ⁇ A, as shown in FIG. (2 times), B ⁇ D (1 time), D ⁇ E (1 time), E ⁇ C (1 time). Pairs with high access frequency are considered highly related.
  • these data When these data are arranged in two segments, they are divided into a group of data A, B, and C and a group of data D and E as shown in FIG. Based on this group, data A, B, C, D, and E are rearranged for each segment. The division is performed so that the degree of association across the two segments is small and the number of data belonging to each segment is substantially equal.
  • the segment is a set of data that is recognized to be related, and is the minimum unit of reading and writing on the disk.
  • the above-described data rearrangement technique is processing related to data writing and reading, and resources such as a memory that can be used for calculation are also limited. For this reason, some of the characteristics of the contents of a continuous processing request (hereinafter referred to as “request”) (for example, in the data relocation technique described above, how many consecutive data pairs are accessed) It is a form that uses the cumulative value of whether or not.
  • request for example, in the data relocation technique described above, how many consecutive data pairs are accessed
  • the data management control program causes a computer to execute the following processing.
  • the computer intermittently monitors the degree of association between data based on the frequency of access to each pair of data continuously accessed by an access request to a storage device that stores a plurality of data.
  • the computer controls execution of a data arrangement process for arranging the related data as a group based on a temporal change in the trend of the relevance distribution of the plurality of pairs monitored intermittently. .
  • Example 1 It is a figure for demonstrating the pattern in the case of stopping and restarting the data arrangement process in this embodiment (Example 1).
  • positioning process in this embodiment (Example 1) is shown.
  • positioning process according to the execution flag in this embodiment (Example 1) is shown.
  • positioning process in this embodiment (Example 2) is shown.
  • FIG. 2 is a diagram for explaining (A) a change in actual relevance of a data pair and (B) a cumulative value of relevance between data held in the data rearrangement technique.
  • FIG. 2 (A) shows changes in the actual relevance of the data pairs AB, BC, and CD over time.
  • data A, B, C, and D happen to be arranged in a segment that includes data A, B, and C, and a segment that happens to include data D at time 0.
  • the rearrangement timing is time T.
  • the access frequency to the data pair that is, the degree of association between the data changes
  • the degree of association between the data A and B decreases
  • the degree of association between the data C and D increases. Note that there is almost no change in the degree of association between the data B and C.
  • FIG. 2 (B) shows the cumulative value of the relevance held in the data rearrangement technique with the lapse of time of the data pairs AB, BC, and CD in FIG. 2 (A).
  • the data relocation technique when the relevance of one data pair was high before, but there is a trend change that the relevance of another data pair is higher, Assume that data rearrangement is performed based on this. In this case, the data arrangement is determined based on the relevance that does not currently exist.
  • the cache hit rate that is, the read performance is lowered. Therefore, if data rearrangement is performed without responding to a change in trend, a costly process is performed although the effect is low, and the reading performance is degraded. For this reason, if the cache hit rate does not improve more than a certain degree, the read performance may be lowered if the cache is rearranged.
  • the data processing system captures the properties of the entire request during a certain period and observes changes due to the time transition. And a data processing system detects the change of the trend of the relevance degree between data, and reflects the change on control of a data arrangement
  • the data arrangement process itself is controlled in accordance with the change in the trend of the degree of association between the data. More specifically, the time transition of the distribution per unit time of continuously arriving requests is monitored, and the data arrangement processing is controlled based on the monitoring result.
  • FIG. 3 shows an example of the data management control device in the present embodiment.
  • the data management control device 1 includes a monitoring unit 2 and an execution control unit 3.
  • the monitoring unit 2 monitors the degree of association between data based on the frequency of access to each pair of data continuously accessed by an access request to a storage device that stores a plurality of data. More specifically, the monitoring unit 2 performs intermittent monitoring.
  • An example of the monitoring unit 2 is a relevance extraction unit 32 described later.
  • the execution control unit 3 controls the execution of the data arrangement process 4 based on the temporal change in the degree of association of the plurality of pairs monitored.
  • the data arrangement process 4 is a process of arranging related data in groups. More specifically, the execution control unit 3 controls the execution of the data arrangement process based on the temporal change of the relevance degree distribution trend.
  • An example of the execution control unit 3 is an arrangement control unit 36 described later.
  • the execution control unit 3 acquires the distribution of relevance of a plurality of pairs for each unit time. Then, the execution control unit 3 stops the data arrangement process when the amount of change between the distributions acquired in each successive unit time is equal to or greater than the threshold value. On the other hand, the execution control part 3 performs a data arrangement
  • the execution control unit 3 acquires a plurality of pairs of relevance distributions per unit time. And the execution control part 3 changes the execution period of the said data arrangement
  • data rearrangement processing can be performed according to changes in the degree of relevance, so data placement processing that leads to performance degradation can be suppressed, and data can be improved when performance improvement can be expected.
  • the placement process can be facilitated.
  • FIG. 4 is a diagram for explaining the overall processing in the present embodiment.
  • the server device 11 receives a request from the client device 17, the input / output management processing 14 accesses the memory 15 or the disk 16.
  • the placement control process 12 monitors the time transition of the distribution of requests from the client 17. That is, the arrangement control process 12 accumulates relevance information for each data pair based on the access history.
  • the arrangement control process 12 accumulates an index (relevance vector) representing the property of the data set based on the accumulated relevance information.
  • the arrangement control process 12 controls the data arrangement process 13 at a predetermined time interval based on the degree of change in the relevance vector at that time.
  • Arrangement process 13 monitors the temporal continuity of the request itself. That is, the arrangement process 13 accumulates relevance information for each data pair based on the access history.
  • the arrangement process 13 determines data arrangement from the relevance information for each data pair at a predetermined time interval based on the control by the arrangement control process 12, and executes the data rearrangement process.
  • FIG. 5 shows an example of an information processing system in the present embodiment.
  • a server device hereinafter referred to as “server” 21 is connected to a client 25 which is an example of an information processing device via a communication network (hereinafter referred to as “network”) 26.
  • the client 25 makes an access request (hereinafter referred to as “request”) such as data reading or writing to the server 21.
  • the server 21 includes a control device 22, a memory device (hereinafter referred to as “memory”) 23, and a storage device (disk) 24.
  • the control device 22 is a processor such as a central processing unit (CPU).
  • the storage device 24 is a disk device such as a hard disk drive (HDD). Hereinafter, the storage device 24 is referred to as a disk 24.
  • HDD hard disk drive
  • the memory 23 is a storage device that can be accessed at a higher speed than the disk 24.
  • Examples of the memory 23 include a RAM (Random Access Memory), a flash memory, and the like.
  • the server 21 includes a ROM storing a BIOS (Basic Input / Output System), a program memory, and the like.
  • BIOS Basic Input / Output System
  • the program executed by the control device 22 may be acquired through the network 26, or may be acquired by mounting a computer-readable portable recording medium such as a portable memory or a CD-ROM on the server 21. Also good.
  • the program executed by the control device 22 includes a program that executes processing described in the present embodiment.
  • FIG. 6 shows an example of a server in this embodiment.
  • the server 21 includes the control device 22, the memory 23, and the disk 24.
  • the memory 23 includes an area (hereinafter referred to as “cache area”) 41 that caches a plurality of segments read from the disk 24 and temporarily stores them.
  • cache area 41 that caches a plurality of segments read from the disk 24 and temporarily stores them.
  • LRU least recently used
  • LFU least recently used
  • the memory 23 holds a data / segment correspondence table 42 and an association management table 43.
  • the data / segment correspondence table 42 stores information indicating the correspondence between the data and the segment where the data is arranged.
  • the relevancy management table 43 stores the number of accesses to each data pair (access frequency (relevance)), that is, relevance information for each predetermined time interval.
  • the control device 22 executes the program according to the present embodiment, whereby the input / output management unit 31, the relevance extraction unit 32, the rearrangement determination unit 33, the rearrangement processing unit 34, the relevance vector calculation unit 35, the placement control. It functions as the part 36.
  • the input / output management unit 31 searches the memory 23 in response to a request input from a request source such as the client 25, and if there is no data specified by the request in the memory 23, the input / output management unit 31 further searches the disk 24 and is specified by the request. Send the data to the requester.
  • the request is not only transmitted by the client 25, but a process or other subject executed in the server 21 may be the issuer of the request. Further, when the input / output device is connected to the server 21, it is assumed that the user inputs a request to the input / output device.
  • the input / output management unit 31 When a request is input, the input / output management unit 31 first searches the memory 23 for data specified by the request. When the data specified by the request exists on the memory 23, the input / output management unit 31 reads the data from the memory 23 and returns it to the request source.
  • the input / output management unit 31 searches the disk 24 for the data specified by the request.
  • the input / output management unit 31 uses the data segment correspondence table 42 to transfer all data included in the segment to which the data specified in the request belongs to the disk 24. Read from. Then, the input / output management unit 31 returns the data specified by the request among all the data included in the read segment to the request source. At this time, the input / output management unit 31 stores all data included in the read segment in the memory 23.
  • the input / output management unit 31 has described the case where the process of storing all the data included in the segment read from the disk 24 in the memory 23 is performed at the timing of the request, but the present invention is not limited to this.
  • the input / output management unit 31 may acquire an access frequency for a certain period, read a segment with a high access frequency from the disk 24 with priority, and store it in the memory 23.
  • the data arrangement process is realized by the relevance extracting unit 32, the rearrangement determining unit 33, and the rearrangement processing unit 34.
  • the data arrangement process is a process for dynamically rearranging data between segments based on the access history in order to improve data access efficiency.
  • the relevance extraction unit 32 accumulates relevance information for each data pair in the relevance management table 43 each time a request arrives, thereby associating data between data based on the frequency of access to the data pair at predetermined time intervals. Monitor the degree. More specifically, the relevance extraction unit 32 extracts a data pair that is continuously accessed from the access sequence at predetermined time intervals, and sets the access frequency (relevance) of the data pair in the relevance management table 43. , “+1” is added.
  • the rearrangement determination unit 33 and the rearrangement processing unit 34 are controlled while being set to execute the data arrangement processing (for example, while an execution flag described later is ON) or by the arrangement control unit 36.
  • the following processing is performed in the cycle that has been performed.
  • the rearrangement determination unit 33 groups data based on the relevance at a predetermined time interval, and determines the data arrangement by specifying the arrangement target data for each group (segment).
  • the rearrangement processing unit 34 performs data rearrangement processing for rearranging data belonging to a segment when there is a change in the configuration of data belonging to the segment in accordance with the determination result of the rearrangement. That is, the rearrangement processing unit 34 updates the data / segment correspondence information held in the data / segment correspondence table 42. Then, the rearrangement processing unit 34 clears the contents of the relationship management table 43.
  • FIG. 7 shows an example of the data segment correspondence table in the present embodiment.
  • the data names (or keys) of all data stored in the memory 23 and the disk 24 and the segment names corresponding to the data names are stored in association with each other.
  • FIG. 8 shows an example of an association management table in the present embodiment.
  • the relationship management table 43 sequentially associates the data specified in the previous request for each data specified in the request to form a data pair, and the number of accesses to each data pair (per unit time) ( Strength of relevance), that is, relevance information is stored.
  • the distribution of the number of continuous accesses per unit time at a certain point in time can be expressed by an index representing the property of the data set, and the change in the index can be captured.
  • FIG. 9 is a diagram for explaining an index representing the property of the data set in the present embodiment.
  • FIG. 9A is a diagram for explaining the relationship between the time and the sub-period Ts.
  • T1, T2, and T3 indicate time.
  • “Ts” is the time between time T1 and T0, between time T2 and T1,..., And is a sub-period in which the access frequency is measured. It is assumed that “Ts” is set to be considerably shorter than the period in which the data arrangement processing function performs data rearrangement.
  • the relevance vector calculation unit 35 calculates a relevance vector from the relevance information for each data pair (the number of accesses for each data pair for each fixed period Ts) as follows.
  • the relevance information the relevance vector will be described with reference to FIG.
  • the relevance vector calculation unit 35 defines an n-dimensional space around the data pairs accumulated as relevance information in each sub-period Ts.
  • n is the number of data pairs included in the relevance information.
  • the relevance vector calculation unit 35 calculates the absolute value of the difference between the relevance level vector at that time and the previous relevance level vector, and sets the change amount of the relevance vector.
  • 15.3
  • the change amount of the related vector (trend) of T1-T2 is small, and the change amount of the related vector (trend) of T2-T3 is large. Therefore, the arrangement control unit 36 controls the data arrangement process according to the amount of change in the related vector (trend), as described with reference to FIG.
  • Example 1 a description will be given of performing control for dynamically stopping or restarting the data arrangement process according to whether or not the change amount of the degree of relevance is equal to or greater than a threshold value.
  • FIG. 10 is a diagram for explaining a pattern in a case where the data arrangement process according to the present embodiment (Example 1) is stopped and restarted.
  • the vertical axis represents the absolute value of the change in the relevance vector (trend).
  • the horizontal axis indicates the elapsed time.
  • the period Tm is a period for determining whether the trend is stable and is determined in advance.
  • the arrangement control unit 36 turns on the execution flag.
  • the execution flag is a flag for determining whether to enable the data arrangement processing function.
  • the absolute value of trend conversion is greater than or equal to the threshold value. In this case, this corresponds to a case where a change occurs in the relevance level of a data pair having a high relevance level, so the arrangement control unit 36 turns off the execution flag.
  • the arrangement control unit 36 sets the execution flag. Leave it off. If the absolute value of the trend conversion remains smaller than the threshold value and Tm elapses, the arrangement control unit 36 turns on the execution flag.
  • FIG. 11 shows a flow for controlling the data arrangement processing in the present embodiment (Example 1).
  • processing from the arrival of a request to the update of the execution flag will be described.
  • the control device 12 functions as the input / output management unit 31, the relevance extraction unit 32, the relevance vector calculation unit 35, and the arrangement control unit 36 by executing the program according to the present embodiment.
  • the input / output management unit 31 reads (accesses) the data designated by the request input from the request source from the memory 23 or the disk 24, and transmits the data to the request source (S11). At this time, if the data specified by the request does not exist in the memory 23, the input / output management unit 31 uses the data / segment correspondence table 42 to read all data of the segment to which the data specified by the request belongs from the disk 24. Then, the input / output management unit 31 transmits the data specified by the request among all the data of the read segment to the request source.
  • the relevance extraction unit 32 records the relevance information of the pair of the data accessed immediately before and the data just accessed in the relevancy management table (S12).
  • the relevance extraction unit 32 updates the information of the sub-period Ts in the relevance management table 43 as described with reference to FIG. Specifically, the relevance extraction unit 32 records relevance information of the data pair (adds the number of accesses by +1) in the relevance management table 43 within the sub-period Ts.
  • the relevance extraction unit 32 repeats the processes of S11 to S12 (“NO” in S13). Thereby, the relevance information in this sub period is generated.
  • the relevance vector calculation unit 35 After the elapse of the sub-period Ts (“YES” in S13), the relevance vector calculation unit 35 refers to the relevance management table 43 and determines whether the relevance information generated in the previous sub-period exists (see FIG. S14). If the relevance information generated in the previous sub-period does not exist (“NO” in S14), the process returns to S11.
  • the relevance vector calculation unit 35 As described with reference to FIG. Then, the amount of change in the relevance vector is calculated (S15).
  • the placement control unit 36 compares the calculated change amount with a threshold value (S16).
  • the threshold value is stored in advance in a storage device included in the server 21.
  • the arrangement control unit 36 determines whether or not the execution flag is ON (S17).
  • the arrangement control unit 36 determines whether the time Tm has elapsed (S19). If the time Tm has not elapsed ("NO" in S19), the process returns to S11.
  • the arrangement control unit 36 determines whether or not the calculated change amount is less than a threshold value (S20). When the calculated amount of change is less than the threshold (“YES” in S20), the arrangement control unit 36 determines whether or not the execution flag is OFF (S21). When the execution flag is OFF (“YES” in S21), the arrangement control unit 36 sets the execution flag to ON (S22). Thereafter, this flow ends.
  • FIG. 12 shows an execution flow of the data arrangement process according to the execution flag in the present embodiment (Example 1).
  • the data arrangement process in FIG. 12 is executed periodically (time interval considerably longer than the sub-period Ts).
  • the rearrangement determination unit 33 determines whether or not the execution flag is ON (S31). If the execution flag is OFF (“NO” in S31), this flow ends. When the execution flag is ON (“YES” in S31), the rearrangement determining unit 33 performs the processes of S32 to S35 described below.
  • the rearrangement determination unit 33 determines the data arrangement from the relevance information (S32). Here, the rearrangement determination unit 33 calculates the final relevance for determining whether or not the data arrangement needs to be changed for each data pair from the association management table 43.
  • the relevance management table 43 may use an average (simple moving average) of relevance levels from the most recent sub-period to a sub-period that goes back several sub-periods.
  • the relevance level obtained by weighting the relevance level for each sub-period may be used.
  • An example of obtaining the final degree of association by weighting the degree of association for each sub-period includes the following method.
  • the rearrangement determination unit 33 decreases the weight exponentially from the latest sub-period toward the past sub-period.
  • the rearrangement determining unit 33 obtains the final degree of association REL between the data pairs XY using the following formula.
  • REL XY ⁇ ⁇ (P N + (1- ⁇ ) P N-1 + (1- ⁇ 2 ) P N-2 +...)
  • is a smoothing coefficient (0 to 1) that determines the degree of weight reduction, and is predetermined.
  • the rearrangement determining unit 33 After calculating the final relevance information for each data pair, the rearrangement determining unit 33 graphs the final relevance information for each data pair as described in FIG. 1D, and based on the graph structure, Data to be arranged for each segment is determined by grouping data.
  • the rearrangement determination unit 33 determines whether or not it is necessary to change the data arrangement, that is, to rearrange the segments, based on the determined data arrangement for each segment (S33).
  • the relocation determining unit 33 Determine that a change is required.
  • the rearrangement determining unit 24 determines that the rearrangement is unnecessary. Further, depending on the method for determining the arrangement, the data to be rearranged may not be rearranged unless it is in the cache. In this case, if the target data is not on the cache, the rearrangement determination unit 33 determines that rearrangement is unnecessary.
  • the relocation determining unit 33 performs the process of S35 described later.
  • the rearrangement processing unit 34 When the data arrangement needs to be changed, that is, when it is determined that the association between the data and the segment needs to be changed (“YES” in S33), the rearrangement processing unit 34 performs the following process. That is, the rearrangement processing unit 34 changes the association between the data and the segment based on the result of the segment reconstruction in S32. The rearrangement processing unit 24 updates the data / segment correspondence table 42 based on the correspondence between the changed data and the segment (S34).
  • the rearrangement processing unit 34 deletes the relevance information recorded in the relevancy management table 43 (S35).
  • the first embodiment it is possible to suppress a reduction in reading performance in data arrangement processing in which highly related data are arranged in groups. That is, since the data rearrangement process can be performed according to the change in the degree of relevance, the data arrangement process leading to the deterioration of the reading performance can be suppressed.
  • Example 2 In the second embodiment, a description will be given of performing control for dynamically changing the cycle of executing the data arrangement process according to the degree of change in the degree of relevance.
  • FIG. 13 is a diagram for explaining a pattern for suppressing / continuing / promoting data arrangement processing in the present embodiment (Example 2).
  • the vertical axis represents the absolute value of the change in the relevance vector (trend).
  • the horizontal axis indicates the elapsed time.
  • the arrangement control unit 36 sets the data arrangement processing cycle to, for example, 10 seconds.
  • the absolute value of trend conversion is less than the threshold 2 between times T21 and T22.
  • the arrangement control unit 36 sets the data arrangement processing cycle to, for example, 1 Set to seconds.
  • the arrangement control unit 36 sets the data arrangement processing cycle to, for example, 10 seconds.
  • the absolute value of trend conversion is equal to or greater than the threshold value 1.
  • this corresponds to a case where a change occurs in the relevance level of a data pair having a considerably high relevance level, and the arrangement control unit 36 sets the data arrangement processing cycle to, for example, 1 minute.
  • 10 seconds and 1 minute of the set time of a cycle are examples, and are not limited to this time.
  • FIG. 14 shows a flow for controlling the data arrangement processing in the present embodiment (Example 2).
  • the control device 12 functions as the input / output management unit 31, the relevance extraction unit 32, the relevance vector calculation unit 35, and the arrangement control unit 36 by executing the program according to the present embodiment.
  • the arrangement control unit 36 compares the amount of change calculated in S15 with the threshold 1 and / or the threshold 2 (S41).
  • the threshold value 1 and the threshold value 2 are stored in advance in a storage device included in the server 21.
  • the arrangement control unit 36 sets the execution period of the data arrangement process to the maximum value Pmax (S42).
  • the arrangement control unit 36 sets the execution period of the data arrangement process to the intermediate value Pmid (S43).
  • the arrangement control unit 36 sets the execution period of the data arrangement process to the intermediate value Pmin (S44).
  • Pmax, Pmid, and Pmin are stored in advance in a storage device included in the server 21.
  • FIG. 15 shows an execution flow of a data arrangement process performed in a set cycle in the present embodiment (Example 2).
  • the data arrangement process of FIG. 15 is performed periodically, that is, the processes of S32 to S35 of FIG. 12 at the execution period (for each of Pmax, Pmid, and Pmin) of the data arrangement process set in any of S32 to S34 of FIG. Is executed.
  • the execution period of the data arrangement process is changed according to the change in the degree of relevance.
  • the present invention is not limited to this. For example, depending on the arrangement determination method, the number of data to be rearranged at one time is changed. Also good.
  • the data rearrangement process can be performed according to the change in the degree of relevance. Therefore, the data arrangement process leading to the performance degradation can be suppressed, and the data arrangement can be improved when the performance improvement can be expected. Processing can be facilitated.
  • the present embodiment it is possible to capture a change in the degree of association (trend) that cannot be detected on the data arrangement processing side and control the data arrangement processing itself.
  • trend changes almost in real time, it is possible to suppress unnecessary data arrangement processing that leads to performance degradation.
  • the data arrangement process can be promoted when an improvement in performance can be expected.
  • the trend change can be detected with a small amount of information depending on the data arrangement processing method.
  • the present invention is not limited to the embodiment described above, and various configurations or embodiments can be taken without departing from the gist of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 コンピュータが、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、断続的に監視された複数の前記ペアの関連度の分布の傾向の経時的変化に基づいて、関連性のあるデータ同士をグループにして配置するデータ配置処理の実行を制御する。

Description

データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法
 本明細書は、データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法に関する。
 データ格納システムは、大量のデータをディスク等のストレージに格納する。ディスク等の低速な記憶装置は、単位時間当たりの処理能力(スループット)が低いため(高コスト)、キャッシュ技術が利用されている。
 キャッシュ技術は、処理速度の速い制御装置が低速の記憶装置からデータをより速く読み出す場合にメモリを使用して処理時間を短縮する技術である。制御装置が低速の記憶装置からデータを読み出した場合、その読み出したデータを一時的にメモリに保持しておくことで、次回からは低速の記憶装置より読み書きが早いメモリからデータを読み出せる。
 ところが、メモリの容量を超えて大量データを処理する場合、ディスクへのアクセスが多発することで、データ処理性能が大きく劣化する。
 そこで、キャッシュ技術の1つとして、アクセス履歴に基づき、関連性のあるデータを同一のセグメントに取りまとめ、データの再配置を行う技術(以降、データ再配置技術)がある(例えば、特許文献1)。
国際公開第2013/114538号 特開2009-277147号公報 特開2003-140836号公報 特許2003-5920号
 図1は、データ再配置技術によるデータペア毎の関連度とデータ配置について説明するための図である。データ再配置技術では、データのアクセス履歴(どういう順番でどのデータがアクセスされたかという履歴)から、データのペア毎に、それらが同時または連続してアクセスされた頻度(関連性情報)が記録される。
 データのペアとは、連続してアクセスされた2つのデータをいう。今アクセスされたデータと直前にアクセスされたデータをペアとし、そのペアが出現した頻度が記録される。
 例えば、図1(A)に示すように、データA,B,C,D,Eについて、A→B→C→A→B→D→E→C→Aの順でデータにアクセスされたとする。この場合のデータのペアとそのアクセス頻度(出現頻度、すなわち関連性情報)は、図1(B)に示すように、A→B(2回)、B→C(1回)、C→A(2回)、B→D(1回)、D→E(1回)、E→C(1回)である。アクセス頻度が高いペアのデータは、関連性が強いと考えられる。
 データ間の関連性をグラフで表すと、データA,B,C,D,Eは、図1(C)に示すような構造になる。
 これらのデータを2つのセグメントに配置しようとすると、図1(D)に示すように、データA、B、Cのグループと、データD、Eのグループに分けられる。このグループに基づいて、データA,B,C,D,Eは、セグメント毎に再配置される。2つのセグメントをまたぐ関連度が小さくなるよう、かつ各セグメントに属するデータ数がほぼ均等になるように分割される。ここで、セグメントとは、関連性が認められるデータの集合であり、ディスクに対する読み書きの最小単位である。
 このように、データのペア間のある一定期間の累積の関連性の強さに基づいて、関連性のあるデータが同一のセグメントに取りまとめられ、データの再配置が行われる。
 上述のデータ再配置技術は、データの書き込み及び読み出しに関連する処理であり、かつ、計算に利用できるメモリ等のリソースも制約されている。このようなことから、継続した処理要求(以下、「リクエスト」と称する)の内容の中の一部の特性(たとえば、上述のデータ再配置技術では、データペアそれぞれが、どれだけ連続してアクセスしてきたかという累積値)を利用する形となっている。
 継続したリクエストの内容の時系列的な特性の傾向(トレンド)が一定であれば、上記のデータ再配置技術によりディスク・メモリ等の利用効率は向上するが、継続したリクエストのトレンドが一定とは限らない。
 上記のデータ再配置技術では、所定期間の特性を、その累積値で管理しているため、その所定期間でのトレンドの変化に対応することができない。そのため、その所定期間にて継続したリクエストのトレンドが変動し、変動後の継続したリクエストのトレンドが変動前のトレンドと大きく変化しても、トレンドの変化に関係なくデータ再配置が行われる。そのため、現時点での継続したリクエストのトレンドに適応したデータ配置処理が行われないため、ディスク・メモリ等の利用効率が却って悪化し、読み出し性能が低下することとなる。
 本発明の一側面では、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置処理を可能とする技術を提供する。
 本発明の一側面に係るデータ管理制御プログラムは、コンピュータに、次の処理を実行させる。コンピュータは、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。コンピュータは、断続的に監視された複数の前記ペアの前記関連度の分布の傾向の経時的変化に基づいて、関連性のある前記データ同士をグループにして配置するデータ配置処理の実行を制御する。
 本発明の一側面によれば、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置処理を可能とする。
データ再配置技術によるデータペア毎の関連度とデータ配置について説明するための図である。 (A)データペアの実際の関連度の変化と、(B)データ再配置技術において保持されるデータ間の関連度の累積値を説明するための図である。 本実施形態におけるデータ管理制御装置の一例を示す。 本実施形態における全体の処理を説明するための図である。 本実施形態における情報処理システムの一例を示す。 本実施形態におけるサーバの一例を示す。 本実施形態におけるデータ・セグメント対応テーブルの一例を示す。 本実施形態における関連性管理テーブルの一例を示す。 本実施形態におけるデータ集合の性質を表す指数について説明するための図である。 本実施形態(実施例1)におけるデータ配置処理を停止し、再開する場合のパターンを説明するための図である。 本実施形態(実施例1)におけるデータ配置処理を制御するフローを示す。 本実施形態(実施例1)における実行フラグに応じたデータ配置処理の実行フローを示す。 本実施形態(実施例2)におけるデータ配置処理を抑制/継続/促進するパターンを説明するための図である。 本実施形態(実施例2)におけるデータ配置処理を制御するフローを示す。 本実施形態(実施例2)における、設定された周期で行われるデータ配置処理の実行フローを示す。
 上述の課題について更に詳述する。
 図2は、(A)データペアの実際の関連度の変化と、(B)データ再配置技術において保持されるデータ間の関連度の累積値を説明するための図である。
 図2(A)では、データペアA-B,B-C,C-Dの時間経過に伴う実際の関連度の変化を示す。図2(A)において、時間0の時点で、データA,B,C,Dは、たまたまデータA,B,Cを含むセグメントと、たまたまデータDを含むセグメントに配置されているとする。ここで、再配置のタイミングが時間Tであるとする。
 時間Tまでに、データペアへのアクセス頻度、すなわちデータ間の関連度が変化し、データA,B間の関連度は低下し、データC,D間の関連度は上昇している。なお、データB,C間の関連度にはほとんど変化はない。
 データペアA,Bと、データペアC-Dとはデータ間の関連性の傾向(トレンド)が変化している。このようにトレンドが変化すると、今まで通りの配置が良いとは限らない。トレンドが変化した場合、再配置処理を一旦止め、傾向をつかむためにしばらく様子を見ることが考えられる。
 図2(B)は、図2(A)のデータペアA-B,B-C,C-Dの時間経過に伴う、データ再配置技術において保持される関連度の累積値を示す。
 上記データ再配置技術では、リソース浪費を防ぐため、時間Tにおける関連度を逐次監視していないため、時間0~T間のデータ間の関連度の変化をウォッチングすることはできない。
 一方、データ再配置技術では、その関連性のデータがアクセスされたアクセス数の累積値が保持されている。しかしながら、図2(B)に示すように、時間0~T間のデータ間の累積値からは、トレンドの変化を捉えることができない。したがって、再配置処理を一旦止めても、関連度の傾向をつかむことができない。
 また、トレンドが変化してもデータ配置制御を継続すると、読み出し性能向上の効果が低いのにコストがかかる処理を行い、かえって読み出し性能が低下することがある。ここで、コストについて説明する。データ再配置によってキャッシュ上のセグメントの内容が変わるため、必ずディスクに書き戻す必要がある。再配置しない場合に比べて、その書き戻しのコストが再配置処理の新たなコストになる。
 データ再配置技術では、以前はあるデータペアの関連度が高かったが、現在は別のデータペアの関連度の方が高くなったというトレンドの変化があった場合に、関連度の累積値に基づいてデータ再配置を行うとする。この場合、現在は存在しない関連度に基づいてデータ配置が決定されることになる。
 しかしながら、この場合、キャッシュヒット率、すなわち読み出し性能が下がってしまう可能性がある。したがって、トレンドの変化に対応せずにデータ再配置を行うと、効果が低いのにコストがかかる処理を行い、かえって読み出し性能が低下することになる。そのため、キャッシュヒット率がある程度以上向上しないと、むしろ再配置した方が読み出し性能が下がる場合がある。
 そこで、連続してリクエストが届くデータ処理システムにおいて、データアクセス効率化のために、以下を行うことが考えられる。まず、データ処理システムは、リクエストの時間的連続性に基づいて、データ配置処理を行う場合、ある期間のリクエスト全体の性質を捉え、その時間推移による変化を観測する。そして、データ処理システムは、データ間の関連度のトレンドの変化を検知し、その変化をデータ配置処理の制御に反映する。
 しかしながら、上記データ処理システムの場合では、データ配置処理が直接トレンドの変化を検知しても、データ配置の決定には、その検知した変化を直接活用することができない。
 そこで、本実施形態では、データ間の関連度のトレンドの変化に応じてデータ配置処理自体を制御する。より具体的には、連続して到着するリクエストの単位時間当たりの分布の時間推移を監視し、その監視結果に基づいてデータ配置処理を制御する。
 図3は、本実施形態におけるデータ管理制御装置の一例を示す。データ管理制御装置1は、監視部2、実行制御部3を含む。
 監視部2は、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を監視する。より具体的には、監視部2は、断続的に監視を行う。監視部2の一例として、後述する関連性抽出部32が挙げられる。
 実行制御部3は、監視された複数のペアの関連度の経時的変化に基づいて、データ配置処理4の実行を制御する。ここで、データ配置処理4は、関連性のあるデータ同士をグループにして配置する処理である。より具体的には、実行制御部3は、関連度の分布の傾向の継時的変化に基づいて、データ配置処理の実行を制御する。実行制御部3の一例として、後述する配置制御部36が挙げられる。
 このように構成することにより、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置処理を可能とする。
 実行制御部3は、単位時間毎に、複数のペアの関連度の分布を取得する。そして、実行制御部3は、連続する単位時間のそれぞれにおいて取得された分布間の変化量が閾値以上である場合、データ配置処理を停止させる。一方、実行制御部3は、その分布間の変化量が閾値より小さい場合、データ配置処理を実行させる。
 このように構成することにより、関連度の傾向の変化に応じて、データの再配置処理を行うことができるので、読み出し性能の劣化につながるデータ配置処理を抑制できる。
 また、実行制御部3は、単位時間毎に、複数のペアの関連度の分布を取得する。そして、実行制御部3は、連続する単位時間のそれぞれにおいて取得された分布間の変化量に応じて、前記データ配置処理の実行周期を変更する。具体的には、実行制御部3は、分布間の変化量が大きいほど、データ配置処理の実行周期を長くする。
 このように構成することにより、関連度の傾向の変化に応じて、データの再配置処理を行うことができるので、性能劣化につながるデータ配置処理を抑制できると共に、性能向上が見込める際にはデータ配置処理を促進することができる。
 以下では、本実施形態について、更に詳述する。
 図4は、本実施形態における全体の処理を説明するための図である。サーバ装置11では、クライアント装置17からのリクエストを受けると、入出力管理処理14によりメモリ15またはディスク16にアクセスされる。
 配置制御処理12は、クライアント17からのリクエストの分布の時間推移を監視する。すなわち、配置制御処理12は、アクセス履歴に基づいて、データペア毎の関連性情報を蓄積する。
 配置制御処理12は、その蓄積した関連性情報に基づいて、データ集合の性質を表す指標(関連度ベクトル)を蓄積する。配置制御処理12は、所定の時間間隔で、その時点の関連度ベクトルの変化の程度に基づいて、データ配置処理13を制御する。
 配置処理13は、リクエスト自体の時間的連続性を監視する。すなわち、配置処理13は、アクセス履歴に基づいて、データペア毎の関連性情報を蓄積する。
 配置処理13は、配置制御処理12による制御に基づいて、所定の時間間隔で、その時点のデータペア毎の関連性情報からデータ配置を決定し、データ再配置処理を実行する。
 以下に、本実施形態の実施例の詳細について説明する。
 図5は、本実施形態における情報処理システムの一例を示す。情報処理システムにおいて、サーバ装置(以下、「サーバ」と称する)21は、通信ネットワーク(以下、「ネットワーク」と称する)26を介して、情報処理装置の一例であるクライアント25と接続されている。クライアント25は、サーバ21にデータの読み込みや書込み等のアクセス要求(以下、「リクエスト」と称する)を行う。
 サーバ21は、制御装置22、メモリ装置(以下、「メモリ」と称する)23、ストレージ装置(ディスク)24を含む。制御装置22は、中央演算処理装置(CPU)等のプロセッサである。
 ストレージ装置24は、例えば、ハードディスクドライブ(HDD)等のディスク装置である。以下では、ストレージ装置24をディスク24と称する。
 メモリ23は、ディスク24に比して高速にアクセス可能な記憶装置である。メモリ23としては、例えば、RAM(Random Access Memory)、フラッシュメモリ等がある。
 サーバ21は、上記の構成に加えて、BIOS(Basic Input/Output System)を格納したROM、プログラムメモリ等を有する。制御装置22が実行するプログラムは、ネットワーク26を介して取得されてもよいし、可搬型メモリやCD-ROM等のコンピュータ読み取り可能な可搬型記録媒体がサーバ21に装着されることにより取得されてもよい。制御装置22が実行するプログラムには、本実施形態で説明する処理を実行するプログラムも含む。
 図6は、本実施形態におけるサーバの一例を示す。上述の通り、サーバ21は、制御装置22、メモリ23、ディスク24を含む。メモリ23は、ディスク24から読み出された複数のセグメントをキャッシングして、一時的に格納する領域(以下、「キャッシュ領域」と称する)41を含む。キャッシュ領域41の容量が不足した場合、Least Recently Used(LRU)方式や、least frequently used(LFU)方式等のアルゴリズムを用いて、キャッシュ領域41からいずれかのセグメントが抽出され、ディスク24に書き戻される。
 メモリ23は、データ・セグメント対応テーブル42、関連性管理テーブル43を保持する。
 データ・セグメント対応テーブル42は、データと、そのデータの配置先となるセグメントとの対応関係を示す情報を格納する。
 関連性管理テーブル43は、所定時間間隔毎の、各データペアへのアクセス回数(アクセス頻度(関連度))、すなわち関連性情報を格納する。
 制御装置22は、本実施形態に係るプログラムを実行することにより、入出力管理部31、関連性抽出部32、再配置決定部33、再配置処理部34、関連度ベクトル算出部35、配置制御部36として機能する。
 入出力管理部31は、クライアント25等の要求元から入力されたリクエストに応じてメモリ23を検索し、メモリ23にリクエストで指定されたデータがなければさらにディスク24を検索し、リクエストで指定されたデータを要求元に送信する。なお、リクエストは、クライアント25が送信するだけでなく、サーバ21において実行されているプロセスその他の主体がリクエストの発行元となる場合もあり得る。また、入出力装置がサーバ21に接続されている場合、ユーザが入出力装置に対してリクエストを入力することも想定される。
 リクエストが入力されると、入出力管理部31は、まずメモリ23からリクエストで指定されたデータを検索する。リクエストで指定されたデータがメモリ23上に存在する場合に、入出力管理部31は、そのデータをメモリ23から読み出して要求元に返信する。
 また、入出力管理部31は、リクエストで指定されたデータがメモリ23上に存在しない場合には、ディスク24からリクエストで指定されたデータを検索する。入出力管理部31は、リクエストで指定されたデータがディスク24上に存在する場合に、データ・セグメント対応テーブル42を用いて、リクエストで指定されたデータの属するセグメントに含まれる全データをディスク24から読み出す。そして、入出力管理部31は、その読み出したセグメントに含まれる全データのうち、リクエストで指定されたデータを要求元に返信する。このとき、入出力管理部31は、その読み出したセグメントに含まれる全データをメモリ23に格納する。
 なお、上記では、入出力管理部31は、ディスク24から読み出したセグメントに含まれる全データをメモリ23へ格納する処理を、リクエストがあったタイミングで行う場合について説明したが、これに限定されない。例えば、入出力管理部31は、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にディスク24から読み出してメモリ23に格納してもよい。
 関連性抽出部32、再配置決定部33、再配置処理部34により、データ配置処理が実現される。データ配置処理は、データアクセス効率化のために、アクセス履歴に基づいて動的にデータをセグメント間で再配置する処理である。
 関連性抽出部32は、リクエストが到着する度に、データペア毎の関連性情報を関連性管理テーブル43に蓄積することにより、所定時間間隔で、データペアへのアクセス頻度に基づくデータ間の関連度を監視する。より具体的には、関連性抽出部32は、所定時間間隔で、アクセスシーケンスから続けてアクセスされたデータペアを抽出し、関連性管理テーブル43において、そのデータペアのアクセス頻度(関連度)に、“+1”を加算する。
 再配置決定部33及び再配置処理部34は、後述するように、データ配置処理を実行するように設定されている間(例えば、後述する実行フラグがONの間)または配置制御部36により制御された周期にて、以下の処理を行う。
 再配置決定部33は、所定の時間間隔で関連度に基づいてデータをグループ化し、グループ(セグメント)毎の配置対象のデータを特定することにより、データの配置を決定する。
 再配置処理部34は、再配置の決定の結果に応じて、セグメントに属するデータの構成に変更があった場合、セグメントに属するデータの再編成を行うデータ再配置処理を行う。すなわち、再配置処理部34は、データ・セグメント対応テーブル42が保持している、データとセグメントの対応情報を更新する。そして、再配置処理部34は、関連性管理テーブル43の内容をクリアする。
 図7は、本実施形態におけるデータ・セグメント対応テーブルの一例を示す。データ・セグメント対応テーブル42には、メモリ23及びディスク24に格納された全データのデータ名(またはキー)と、そのデータ名に対応するセグメント名とが対応付けられて格納されている。
 図8は、本実施形態における関連性管理テーブルの一例を示す。関連性管理テーブル43は、リクエストで指定されたデータ毎に、前回リクエストで指定されたデータを順次関係付けてデータペアとし、所定時間間隔(単位時間あたり)で、各データペアへのアクセス回数(関連性の強さ)、すなわち関連性情報を格納する。
 図8において、各データペアの関連度の分布を見ると、例えば、時間ΔT1,ΔT2において、データペアC-D間の関連度、及びデータペアJ-K間の関連度が強く、データペアB-C間の関連度、及びデータペアK-M間の関連度は弱い。
 しかしながら、時間ΔT3において、データペアC-D間の関連度が弱くなり、データペアK-M間の関連度が強くなっており、関連度の傾向に変化が生じている。
 このように、関連度のトレンドの変化を捉えるためには、単位時間当たりの連続アクセス回数の分布が変化しているかを監視すればよい。その分布の変化を捉えるためには、ある時点での単位時間当たりの連続アクセス回数の分布を、データ集合の性質を表す指標で表現し、その指標の変化を捉えればよい。
 ただし、その指標の変化を捉える場合、(A)データペア間の関連度が全体的に増加/減少したのか、(B)関連度が高いデータペアの関連度に変化が生じたのか、が区別される。前者(A)の場合は、そのままデータ配置処理を継続するのが望ましい。後者(B)の場合は、それまでのデータ配置がよいとは限らず、かつ変化直後の関連度のトレンドが続くかをしばらく観測するのがよい。従って、しばらくデータ配置処理を停止するのが望ましい。そこで、図9を用いて、関連度が高いデータペアの関連度に変化を検出する処理について説明する。
 図9は、本実施形態におけるデータ集合の性質を表す指数について説明するための図である。図9(A)は、時刻とサブ期間Tsとの関係を説明するための図である。T1,T2,T3は、時刻を示す。「Ts」は、時刻T1-T0間、時刻T2-T1間、・・・の時間であり、アクセス頻度を計測するサブ期間である。「Ts」は、データ配置処理機能がデータ再配置を行う周期よりかなり短めに設定されるとする。
 関連性ベクトル算出部35は、データペア毎の関連性情報(一定期間Ts毎のデータペア毎のアクセス回数)から、以下のように、関連性ベクトルを算出する。ここで、関連性情報として、図9(B)を用いて、関連性ベクトルについて説明する。
 まず、関連性ベクトル算出部35は、各サブ期間Tsで関連性情報として蓄積されているデータペアを軸としたn次元空間を定義する。ここで、nは、関連性情報に含まれるデータペア数である。
 関連性ベクトル算出部35は、データペア毎のアクセス回数を各軸x=0-n)の座標として、定義したn次元空間のベクトル(関連度ベクトル)を算出する。例えば、時刻T1でのデータペア毎のアクセス回数が、データペアA-B:7回、B-D:1回、D-A:0回であるとする。この場合、関連度ベクトルは、*T1=(7,1,0)(データペア数が3なので、3次元ベクトルとなる)。ここで、「*」はベクトルを示す。
 関連性ベクトル算出部35は、図9(C)に示すように、その時点の関連度ベクトルと、前回の関連度ベクトルとの差の絶対値を算出し、関連ベクトルの変化量とする。例えば、時刻T1-T2までの関連ベクトルの変化量、時刻T1-T2までの関連ベクトルの変化量はそれぞれ以下のようになる。
   T1-T2の関連ベクトルの変化量=|*T2-*T1|=1.73
   T2-T3の関連ベクトルの変化量=|*T3-*T2|=15.3
 T1-T2の関連ベクトル(トレンド)の変化量は小さく、T2-T3の関連ベクトル(トレンド)の変化量は、大きい。そこで、配置制御部36は、図10で説明するように、関連ベクトル(トレンド)の変化量に応じて、データ配置処理を制御する。
 次に、本実施形態におけるデータ配置処理の制御のバリエーションについて説明する。
 (実施例1)
 実施例1では、関連度の傾向の変化量が閾値以上か否かに応じて、データ配置処理を、動的に、停止させたり、再開させたりする制御を行うことについて説明する。
 図10は、本実施形態(実施例1)におけるデータ配置処理を停止し、再開する場合のパターンを説明するための図である。図10において、縦軸は、関連度ベクトル(トレンド)の変化の絶対値を示す。横軸は、経過時間を示す。期間Tmは、トレンドが安定したかを見定める期間であり、予め決められている。
 時間T10~T11間では、トレンドの変換の絶対値は、閾値より小さい。この場合、各データペア間の関連度の変化が小さいか、データペア間の関連度が全体的に増加/減少した場合に相当するので、配置制御部36は、実行フラグをONにする。実行フラグは、データ配置処理機能を有効にするか否かを判定するためのフラグである。
 時間T11~T12間では、トレンドの変換の絶対値は、閾値以上である。この場合、関連度が高いデータペアの関連度に変化が生じた場合に相当するので、配置制御部36は、実行フラグをOFFにする。
 時間T12~T13間では、トレンドの変換の絶対値は、閾値より小さいが、トレンドの変化の傾向をつかむまで(図10の例では、時間Tmの間)、配置制御部36は、実行フラグをOFFのままにする。トレンドの変換の絶対値が閾値より小さいままで、Tmを経過すると、配置制御部36は、実行フラグをONにする。
 図11は、本実施形態(実施例1)におけるデータ配置処理を制御するフローを示す。図11では、リクエスト到着から実行フラグの更新までの処理について説明する。制御装置12は、本実施形態に係るプログラムを実行することにより、入出力管理部31、関連性抽出部32、関連度ベクトル算出部35、配置制御部36として機能する。
 入出力管理部31は、要求元から入力されたリクエストが指定するデータをメモリ23またはディスク24から読み出して(アクセスして)、要求元に送信する(S11)。このとき、リクエストが指定するデータがメモリ23に存在しない場合、入出力管理部31は、データ・セグメント対応テーブル42を用いて、リクエストが指定するデータが属するセグメントの全データをディスク24から読み出す。そして、入出力管理部31は、読み出したセグメントの全データのうち、リクエストが指定するデータを要求元に送信する。
 関連性抽出部32は、直前にアクセスしたデータと今アクセスしたデータとのペアの関連性情報を関連性管理テーブルに記録する(S12)。ここでは、関連性抽出部32は、図8で説明したように、関連性管理テーブル43のサブ期間Tsの情報を更新する。具体的には、関連性抽出部32は、関連性管理テーブル43に、サブ期間Ts内にて、そのデータペアの関連性情報を記録(アクセス数を+1加算)する。
 サブ期間Tsの間、関連性抽出部32は、S11~S12の処理を繰り返す(S13で「NO」)。これにより、今回のサブ期間での関連性情報が生成される。
 サブ期間Tsの経過後(S13で「YES」)、関連度ベクトル算出部35は、関連性管理テーブル43を参照し、前回のサブ期間で生成された関連性情報が存在するかを判定する(S14)。前回のサブ期間で生成された関連性情報が存在しない場合(S14で「NO」)、処理がS11へ戻る。
 前回のサブ期間で生成された関連性情報が存在する場合(S14で「YES」)、関連度ベクトル算出部35は、図9で説明したように、前回の関連性情報と今回の関連性情報とから、関連度ベクトルの変化量を算出する(S15)。
 配置制御部36は、算出された変化量と閾値とを比較する(S16)。閾値は、サーバ21が有する記憶装置に予め格納されている。S16での比較の結果、算出された変化量が閾値以上である場合(S16で「YES」)、配置制御部36は、実行フラグがONであるか否かを判定する(S17)。
 実行フラグがOFFである場合(S17で「NO」)、処理がS11へ戻る。実行フラグがONである場合(S17で「YES」)、配置制御部36は、実行フラグをOFFにする(S18)。その後、処理がS11へ戻る。
 S16での比較の結果、算出された変化量が閾値以上である場合(S16で「NO」)、配置制御部36は、時間Tmが経過したかを判定する(S19)。時間Tmが経過していない場合(S19で「NO」)、処理がS11へ戻る。
 時間Tmが経過した場合(S19で「YES」)、配置制御部36は、算出された変化量が閾値未満であるか否かを判定する(S20)。算出された変化量が閾値未満である場合(S20で「YES」)、配置制御部36は、実行フラグがOFFで否かを判定する(S21)。実行フラグがOFFである場合(S21で「YES」)、配置制御部36は、実行フラグをONにする(S22)。その後、本フローが終了する。
 算出された変化量が閾値以上である場合(S20で「NO」)、または実行フラグがONである場合(S21で「NO」)、本フローが終了する。
 図12は、本実施形態(実施例1)における実行フラグに応じたデータ配置処理の実行フローを示す。図12のデータ配置処理は、定期的(サブ期間Tsよりかなり長めの時間間隔)で実行される。
 再配置決定部33は、実行フラグがONか否かを判定する(S31)。実行フラグがOFFの場合(S31で「NO」)、本フローは終了する。実行フラグがONの場合(S31で「YES」)、再配置決定部33は、以下で説明するS32~S35の処理を行う。
 まず、再配置決定部33は、関連性情報からデータ配置を決定する(S32)。ここでは、再配置決定部33は、関連性管理テーブル43から、データペア毎に、データ配置の変更が必要か否かを判定するための最終関連度を算出する。
 データペア毎の最終関連度として、例えば、関連性管理テーブル43において直近のサブ期間からいくつかのサブ期間遡ったサブ期間までの関連度の平均(単純移動平均)をもちいてもよい。または、データペア毎の最終関連度として、サブ期間毎の関連度に重み付け(加重移動平均、指数加重移動平均)を行って得られた関連度を用いても良い。サブ期間毎の関連度に重み付けを行って最終関連度を得る一例としては、以下の方法がある。
 サブ期間k(=1~N、N:直近のサブ期間から遡るサブ期間の個数であり、予め設定されている。)の重みは、以下のように決められる。重み付けの一例として指数加重移動平均方式を用いる場合、再配置決定部33は、直近のサブ期間から過去のサブ期間に向かって、重みを指数関数的に減らしていく。例えば、サブ期間kのデータペアX-Y間の関連度をPとすると、再配置決定部33は、データペアX-Y間の最終関連度RELを以下の式を用いて求める。
  RELX-Y=α×(P+(1-α)PN-1+(1-α)PN-2+・・・)
ここで、αは、重みの減少度合いを決める平滑化係数(0~1)であり、予め決められている。
 例えば、図9(B)において、直近のサブ期間=T3、α=0.5の場合、データB-D間の最終関連度RELとして、RELB-D=0.5*(11+0.5*0+0.75*1)=5.875が得られる。
 データペア毎の最終関連性情報を算出後、再配置決定部33は、図1(D)で説明したように、データペア毎の最終関連度情報をグラフ構造化し、そのグラフ構造に基づいて、データのグループ化を行うことにより、セグメント毎に配置するデータを決定する。
 次に、再配置決定部33は、決定されたセグメント毎のデータ配置に基づいて、データ配置の変更、すなわちセグメントの再編成が必要か否かを判定する(S33)。ここでは、S32で決定されたセグメント毎のデータの構成と、データ・セグメント対応テーブル42に登録されているセグメント毎のデータの構成とに変化がある場合、再配置決定部33は、データ配置の変更が必要であると判定する。
 なお、S32において配置を決定した結果、データ・セグメント対応テーブル42において、セグメント毎のデータが既にその決定された配置になっていた場合、再配置決定部24は、再配置が不要と判断する。また、配置を決定する手法によっては、再配置対象のデータがキャッシュ上にある間でないと再配置しないことがある。この場合、対象データがキャッシュ上になければ、再配置決定部33は、再配置は不要と判断する。
 データ配置の変更が必要ない場合、すなわちデータとセグメントの対応付けの変更が不要と判定された場合(S33で「NO」)、再配置決定部33は、後述するS35の処理を行う。
 データ配置の変更が必要ある場合、すなわちデータとセグメントの対応付けの変更が必要と判定された場合(S33で「YES」)、再配置処理部34は、次の処理を行う。すなわち、再配置処理部34は、S32でのセグメントの再構成の結果に基づいて、データとセグメントの対応付けを変更する。再配置処理部24は、その変更したデータとセグメントとの対応関係に基づいて、データ・セグメント対応テーブル42を更新する(S34)。
 その後、再配置処理部34は、関連性管理テーブル43に記録されている関連性情報を削除する(S35)。
 実施例1によれば、関連性の高いデータ同士をグループにして配置するデータ配置処理において、読み出し性能の低減を抑制することができる。すなわち、関連度の傾向の変化に応じて、データの再配置処理を行うことができるので、読み出し性能の劣化につながるデータ配置処理を抑制できる。
 (実施例2)
 実施例2では、関連度の傾向の変化量の程度に応じて、データ配置処理を実行する周期を動的に変更する制御を行うことについて説明する。
 図13は、本実施形態(実施例2)におけるデータ配置処理を抑制/継続/促進するパターンを説明するための図である。図13において、縦軸は、関連度ベクトル(トレンド)の変化の絶対値を示す。横軸は、経過時間を示す。ここで、閾値1>閾値2とする。
 時間T20~T21間では、トレンドの変換の絶対値は、閾値2以上で閾値1未満である。この場合、関連度が比較的高いデータペアの関連度に変化が生じた場合に相当するので、配置制御部36は、データ配置処理周期を、例えば10秒に設定する。
 時間T21~T22間では、トレンドの変換の絶対値は、閾値2未満である。この場合、各データペア間の関連度の変化が小さいか、データペア間の関連度が全体的に増加/減少した場合に相当するので、配置制御部36は、データ配置処理周期を、例えば1秒に設定する。
 時間T22~T23間では、トレンドの変換の絶対値は、閾値2以上で閾値1未満である。この場合、関連度が比較的高いデータペアの関連度に変化が生じた場合に相当するので、配置制御部36は、データ配置処理周期を、例えば10秒に設定する。
 時間T23以降では、トレンドの変換の絶対値は、閾値1以上である。この場合、関連度がかなり高いデータペアの関連度に変化が生じた場合に相当するので、配置制御部36は、データ配置処理周期を、例えば1分に設定する。
 なお、周期の設定時間の10秒及び1分は一例であり、この時間に制限されない。
 図14は、本実施形態(実施例2)におけるデータ配置処理を制御するフローを示す。図14では、リクエスト到着から実行フラグの更新までの処理について説明する。制御装置12は、本実施形態に係るプログラムを実行することにより、入出力管理部31、関連性抽出部32、関連度ベクトル算出部35、配置制御部36として機能する。
 S11~S15の処理は、図11の処理と同じであるので、その説明を省略する。
 配置制御部36は、S15で算出された変化量と閾値1、及び/または閾値2とを比較する(S41)。閾値1及び閾値2は、サーバ21が有する記憶装置に予め格納されている。
 S41での比較の結果、算出された変化量の値が閾値1より大きい場合、配置制御部36は、データ配置処理の実行周期を最大値Pmaxに設定する(S42)。
 S41での比較の結果、算出された変化量の値が閾値2より大きく、閾値1以下である場合、配置制御部36は、データ配置処理の実行周期を中間値Pmidに設定する(S43)。
 S41での比較の結果、算出された変化量の値が閾値2以下である場合、配置制御部36は、データ配置処理の実行周期を中間値Pminに設定する(S44)。
 なお、Pmax、Pmid、Pminは、サーバ21が有する記憶装置に予め格納されている。
 図15は、本実施形態(実施例2)における、設定された周期で行われるデータ配置処理の実行フローを示す。図15のデータ配置処理は、定期的、すなわち、図14のS32~S34のいずれかで設定されたデータ配置処理の実行周期(Pmax、Pmid、Pmin毎)に、図12のS32~S35の処理が実行される。
 なお、実施例2では、関連度の傾向の変化に応じてデータ配置処理の実行周期を変更したが、これに限定されず、例えば、配置決定手法によっては一度に再配置するデータ数を変えてもよい。
 実施例2によれば、関連度の傾向の変化に応じて、データの再配置処理を行うことができるので、性能劣化につながるデータ配置処理を抑制できると共に、性能向上が見込める際にはデータ配置処理を促進することができる。
 以上より、本実施形態によれば、データ配置処理側では検知できない関連度の傾向(トレンド)の変化を捉え、データ配置処理自体を制御できる。また、ほぼリアルタイムにトレンドの変化を捉えることで、性能劣化につながる余計なデータ配置処理を抑制できる。または、性能向上が見込める際にはデータ配置処理を促進することも出来る。
 また、データペアごとの関連度を、データペアを軸とするn次元空間のベクトルとして表現することで、全体的に関連度が増加/減少したのか、関連度の強いデータペアが変わったのか、区別できる。
 また、データ集合の性質としての変化を見るだけなので、データ配置処理の手法に依っては、少ない情報量でトレンドの変化を検知することができる。
 なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
 1   データ管理制御装置
 2   監視部
 3   実行制御部
 4   データ配置処理
 11  サーバ
 12  配置制御処理
 13  データ配置処理
 14  入出力管理処理
 15  メモリ
 16  ディスク
 17  クライアント
 21  サーバ
 22  制御装置
 23  メモリ
 24  ディスク
 25  クライアント
 26  ネットワーク
 31  入出力管理部
 32  関連性抽出部
 33  再配置決定部
 34  再配置処理部
 35  関連度ベクトル算出部
 36  配置制御部
 41  キャッシュ領域
 42  データ・セグメント対応テーブル
 42  関連性管理テーブル

Claims (8)

  1.  コンピュータに、
     複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を監視し、
     監視された複数の前記ペアの前記関連度の経時的変化に基づいて、関連性のある前記データ同士をグループにして配置するデータ配置処理の実行を制御する
     処理を実行させるデータ管理制御プログラム。
  2.  前記監視は、断続的に行われる
     ことを特徴とする請求項1記載のデータ管理制御プログラム。
  3.  前記制御は、前記関連度の分布の傾向の継時的変化に基づいて、前記データ配置処理の実行を制御する
     ことを特徴とする請求項1または2に記載のデータ管理制御プログラム。
  4.  前記制御において、
     単位時間毎に、前記複数のペアの関連度の分布を取得し、連続する単位時間のそれぞれにおいて取得された前記分布間の変化量が閾値以上である場合、前記データ配置処理を停止させ、前記分布間の変化量が前記閾値より小さい場合、前記データ配置処理を実行させる
     ことを特徴とする請求項1~3のうちいずれか1項に記載のデータ管理制御プログラム。
  5.  前記制御において、
     単位時間毎に、前記複数のペアの関連度の分布を取得し、連続する単位時間のそれぞれにおいて取得された前記分布間の変化量に応じて、前記データ配置処理の実行周期を変更する
     ことを特徴とする請求項1~3のうちいずれか1項に記載のデータ管理制御プログラム。
  6.  前記制御において、
     前記分布間の変化量が大きいほど、前記データ配置処理の実行周期を長くする
     ことを特徴とする請求項3に記載のデータ管理制御プログラム。
  7.  複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を監視する監視部と、
     監視された複数の前記ペアの前記関連度の経時的変化に基づいて、関連性のある前記データ同士をグループにして配置するデータ配置処理の実行を制御する実行制御部と、
     を備えることを特徴とするデータ管理制御装置。
  8.  コンピュータが、
     複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を監視し、
     監視された複数の前記ペアの前記関連度の経時的変化に基づいて、関連性のある前記データ同士をグループにして配置するデータ配置処理の実行を制御する
     ことを特徴とするデータ管理制御方法。
PCT/JP2015/057598 2015-03-13 2015-03-13 データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法 WO2016147279A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/057598 WO2016147279A1 (ja) 2015-03-13 2015-03-13 データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/057598 WO2016147279A1 (ja) 2015-03-13 2015-03-13 データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法

Publications (1)

Publication Number Publication Date
WO2016147279A1 true WO2016147279A1 (ja) 2016-09-22

Family

ID=56918862

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/057598 WO2016147279A1 (ja) 2015-03-13 2015-03-13 データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法

Country Status (1)

Country Link
WO (1) WO2016147279A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815372A (zh) * 2019-01-24 2019-05-28 杭州嘉楠耘智信息科技有限公司 Scrypt算法工作量证明方法及装置
WO2021054244A1 (ja) * 2019-09-20 2021-03-25 富士フイルム株式会社 記録装置、記録方法、記録プログラム、及び磁気テープ

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887432A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記録再生装置のデータ配置方法
JPH08263335A (ja) * 1995-03-20 1996-10-11 Toshiba Corp データ記憶装置
JPH08286838A (ja) * 1995-04-18 1996-11-01 Fuji Xerox Co Ltd 記憶制御装置
WO2007049330A1 (ja) * 2005-10-24 2007-05-03 Tri-Crescendo Inc. ファイルのディスクメディア上の配置を定める方法、システム、及び配置デ-タを生産する方法
WO2014174653A1 (ja) * 2013-04-26 2014-10-30 株式会社日立製作所 ストレージシステム
JP2015036865A (ja) * 2013-08-12 2015-02-23 富士通株式会社 データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887432A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記録再生装置のデータ配置方法
JPH08263335A (ja) * 1995-03-20 1996-10-11 Toshiba Corp データ記憶装置
JPH08286838A (ja) * 1995-04-18 1996-11-01 Fuji Xerox Co Ltd 記憶制御装置
WO2007049330A1 (ja) * 2005-10-24 2007-05-03 Tri-Crescendo Inc. ファイルのディスクメディア上の配置を定める方法、システム、及び配置デ-タを生産する方法
WO2014174653A1 (ja) * 2013-04-26 2014-10-30 株式会社日立製作所 ストレージシステム
JP2015036865A (ja) * 2013-08-12 2015-02-23 富士通株式会社 データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815372A (zh) * 2019-01-24 2019-05-28 杭州嘉楠耘智信息科技有限公司 Scrypt算法工作量证明方法及装置
WO2021054244A1 (ja) * 2019-09-20 2021-03-25 富士フイルム株式会社 記録装置、記録方法、記録プログラム、及び磁気テープ
JPWO2021054244A1 (ja) * 2019-09-20 2021-03-25
CN114521249A (zh) * 2019-09-20 2022-05-20 富士胶片株式会社 记录装置、记录方法、记录程序及磁带
JP7321279B2 (ja) 2019-09-20 2023-08-04 富士フイルム株式会社 記録装置、記録方法、記録プログラム、及び磁気テープ

Similar Documents

Publication Publication Date Title
US9471497B2 (en) Methods for combining access history and sequentiality for intelligent prefetching and devices thereof
US9501420B2 (en) Cache optimization technique for large working data sets
US9477607B2 (en) Adaptive record caching for solid state disks
CN103092526B (zh) 在存储设备间进行数据迁移的方法和装置
CN108139872B (zh) 一种缓存管理方法、缓存控制器以及计算机系统
US9471495B2 (en) Method and apparatus for constructing memory access model
EP3252609A1 (en) Cache data determination method and device
US10061517B2 (en) Apparatus and method for data arrangement
CN111143158B (zh) 一种监控数据实时存储方法、系统、电子设备及存储介质
JPWO2005017736A1 (ja) ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム
CN110226158A (zh) 一种数据预取方法、装置和存储设备
JP2014229144A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
WO2016147279A1 (ja) データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法
US11567938B1 (en) Intelligent query plan cache size management
RU2672726C1 (ru) Способ выполнения упреждающего чтения в системах хранения данных
JP6394231B2 (ja) データ配置制御プログラム、データ配置制御装置およびデータ配置制御方法
Ou et al. A penalty aware memory allocation scheme for key-value cache
CN113672652A (zh) 一种数据访问方法、装置、设备及存储介质
WO2016157417A1 (ja) データ配置プログラム、データ配置装置、及びデータ配置方法
US20170097899A1 (en) Non-transitory computer-readable storage medium, data management device, and data management method
US11977488B2 (en) Cache prefetching method and system based on K-Truss graph for storage system, and medium
JP2011159106A (ja) データベースシステム
JP2016162247A (ja) データ管理プログラム、データ管理装置、及びデータ管理方法
Saud Survey Inter-Reference Recency Based Page Replacement Policies to Cope with Weak Locality Workloads
CN115185861A (zh) 一种数据访问方法、装置及计算机设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15885377

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15885377

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP