WO2011132357A1 - Data processing method, data processing device, and data processing program - Google Patents
Data processing method, data processing device, and data processing program Download PDFInfo
- Publication number
- WO2011132357A1 WO2011132357A1 PCT/JP2011/001143 JP2011001143W WO2011132357A1 WO 2011132357 A1 WO2011132357 A1 WO 2011132357A1 JP 2011001143 W JP2011001143 W JP 2011001143W WO 2011132357 A1 WO2011132357 A1 WO 2011132357A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input
- prewrite
- output buffer
- buffer
- management unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Definitions
- the present invention relates to a data processing method, a data processing apparatus, and a data processing program for a system having a buffer management component.
- DBMS database management system
- the data is temporarily stored in units called pages in order to compensate for differences in processing speed and transfer speed and to speed up processing.
- the replacement processing refers to a case where pages on the buffer pool are written to the secondary storage device or the like and necessary data is read from the secondary storage device in units of pages, and writing from the buffer pool is not performed.
- both processing for reading necessary data from the secondary storage device in units of pages are included.
- LRU Least Recently Used
- GCLOCK Generalized CLOCK
- a page to be replaced on the buffer pool is searched.
- the page to be replaced is determined, it is determined whether or not the page has been updated since it was read into the buffer pool. If there is an update as a result of the determination, a writing process for writing a page to be replaced is performed on a storage device other than the main memory such as a secondary storage device.
- a read process for reading necessary data from the storage device that has performed the write process into the buffer pool in units of pages is performed. That is, in the replacement process, when the writing process occurs, the access response to the data required for the process becomes longer by the writing process compared to the case where the writing process does not occur.
- Patent Document 2 discloses a technique for writing a page (hereinafter referred to as “dirty page”) that needs to be written when replacing a page asynchronously with the buffer management mechanism.
- dirty page a page that needs to be written when replacing a page asynchronously with the buffer management mechanism.
- all dirty pages are written asynchronously with the buffer management mechanism.
- Such a process of writing out a dirty page in advance and asynchronously is called a prewrite process.
- the page update and the page write process before the buffer management mechanism sets a specific page on the buffer pool as a replacement target. May be repeated.
- the prewrite process effective for the specific page is only the prewrite process executed immediately before the page becomes the replacement target, and the write process generated in the prewrite process executed before that page is
- the number of pages to be written in one prewrite process is appropriately managed, and only the pages that are to be replaced by the buffer management mechanism immediately after execution of the prewrite process are prewritten.
- a method to be processed can be considered.
- a method for selecting a page to be replaced differs for each algorithm for allocating resources on the buffer. Therefore, in order to realize the solution, a different prewrite processing method is required for each algorithm.
- the pages stored in the buffer pool are managed as a circular list with a fixed order.
- CLOCKHAND that points to the page while sequentially tracing the pages on the circular list. The search is made for pages that can be replaced on the circulation list.
- the page management process occurs in the buffer management mechanism. Will be.
- FIG. 15 shows an example in which page write processing occurs by the buffer management mechanism.
- 15 (a) and 15 (b) are diagrams showing examples of the same circulation list, and FIG. 15 (b) shows the state of the circulation list after N hours have elapsed from FIG. 15 (a).
- the CLOCKHAND 1500 points to the page 1501, and it is assumed that the prewrite process is executed for the page group (pages within the dotted line) from the page 1503 to the page 1504.
- the page group to be prewritten includes a page that needs to be written, so the corresponding page is written.
- the pages that need to be written out include pages 1503 and 1504 that can be replaced. That is, before the CLOCKHAND 1500 indicates, the prewrite processing of the pages 1503 and 1504 in which the updated data is stored is executed.
- FIG. 16A, FIG. 16B, FIG. 16C, and FIG. 16D are diagrams showing examples of the same circulation list, and FIG. FIG. 16 (c) shows the state of the circulation list after a lapse of time, FIG. 16 (c) shows the state of the circulation list after a lapse of M ⁇ N time from FIG. 16 (b), and FIG. FIG. 16C shows the state of the circulation list after N hours have passed.
- CLOCKHAND 1500 points to page 1501, and it is assumed that prewrite processing is executed for the page group from page 1501 to page 1504 on the circulation list.
- the write process of page 1502, page 1503, and page 1504, which requires a write process and can be a page replacement target, is executed.
- the amount of pages to be subjected to prewrite processing is small (appropriate amount) only for pages located near the page indicated by CLOCKHAND, so the prewrite processing does not need to be constantly operated. . In other words, after executing the prewrite process, it is possible to pause for a certain period and execute the subsequent prewrite process.
- the replacement process refers to the page before the pre-write process and results in the replacement process. Writing process is required.
- FIG. 17 shows an example in which the writing process is required in the replacement process because CLOCKHAND passes through the prewrite target page before the prewrite process is executed.
- 17 (a), 17 (b), and 17 (c) are diagrams showing examples of the same circulation list.
- FIG. 17 (b) shows the circulation list after N hours have elapsed from FIG. 17 (a).
- FIG. 17 (c) shows the state of the circulation list when M ⁇ N hours have passed since FIG. 17 (b).
- the CLOCKHAND 1500 points to the page 1501 and executes prewrite processing for the page group from the page positioned next to the page 1501 to the page 1502 on the circulation list. And At this time, in the prewrite process, a page 1502 writing process that requires a writing process and can be a page replacement target is executed.
- the prewrite process is not executed during the lapse of M ⁇ N time from the time point of FIG. 17B to the time point of FIG. 17C, and the CLOCKHAND 1500 is shown in FIG.
- the processing range of the prewrite processing executed at the time of 17 (a) is exceeded, when the CLOCKHAND 1500 points to the page 1503 at the time of FIG. 17 (c), the page 1503 is replaced in the buffer management mechanism replacement processing.
- the writing process is executed.
- FIG. 18 shows an example in which a writing process is required.
- 18 (a), 18 (b), 18 (b '), 18 (c), and 18 (d) are diagrams showing examples of the same circulation list
- FIG. 18 (b) is a diagram.
- 18 (a) shows the state of the circulation list after N hours have elapsed
- FIG. 18 (b ′) shows the state of the circulation list after L ⁇ N hours have passed since FIG. 18 (b).
- FIG. 18 (c) shows the state of the circulation list after (M ⁇ L) ⁇ N hours have passed since FIG. 18 (b ′)
- FIG. 18 (d) shows more N than FIG. 18 (c). It shows the status of the circular list after a lapse of time.
- the CLOCKHAND 1500 points to the page 1501, and the prewrite process is executed for the page group from the page positioned next to the page 1501 to the page 1502 on the circulation list. To do.
- a page 1502 writing process that requires a writing process and can be a page replacement target is executed.
- the page 1502 write process is executed. Therefore, when the CLOCKHAND 1500 points to the page 1502 at the time of FIG. 18B, the buffer management mechanism replacement process executes the page 1502 write process. None happen.
- the prewrite process is continuously executed during N hours from the time point of FIG. 18 (a) to the time point of FIG. 18 (b), and at the time point of FIG. 18 (b).
- the prewrite process is executed for the page group from page 1503 to page 1504.
- the present invention has been made in view of the above-described problems of the prior art, and an object of the present invention is to appropriately control prewrite processing in accordance with the movement of CLOCKHAND that sequentially refers to a plurality of input / output buffers.
- a data processing method, a data processing apparatus, and a data processing program are provided.
- the present invention provides a main storage device having a plurality of input / output buffers for temporarily storing data, a secondary storage device for storing the data, and a temporary storage in the input / output buffer.
- a buffer management unit that manages replacement processing of data to be stored and data stored in the secondary storage device, and prewrite processing that performs pre-writing before the data stored in the input / output buffer is written in the buffer management unit
- a data processing method for a computer having a prewrite management unit that manages the data, and when the buffer management unit performs the replacement process, the replacement target of the data while referring to the input / output buffer in order The input / output buffer to be selected, and the buffer management unit performs data replacement for the input / output buffer per predetermined time.
- the prewrite management Section detects the execution timing of the prewrite process, the position information of the input / output buffer that performed the previous prewrite process, the position information of the input / output buffer currently referred to by the buffer management section, A step of selecting an input / output buffer to be subjected to the current prewrite process, and when the prewrite management unit has update data in an input / output buffer that is a candidate for the prewrite process.
- the step of writing the data stored in the input / output buffer, and the pre-write management unit performs the next pre-write based on the reference speed. And determining the processing execution timing of the processing, the.
- the present invention it is possible to appropriately control the prewrite processing in accordance with the movement of referring to a plurality of input / output buffers, and it is possible to improve the system throughput.
- FIG. 10 is a diagram illustrating an example of a prewrite process in which a page writing process occurs in buffer management.
- FIG. 10 is a diagram illustrating an example of a prewrite process in which a page writing process occurs in buffer management.
- FIG. 10 is a diagram illustrating an example of a prewrite process in which a page writing process occurs in buffer management.
- FIG. 10 is a diagram illustrating an example of a prewrite process in which a page writing process occurs in buffer management.
- FIG. 1 is an overall configuration diagram of a computer system to which the present invention is applied.
- a database management system 120 in which the prewrite unit 100 is incorporated is constructed in the data management server 101.
- the data management server 101 includes a CPU (Central Processing Unit) 102 that executes each process described later, a main storage device 103 such as a RAM (Random Access Memory), a secondary storage device 104 such as a hard disk drive, This is realized by a configuration in which “NI” (Network Interface)) 123 is connected via the bus 108.
- NI Network Interface
- terminal devices 126 are connected to the data management server 101 as an access request source for data to be managed.
- the database management system 120 is stored on the main storage device 103, and includes a data processing unit 129, a prewrite unit 100, and a buffer pool 106.
- the CPU 102 causes the data processing unit 129 and the prewrite unit 100 to execute processing as a controller. That is, when the CPU 102 starts a program constituting the database management system 120, the data processing unit 129, the data processing unit 129, the prewrite unit 100, and the buffer management unit 110 are configured on the database management system 120. Become.
- the buffer pool 106 is a data area for temporarily storing data stored in the secondary storage device 104 in units of pages, and is configured as a storage area for a plurality of input / output buffers.
- the buffer pool 106 stores a circulation list 130 of a page set 109 including a page 105, a reference counter 121 corresponding to the page 105, and a dirty flag 107. At this time, each page set 109 is stored in the buffer pool 106 corresponding to each input / output buffer.
- the data processing unit 129 includes an SQL analysis unit 127, a database operation unit 128, and a buffer management unit 110.
- the buffer management unit 110 includes a GCLOCK page replacement unit 122 and a replacement execution number acquisition unit 124. As statistical information referred to by the prewrite unit 100, the CLOCKHAND position information 116, the CLOCKHAND movement information 119, and the buffer management per unit time. Each has a replacement execution number table 125 for managing the number of occurrences of the generated replacement process.
- the buffer management unit 110 selects, for example, a buffer management for selecting an input / output buffer to be replaced for replacing the data with the data of the secondary storage device 104 from among a plurality of input / output buffers.
- the input / output buffer (page set 109) to be replaced is found while selecting the input / output buffer (page set 109) to be replaced. Is counted as the number of replacement executions.
- the buffer management unit 110 sequentially refers to information (page 105, reference counter 121, and dirty flag 107) stored in a plurality of input / output buffers, and counts permutations counted with the information of the referenced input / output buffer.
- the speed (CLOCKHAND speed) for referring to information stored in a plurality of input / output buffers is calculated based on the number of executions.
- the database management system 120 receives SQL, which is a database inquiry request from the terminal device 126, and is requested by the SQL analysis unit 127 through syntax analysis processing, semantic analysis processing, and optimization processing for determining an optimal access path for database access.
- the database operation unit 128 executes database operation such as join in response to the SQL request, and issues a necessary data acquisition request to the buffer management unit 110.
- the buffer management unit 110 increments the reference counter 121 corresponding to the page set 109 to which the data belongs, and exists in the buffer pool 106. Data returned to the access requester.
- the buffer management unit 110 reads the requested data from the secondary storage device 104 and stores the requested data in the buffer pool 106.
- the data stored in the page set 109 is returned to the access request source.
- the GCLOCK page replacement unit 122 selects the page set 109 to be replaced from the page sets 109 existing on the buffer pool 106, and 2 The requested data is read from the next storage device 104, the read data is stored in the page set 109 to be replaced, and the read data is returned to the access request source. Then, “1” is set in the reference counter 121 corresponding to the page set 109 to be replaced, and the dirty flag 107 is reset on the assumption that there is no data difference with the secondary storage device 104.
- the reference counter 121 corresponding to the page set 109 pointed to by a pointer called CLOCKHAND managed by the buffer management unit 110 is referred to and the value of the reference counter is set in advance. If it is equal to or less than a certain threshold, this page set 109 is set as a replacement target. For example, when the threshold value is “0” and the value of the reference counter corresponding to the page set 109 pointed to by the pointer called CLOCKHAND is “0” or less, this page set 109 is set as a replacement target.
- the reference counter 121 corresponding to the page set 109 exceeds a preset threshold value (for example, “0”), the reference counter 121 corresponding to the page set 109 is decremented, and the CLOCKHAND The page set 109 positioned next to the page set 109 on the circulation list 130 is pointed to. Thereafter, the same processing is sequentially repeated until an appropriate page set 109 is selected as a replacement target.
- a preset threshold value for example, “0”
- the buffer management unit 110 is configured to write out stored data to the secondary storage device 104 when the corresponding dirty flag 107 is set for the page set 109 to be replaced.
- the prewrite unit of the first embodiment performs a prewrite process in which the above-described dirty data is written to the secondary storage device 104 before the buffer management unit 110 writes the data stored in the page set 109. It is designed to execute and manage.
- the prewrite unit 100 includes a start position determination unit 111, a target number determination unit 112, a prewrite actual processing unit 113, a start opportunity determination unit 114, and a standby unit 115, and is independent of the data processing unit 129 and in parallel. It is configured to work.
- the prewrite unit 100 has a predetermined set of pages 105 in the page pool 109 stored in the buffer pool 106 before the buffer management unit 110 writes the page 105 to the secondary storage device 104. Export based on conditions.
- the prewrite unit 100 When there is updated data (page 105) in the page set 109 that may be selected as a replacement target by the buffer management unit 110, the prewrite unit 100 includes CLOCKHAND position information 116, CLOCKHAND movement information 119, and With reference to the replacement execution number table 125, a page that needs to be written to the secondary storage device 104 is selected from the page set 109 including the updated data (page 105), and the writing process is executed.
- the prewrite unit 100 is activated by an activation request from the database management system 120. At this time, the prewrite unit 100 repeats the processing executed from the start position determination unit 111 to the standby unit 115 until a stop request is received from the database management system 120.
- the prelight unit 100 first activates the start position determination unit 111.
- the start position determination unit 111 determines the page set 109 for starting the prewrite actual processing executed by the prewrite actual processing unit 113 from the circulation list 130 in the buffer pool 106.
- the prelight unit 100 activates the target number determination unit 112.
- the target number determination unit 112 determines the number of page sets 109 corresponding to a predetermined number to be processed in the prewrite actual processing executed by the prewrite actual processing unit 113. Thereafter, the prewrite unit 100 activates the prewrite actual processing unit 113.
- the prewrite actual processing unit 113 needs to perform the writing process on the predetermined number of page sets 109 determined by the target number determination unit 112 in order from the page set 109 determined by the start position determination unit 111 by the start position determination unit 111. It is determined whether or not there is.
- the prewrite actual processing unit 113 writes the data of the page 105 belonging to the page set 109 determined to need the writing process to the secondary storage device 104.
- the prelight unit 100 activates the start opportunity determination unit 114.
- the start opportunity determination unit 114 determines the time to wait in the standby unit 115.
- the prewrite unit 100 activates the standby unit 115 and executes the standby process according to the standby time determined by the start opportunity determination unit 114.
- FIG. 2 is a flowchart showing the processing contents of the start position determination unit 111.
- FIG. 3 shows an example of the circulation list 130 of the page set 109 stored in the buffer pool 106 shown in FIG. 1, and is a schematic diagram showing the relationship between the CLOCKHAND position information 116 and the circulation list. Note that the page set 109 includes a page 105 and a reference counter 121 and a dirty flag 107 corresponding to the page 105.
- the CLOCKHAND position information 116 is statistical information indicating the position of the page set 109 pointed to by CLOCKHAND.
- the page set 302 is included in the CLOCKHAND position information 116. It is assumed that it is set.
- the page set which is the best process start position of the prewrite actual process is determined by the CLOCKHAND traveling direction as viewed from the CLCOKHAND position information 116 at the start of the prewrite actual process. Further, it is assumed that the page set is positioned first by the specified value m. When the difference between the page set as the processing start position of the prewrite actual processing and the CLCOKHAND position information 116 is less than the specified value m or more than the specified value n + m, the prewrite processing cannot be normally continued. It shall be determined.
- the specified values n and m are natural numbers (including 0), and both are set in advance by the database management system 120 or the prewrite unit 100 or as initial values.
- the start position determination unit 111 first acquires the CLOCKHAND position information 116 possessed by the buffer management unit 110 in step 200.
- step 201 the difference d between the CLOCKHAND position information and the page set for which the previous pre-write actual processing has been completed is calculated. If the difference d is less than the prescribed value m, in step 202, the page set as the processing start position of the immediately following prewrite actual process is set to a position advanced by the prescribed value m from the CLOCKHAND position information 116, and the starting position is set. The process of the determination part 111 is complete
- the start position determination unit 111 next determines whether or not the difference d is greater than or equal to the specified value n + m in step 203. That is, it is determined whether CLOCKHAND is more than a certain distance away from the page set for which the previous prewrite actual processing has been completed.
- step 202 the page set that is the processing start position of the current prewrite actual process is advanced from the CLOCKHAND position information 116 by the specified value m.
- the setting of the start position determination unit 111 is completed.
- the start position determining unit 111 determines the processing start position of the current prewrite actual process in step 204 as the previous prewrite actual process. Set to the page set next to the page set that has been processed, and CLOCKHAND is not too far away from the page set for which the previous prewrite actual processing has been completed, and the processing of the start position determination unit 111 is terminated. To do.
- the specified value m is set to 2
- the specified value n + m is set to 5
- the page set for which the previous prewrite actual processing is completed is set as the page set 306.
- the prescribed value m is a preset value used when determining the page set that is the best processing start position of the prewrite actual processing.
- N + m is a preset value used when determining whether or not the prewrite process can be continued normally.
- the difference d (“4”) is not less than the specified value m (“2”) and less than the specified value n + m (“5”). It is determined that the prewrite process can be normally continued even for the page set next to the page set for which the actual prewrite process has been completed. As a result, the page set as the processing start position of the immediately following prewrite actual process is set to the page set 307 next to the page set 306 for which the immediately preceding prewrite actual process has been completed. The above is the processing content of the start position determination unit 111.
- FIG. 5 is a conceptual diagram showing an example of the replacement execution number table 125.
- the replacement execution frequency table 125 is composed of i page replacement occurrence counts 500 and corresponding item numbers 502 and average page replacement occurrence counts 501 that are average values of i page replacement occurrence counts 500.
- the page replacement occurrence count 500 is the number of times the replacement processing of the page 105 is executed in the GCLOCK page replacement section 122 during the unit time t.
- FIG. 6 is a diagram showing the processing contents of the replacement execution number acquisition unit 124.
- the replacement execution number acquisition unit 124 is activated as needed from the buffer management unit 110 every time a unit time t (for example, 1 second) elapses.
- the replacement execution number acquisition unit 124 acquires the number of page replacement occurrences possessed by the GCLOCK page replacement unit 122.
- the number of page replacement occurrences is a value incremented every time the page replacement process is executed in the GCLOCK page replacement unit 122.
- step 601 the replacement execution number acquisition unit 124 sets 0 to the number of page replacement occurrences in order to measure the number of page replacement occurrences per unit time.
- the replacement execution frequency acquisition unit 124 registers the page replacement occurrence frequency acquired in step 600 in the page replacement occurrence frequency 500 corresponding to the item number a in the replacement execution frequency table 125.
- the item number a is a value managed by the replacement execution number acquisition unit 124 and is initialized to 1 when the buffer management unit 110 is activated.
- step 603 the replacement execution frequency acquisition unit 124 calculates an average page replacement frequency 501 based on the page replacement frequency of items number 1 to i registered in the replacement frequency table 125.
- the replacement execution number acquisition unit 124 increments item number a in step 604. At this time, if the value of a is i, 0 is set to a to return to the original value.
- the specified value L is a value set in advance in the prewrite unit 100 in order to determine whether or not to change the number of prewrite processing targets from the specified value.
- the number of processing targets for the default pre-write actual processing is the number of page sets that are located in front of the CLOCKHAND in the traveling direction as viewed from the processing start position set by the start position determination unit 111 and are to be replaced in the buffer management unit. That is.
- step 401 the target number determination unit 112 determines the number of occurrences of the replacement process from the time point when the previous prewrite actual process is started to the start of the current process start position determination process based on the replacement execution number table 125. 500 is obtained, and the average replacement processing occurrence count y during that period is calculated.
- the average page replacement process occurrence count x is a value calculated as the average replacement execution count from the past to the end of the current prewrite process start position determination process from the previous start time of the prewrite process.
- the target number determination unit 112 acquires the processing target number of the predetermined prewrite actual process, and when the subtraction result z is ⁇ L ⁇ z ⁇ L, in step 403, the immediately following prewrite actual process is performed.
- the number of processing targets of the page set 109 to be processed is set to the same number as the number of processing targets of the default prewrite actual processing.
- the target number determination unit 112 processes the default prewrite actual process as the process target number of the page set to be processed in the current prewrite actual process. Set the result of adding f (z) from the number of objects.
- the target number determination unit 112 processes the default prewrite actual process as the process target number of the page set 109 processed in the current prewrite actual process. Set the result of subtracting f (z) to the target number. The above is the processing content of the target number determination unit 112.
- FIG. 7 is a diagram illustrating the processing contents of the prewrite actual processing unit 113.
- the processing content of the prewrite actual processing unit 113 in the first embodiment will be described with reference to the flowchart of FIG.
- step 700 the prewrite actual processing unit 113 sets the page set 109 at the processing start position set in the start position determination unit 111 as a processing target.
- the prewrite actual processing unit 113 sets 0 to the processed page counter managed by the prewrite actual processing unit 113 and initializes it.
- the processed page counter counts up when the page set that is the processing target is the replacement target in the buffer management because the prewrite actual processing is performed by the processing target number determined by the target number determination unit 112. It is managed by the prewrite actual processing unit 113.
- step 702 the processing from step 703 to step 708 is repeated until the count value of the processed page counter becomes equal to or greater than the number of processing targets set by the target number determination unit 112.
- step 703 it is determined whether or not the page set 109 to be processed is a replacement target in the buffer management. For example, it is determined whether or not the count value of the reference counter 121 is 0 (threshold) or less.
- step 703 for example, when the count value of the reference counter 121 is 0 (threshold) or less and the page set 109 to be processed is a replacement target (step 703: YES), the processing is completed in step 704. Count up the page counter.
- the prewrite actual processing unit 113 determines in step 705 whether or not the dirty flag 107 corresponding to the page set 109 is set. That is, it is determined whether or not updated data exists in the page set 109.
- step 706 the page set 109 to be processed is registered in the write list managed by the prewrite actual processing unit 113.
- step 707 regardless of the determination results in steps 703 and 705, a page set 109 that is positioned one ahead of the direction of CLOCKHAND when viewed from the page set 109 set as the processing target is newly added. Set as a target to be processed.
- step 709 the processing from step 710 to step 713 is repeated until there is no page set 109 registered in the export list.
- step 710 one page set 109 is extracted from the top of the export list.
- step 711 the data of the page 105 corresponding to the extracted page set 109 is written as updated data to the secondary storage device 104.
- step 712 the dirty flag 107 corresponding to the page set 109 extracted in step 711 is reset.
- the above is the processing content of the prewrite actual processing unit 113.
- the prewriting actual The page sets to be processed in the processing unit 113 are the page set 305 registered in the export list and the page set 308 not registered in the registration list.
- the corresponding dirty flag 107 is set in the page set 305, and the corresponding dirty flag 107 is not set in the page set 308. Therefore, the page 105 corresponding to the page set 305 is not set. Are written to the secondary storage device 104 only.
- FIG. 8 is a diagram illustrating the processing contents of the start opportunity determination unit 114.
- the processing content of the start opportunity determination part 114 in 1st embodiment is demonstrated using the flowchart of FIG.
- the start opportunity determination unit 114 first acquires the CLOCKHAND position information 116 from the buffer management unit 110 in step 800.
- the start opportunity determination unit 114 acquires the CLOCKHAND movement information 119 from the buffer management unit 110 in step 801.
- the CLOCKHAND movement information 119 is the number of page sets pointed to (referenced) by CLOCKHAND per unit time. That is, the CLOCKHAND movement information 119 is acquired from the buffer management unit 110 in order to see the movement speed of the CLOCKHAND while the prewrite process is being executed.
- step 802 the start opportunity determination unit 114 specifies the reverse of the direction of CLOCKHAND from the position of the page set 109 last set as the processing target in the prewrite actual processing unit 113 in the current processing.
- the page sets 109 separated by the value m are obtained.
- step 802 the time until the CLOCKHAND position information 116 reaches the position of the page set 109 obtained in step 801 from the CLOCKHAND position information 116 acquired in step 800 and the CLOCKHAND movement information 119 acquired in step 801. Is calculated.
- step 803 the time calculated in step 802 is set as the standby time for the standby unit 115.
- the above is the processing content of the start opportunity determination unit 114.
- the standby unit 115 executes the standby process based on the standby time set by the start opportunity determination unit 114. Then, after the standby process is completed, when there is no stop request for the prewrite unit 100 from the database management system 120, the standby unit 115 activates the start position determination unit 111 again and causes the prewrite unit 100 to start processing. .
- the prescribed value m is “2”
- the prescribed value n + m is “5”
- the number of processing objects of the default prewrite actual processing is “3”
- the prescribed value L is “1”
- f (z) [
- the replacement execution number table 125 handled in this example is the replacement execution number table 125 of FIG.
- a series of processes executed in the order of the start position determination unit 111, the target number determination unit 112, the prewrite actual processing unit 113, the start trigger determination unit 114, and the standby unit 115 will be described as a group of one process. .
- FIG. 9A schematically shows state transitions in the prelight unit 100 until the start position determination unit 111 is activated and the standby unit 115 enters standby processing.
- CLOCKHAND position information 116a is acquired from the buffer management unit 110.
- the CLOCKHAND position information 116a is the page set 900 at this time.
- the page set for which the previous prelight actual processing is completed is referred to as a page set 901.
- the difference between the page set 900 and the page set 901 is 3, and this value is not less than the specified value m “2” and less than the specified value n + m “5”. Is set to the page set 902.
- the target number determination unit 112 determines the processing target number of the current prewrite actual process.
- the page sets to be processed at this time are the page sets 903, 904, and 905.
- the page set page 904 and the page corresponding to the page set page 905 105 data is written to the secondary storage device 104.
- the start opportunity determination unit 114 determines a standby time until the start position determination unit 111 is activated next time.
- the CLOCKHAND position information 116b is acquired from the buffer management unit 110.
- FIG. 9A it is assumed that the page set 901 is the page set at the position indicated by the CLOCKHAND position information 116b when this processing is started.
- the page set 906 is obtained from the page set 905 to be processed last in the previous prewrite actual process and the specified value m, and in addition to this, the page set 901 indicated by the CLOCKHAND position information 116b, and the buffer management unit 110 Based on the acquired CLOCKHAND movement information 119, a waiting time until the page set 906 indicated by the CLOCKHAND position information 116 is reached is calculated. Thereafter, based on the calculated standby time, the standby unit 115 executes standby processing until the start position determination unit 111 is activated again.
- the CLOCKHAND movement information 119 is 2 page sets / second
- the difference between the page set 901 indicated by the CLOCKHAND position information 116b and the page set 906 is 7, so the calculated waiting time is 3.5 seconds.
- the start position determination unit 111 is activated again.
- the CLOCKHAND position information 116 at the time of activation is the position of the page set 907, and the page set for which the previous prewrite actual processing has been completed is the page set 905b.
- the difference from the set 905b is 6. Since this value is equal to or greater than the specified value n + m “5”, the page set that is the processing start position of the current prewrite actual process is advanced from the page set 907 by the specified value m “2” in the CLOCKHAND direction.
- the page set 908 is set.
- the target number determination unit 112 determines the number of processing targets of the prewrite actual processing unit 113 immediately after.
- the page sets to be processed at this time are the page sets 904b, 905b, and 909, and the prewrite actual processing unit 113 resets the dirty flag 107 corresponding to the page set 905b and the page set 909, and then the page set page 905b.
- the data of the page 105 corresponding to the page set page 909 is written to the secondary storage device 104.
- the start opportunity determination unit 114 the next time based on the page set 905 b pointed to by the CLOCKHAND 116 d at the start of this processing, the page set 909 that was the last processing target of the current prewrite actual processing, and the CLOCKHAND movement information 119 The standby time until the start position determination unit 111 is activated is determined, and then the standby unit 115 executes standby processing.
- the page 105 corresponding to the page set 905 is updated in response to a request from the terminal device 126 from the start of the standby process in FIG. 9A to the start of the start position determination processing unit 111 in FIG. 9B.
- the page set in which the dirty flag 107 has been set is referred to as a page set 905b. Even in such a case, the execution of the write process to the secondary storage device 104 in the buffer management unit 110 is suppressed by executing the prewrite process.
- the start position determination unit 111 is activated again.
- the page set pointed to by the CLOCKHAND position information 116 at the time of activation is the page set 910, and the page set for which the previous prewrite actual processing is completed is the page set 909c.
- a page set 911 is set.
- the target number determination unit 112 determines the processing target number of the immediately following prewrite actual processing.
- the target number determination unit 112 calculates the average number of replacement processing occurrences from the time when the immediately preceding prewrite actual process starts until the immediately preceding process start position determination process starts.
- the number of page replacement processes that have occurred in the buffer management unit 110 from the start of the immediately preceding pre-write actual process to the start of the immediately preceding process start position determination process is 5 (page set 903). , 904, 905, 909, and 910), and the difference z between the numbers of occurrences of both average replacement processes calculated as a result is -7 ⁇ z ⁇ -6. Since this value is less than the specified value ⁇ L, the number of processing targets of the immediately following prewrite actual process is calculated based on f (z). At this time, the calculated processing target number is 5 by adding the calculation result 2 of f (z) to the processing target number of the predetermined prewrite actual processing.
- the page sets to be processed at this time are the page sets 911, 912, 913, 914, and 915, and after resetting the dirty flag 107 corresponding to the page set 912 and the page set 915, the page set page 912 and the page set page.
- the data of page 105 corresponding to 915 is written to the secondary storage device 104.
- the start opportunity determination unit 114 the page set 913 to which the CLOCKHAND 116 points at the start of this process, the page set 915 that was the last processing target of the immediately preceding prewrite actual process, and the CLOCKHAND movement information 119
- the standby time until the start position determination unit 111 is activated is determined, and then the standby unit 115 executes standby processing.
- the processing start position of the prewrite actual processing, the number of processing targets, and the waiting time between prewrite processing are appropriately determined.
- the page set 109 to be processed is always positioned in the forward direction of the CLOCKHAND when viewed from the CLOCKHAND position information 116.
- the data of the page 105 that has been written in the immediately preceding pre-write actual process is updated by a request from the terminal device (user) 126, and the replacement process of the page 105 is performed in the buffer management. Is executed, the situation where the data writing process of the page 105 is executed is suppressed. This makes it possible to keep the buffer management processing response constant.
- FIG. 10 is an overall configuration diagram related to the second embodiment of the present invention.
- the database management system 120 shown in the second embodiment basically has the same configuration as that of the first embodiment (FIG. 1). However, the buffer management unit 110a and the prewrite unit 100a in the data processing unit 129 have the same configuration. The configuration is different.
- the database management system 120 in the second embodiment will be described.
- the buffer management unit 110a includes a GCLOCK page replacement unit 122a, a replacement execution number acquisition unit 124, and a prewrite activation unit 1000.
- the buffer management unit 110a executes the replacement process of the page 105 in the GCLOCK page replacement unit 122a, and the replacement process of the page 105 ,
- the prelight unit 100a is activated via the prelight activation unit 1000.
- the GCLOCK page replacement unit 122a is activated by the buffer management unit 110a. First, in step 1200, the GCLOCK page replacement unit 122a selects a page set 109 to be replaced from the page sets 109 existing on the buffer pool 106 based on the GCLOCK page replacement algorithm.
- step 1204 the number of activations of the GCLOCK page replacement unit 122a is acquired after the previous prewrite unit 100a has been activated, and the number of activations is incremented.
- This activation count is managed by the buffer management unit 110a, and is initialized to 0 when the buffer management unit 110a is activated.
- step 1205 the GCLOCK page replacement unit 122a acquires the number of processing targets of the previous prewrite actual process from the prewrite unit 100a.
- the GCLOCK page replacement unit 122a compares the number of activations of the GCLOCK page replacement unit 122a acquired in Step 1204 with the number of processing targets acquired in Step 1205.
- the prewrite is performed via the prewrite activation unit 1000 in step 1207.
- the unit 100a is activated.
- step 1201 the GCLOCK page replacement unit 122a determines whether the dirty flag 107 of the page set 109 selected in step 1200 is set.
- step 1201 If it is determined in step 1201 that the dirty flag 107 is set (step 1201: YES), in step 1203, the data of the page 105 corresponding to the page set 109 is written to the secondary storage device 104, The process ends.
- the prewrite activation unit 1000 initializes the number of activations of the GCLOCK page replacement unit 122a managed by the buffer management unit 110a with 0 after the prewrite unit 100a is activated.
- the prewrite unit 100a includes a start position determination unit 111, a target number determination unit 112, and a prewrite actual processing unit 113a, and is activated by an activation request from the prewrite activation unit 1000 in the buffer management unit 110a.
- the start position determination unit 111 determines the page set 109 for starting the prewrite actual process, and then the target number determination unit 112 determines the page set 109 to be processed by the prewrite actual process. Determine the number of.
- the prewrite actual processing unit 113a the prewrite actual processing is executed, and the prewrite processing is terminated. Details of the prewrite actual processing unit 113a will be described later.
- processing contents of the prewrite actual processing unit 113a in the second embodiment will be described with reference to the flowchart of FIG. 11, the processing contents of steps 700, 701, 703, 704, 705 and 707 are the same as in the first embodiment.
- the prewrite actual processing unit 113a first executes the processing of steps 700 and 701, and then in step 1100, the processing from step 703 to step 1101 is performed on the processed page counter managed by the prewrite actual processing unit 113a. The process is repeated until the count value is equal to or greater than the processing target number set by the target number determining unit 112.
- step 703 the prewrite actual processing unit 113a determines whether or not the page set 109 as a processing target is a replacement target in the buffer management unit 110a. 703: YES), in step 704, the count value of the processed page counter is counted up. On the other hand, if it is not a replacement target (step 703: NO), the process proceeds to step 707.
- the prewrite actual processing unit 113a determines whether or not the dirty flag 107 corresponding to the page set 109 is set in step 705. If the dirty flag 107 is set (step 705: YES), In step 709a, the data of the page 105 corresponding to the page set 109 is written to the secondary storage device 104. Conversely, when the dirty flag is not set (step 705: NO), the process proceeds to step 707.
- step 710a the dirty flag 107 corresponding to the page set 109 is reset, and finally, in step 706, when viewed from the page set 109 set as the processing target, one ahead of the CLOCKHAND progress direction. Is set as a new processing target.
- the above is the processing content of the prewrite actual processing unit 113a.
- the buffer management unit 110a can control the activation of the prewrite process.
- the prewrite process is performed. to start.
- the buffer management unit 110a controls the activation of the prewrite unit 100a.
- the prewrite unit 100 basically has the next prewrite unit 100.
- the buffer management unit 110 may activate the prewrite unit 100 only when CLOCKHAND passes through the page set 109 last processed in the immediately preceding prewrite processing.
- the third embodiment can be combined with any of the first and second embodiments.
- the database management system 120 shown in the third embodiment has the same configuration as that of the first embodiment (FIG. 1) or the second embodiment (FIG. 10).
- the processing of the prelight actual processing unit 113b (not shown) is different from the first embodiment and the second embodiment.
- FIG. 13 is a diagram showing the processing content of the prewrite actual processing unit 113b in the third embodiment, and is a diagram in which a part of the processing of the prewrite actual processing unit 113a in the second embodiment is changed.
- the processes in steps 1300 to 1304 are different from those in the second embodiment.
- the processing content of the prewrite actual processing unit 113b in the present embodiment will be described with reference to the flowchart of FIG.
- the prewrite actual processing unit 113b first acquires the CLOCKHAND position information 116 from the buffer management unit 110a in step 1300.
- step 1301 the prewrite actual processing unit 113b calculates a difference between the page set 109 that is exactly the processing target and the CLOCKHAND position information 116 in the repetitive processing, and the calculated difference is the specified value m. It is judged whether it is less than. That is, it is determined whether or not the page set 109 to be processed has been overtaken by CLOCKHAND or is likely to be overtaken in the near future.
- the prewrite actual processing unit 113b determines that the page set 109 to be processed has been overtaken by CLOCKHAND (or may be overtaken soon), and the prewrite actual processing unit 113b performs step 1302 Then, the start position determination unit 111 is activated to reset the process start position in the actual prewrite processing unit 113b.
- step 1303 the target number determination unit 112 is activated to reset the processing target number in the present prewrite unit.
- step 1304 the prewrite actual processing unit 113b is activated, and the processing of the present prewrite actual processing unit 113b is terminated.
- the prewrite actual processing unit 113b performs step 703. Migrate to The processes other than steps 1300, 1301, 1302, 1303, and 1304 are the same as the processes of the prewrite actual processing unit 113a.
- FIG. 14 is a diagram showing the processing contents of a prewrite actual processing unit 113c (not shown) obtained by changing a part of the processing of the prewrite actual processing unit 113 in the first embodiment.
- step 709 the prewrite actual processing unit 113c repeats the processing from step 710 to step 713 until there is no page set 109 registered in the export list.
- the prewrite actual processing unit 113c first extracts one page set 109 from the top of the writing list in step 710, and then acquires the CLOCKHAND position information 116 from the buffer management unit 110 in step 1400.
- step 1401 the prewrite actual processing unit 113c calculates a difference between the extracted page set 109 and the CLOCKHAND position information 116, and determines whether or not the calculated difference is less than a specified value m. . That is, it is determined whether the extracted page set 109 has been overtaken by CLOCKHAND (or whether there is a possibility of being overtaken soon).
- the prewrite actual processing unit 113c activates the start position determination unit 111 in step 1402, and sets the processing start position in the prewrite actual processing unit 113c. Perform reconfiguration.
- step 1403 the prewrite actual processing unit 113c activates the target number determination unit 112 and resets the number of processing targets in the prewrite actual processing unit 113c.
- step 1404 the prewrite actual processing unit 113c is activated, and the processing of the prewrite actual processing unit 113c is terminated.
- steps 1400, 1401, 1402, 1403, and 1404 are the same as those of the prewrite actual processing unit 113.
- the CLOCKHAND position information 116 is acquired immediately before executing the writing process in the pre-write actual process, and the position of the CLOCKHAND position information 116 and the position of the page set 109 that executes the writing process.
- the processing start position By executing the determination process, the determination process target number determination process, and the prewrite actual process again, it is possible to suppress the occurrence of the page writing process in the buffer management more than the first embodiment or the second embodiment. It becomes.
- the database management system 120 is taken as an example, but the present invention is applicable to any system that requires buffer management.
- GCLOCK is applied to an algorithm for determining data resource allocation
- the algorithm can be used as a replacement target while sequentially tracing the circular list 130 of the page set 109 including GCLOCK.
- An algorithm for searching the page 105 may be used.
- Start timing determination unit 115 ... Standing unit 116 ... CLOCKHAND position information 119 ... CLOCKHAND movement information 120 ... Database management system 121 ... Reference counter 122, 122a ... GCLOCK page replacement unit 123 ... Network interface 124 ... Replacement execution frequency acquisition unit 125 ... Replacement execution frequency table 126 ... terminal 127 ... SQL analysis unit 128 ... database operation unit 129 ... data processing unit 130 ... page set circulation list 500 ... page replacement occurrence frequency 501 ... page replacement occurrence frequency average value 502 ... page replacement occurrence frequency corresponding term Number 1000 ... Reraito starting unit 1500 ... CLOCKHAND
Abstract
Description
ここで、置換処理とは、バッファプール上にあるページを2次記憶装置等に書出して、2次記憶装置から必要なデータをページ単位で読込む場合と、バッファプール上からの書出しを行わずに2次記憶装置から必要なデータをページ単位で読込む場合との両方の処理を含むものである。 In software such as a database management system (DBMS), when executing data processing, the data is temporarily stored in units called pages in order to compensate for differences in processing speed and transfer speed and to speed up processing. Store in the buffer pool on the storage device. Since not all data can be stored in the buffer pool, data that is likely to be used is stored on the buffer pool by the buffer management mechanism. Pages other than pages containing data that is highly likely to be used are stored in a secondary storage device or the like, and a replacement process is performed to replace pages on the buffer pool as necessary.
Here, the replacement processing refers to a case where pages on the buffer pool are written to the secondary storage device or the like and necessary data is read from the secondary storage device in units of pages, and writing from the buffer pool is not performed. In addition, both processing for reading necessary data from the secondary storage device in units of pages are included.
LRUについては、特許文献1のDescription of the Related Artに纏められており、GCLOCKの詳細に関しては、非特許文献1のpp.17等で述べられている。 In replacement processing, there are LRU (Least Recently Used) and Generalized CLOCK (hereinafter, GCLOCK) as algorithms for allocating resources on a buffer, such as selecting a page to be replaced on the buffer pool.
LRU is summarized in Description of the Related Art of
GCLOCKでは、バッファプール上に格納されたページを、順番の固定された循環リストとして管理しており、ページの置換処理が発生する場合、前記循環リスト上のページを順に辿りながらページを指し示すCLOCKHANDによって、前記循環リスト上に点在している置換対象となり得るページを探索する。 In the prior art, a method for selecting a page to be replaced differs for each algorithm for allocating resources on the buffer. Therefore, in order to realize the solution, a different prewrite processing method is required for each algorithm.
In GCLOCK, the pages stored in the buffer pool are managed as a circular list with a fixed order. When a page replacement process occurs, CLOCKHAND that points to the page while sequentially tracing the pages on the circular list. The search is made for pages that can be replaced on the circulation list.
以下、本発明の第一実施形態について、図1を用いて説明する。 [First embodiment]
Hereinafter, a first embodiment of the present invention will be described with reference to FIG.
プレライト部100は、開始位置決定部111、対象数決定部112、プレライト実処理部113、開始契機決定部114及び待機部115から構成され、データ処理部129とは独立であり、パラレルに動作するように構成されている。即ちプレライト部100は、バッファプール106に格納されているページセット109において、ダーティフラグ107が設定されているページ105が、バッファ管理部110によって2次記憶装置104に書き出される前に、所定の条件に基づいて書き出すようになっている。 Next, the
The
まず、プレライト部100によって実行されるプレライト処理の概要について、図1を用いて説明する。 Hereinafter, the processing content of the prewrite processing in the first embodiment will be described.
First, an outline of the prewrite process executed by the
まず、開始位置決定部111の処理内容について図2及び図3を用いて説明する。 Next, specific processing executed by each unit in the above-described prewrite processing will be described.
First, the processing content of the start
図3は、図1に示すバッファプール106に格納されているページセット109の循環リスト130の一例を示したものであり、CLOCKHAND位置情報116と循環リストの関係を表した模式図である。
なお、ページセット109は、ページ105、ページ105に対応するリファレンスカウンタ121及びダーティフラグ107から構成される。 FIG. 2 is a flowchart showing the processing contents of the start
FIG. 3 shows an example of the
Note that the page set 109 includes a
以上が開始位置決定部111の処理内容である。 At this time, the difference d (“4”) is not less than the specified value m (“2”) and less than the specified value n + m (“5”). It is determined that the prewrite process can be normally continued even for the page set next to the page set for which the actual prewrite process has been completed. As a result, the page set as the processing start position of the immediately following prewrite actual process is set to the page set 307 next to the page set 306 for which the immediately preceding prewrite actual process has been completed.
The above is the processing content of the start
置換実行回数取得部124は、単位時間t(例えば、1秒)が経過する毎にバッファ管理部110から随時起動される。 FIG. 6 is a diagram showing the processing contents of the replacement execution
The replacement execution
以下の説明において、規定値Lとは、プレライト実処理の処理対象数を規定値から変更するか否かを判定するために、予めプレライト部100において設定されている値である。 Hereinafter, processing contents of the target
In the following description, the specified value L is a value set in advance in the
以上が対象数決定部112の処理内容である。 When the subtraction result z is L <z, the target
The above is the processing content of the target
以下、第一実施形態におけるプレライト実処理部113の処理内容について図7のフローチャートを用いて説明する。 FIG. 7 is a diagram illustrating the processing contents of the prewrite
Hereinafter, the processing content of the prewrite
以上がプレライト実処理部113の処理内容である。 Next, in
The above is the processing content of the prewrite
第一実施形態における、開始契機決定部114の処理内容について図8のフローチャートを用いて説明する。 FIG. 8 is a diagram illustrating the processing contents of the start
The processing content of the start
以上が、開始契機決定部114の処理内容である。 Finally, in
The above is the processing content of the start
そして、待機部115は、待機処理終了後、データベース管理システム120から、プレライト部100に対する停止要求がない場合は、再度、開始位置決定部111を起動し、プレライト部100に処理を開始させる。 After the process of the start
Then, after the standby process is completed, when there is no stop request for the
図9(a)では、本処理を開始した時のCLOCKHAND位置情報116bが指し示す位置のページセットをページセット901であるものとする。 Finally, the start
In FIG. 9A, it is assumed that the page set 901 is the page set at the position indicated by the
図9(c)において、起動時のCLOCKHAND位置情報116がポイントするページセットはページセット910であり、また、直前のプレライト実処理が終了したページセットはページセット909cであるため、ページセット910とページセット909cとの差分は、-1となる。この値は、規定値m未満であるため、直後のプレライト実処理の処理開始位置となるページセットには、ページセット910から、CLOCKHANDの進行方向に規定値m(m=2)だけ進めたページセット911を設定する。 Next, after the standby process ends, the start
In FIG. 9C, the page set pointed to by the
これにより、バッファ管理の処理レスポンスを一定に保つことが可能となる。 In addition, after the process start timing determination process is completed, the data of the
This makes it possible to keep the buffer management processing response constant.
次に、本発明を適用した計算機システムの第二の実施形態について、図10を用いて説明する。以下、主に、第一の実施形態との相違点について説明し、第一の実施形態との共通点については、説明を省略或いは簡略する。 [Second Embodiment]
Next, a second embodiment of the computer system to which the present invention is applied will be described with reference to FIG. In the following, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
第二の実施形態で示すデータベース管理システム120は、基本的には第一の実施形態(図1)と同様の構成をとるが、データ処理部129内のバッファ管理部110aとプレライト部100aの構成が異なる。
以下、第二の実施形態におけるデータベース管理システム120について説明する。 FIG. 10 is an overall configuration diagram related to the second embodiment of the present invention.
The
Hereinafter, the
図11に示す処理内容のうち、ステップ700、701、703、704、705及び707の処理内容については第一の実施形態と同様である。 Hereinafter, the processing content of the prewrite actual processing unit 113a in the second embodiment will be described with reference to the flowchart of FIG.
Among the processing contents shown in FIG. 11, the processing contents of
以上がプレライト実処理部113aの処理内容である。 Next, in
The above is the processing content of the prewrite actual processing unit 113a.
[第三の実施形態] In the second embodiment, only the
[Third embodiment]
以下、本実施形態におけるプレライト実処理部113bの処理内容について図13のフローチャートを用いて説明する。 FIG. 13 is a diagram showing the processing content of the prewrite actual processing unit 113b in the third embodiment, and is a diagram in which a part of the processing of the prewrite actual processing unit 113a in the second embodiment is changed. In particular, the processes in
Hereinafter, the processing content of the prewrite actual processing unit 113b in the present embodiment will be described with reference to the flowchart of FIG.
最後に、ステップ1304において、プレライト実処理部113bを起動し、本プレライト実処理部113bの処理を終了する。 Next, in
Finally, in
最後に、ステップ1404において、プレライト実処理部113cを起動し、本プレライト実処理部113cの処理を終了する。 Next, in
Finally, in
101…データ管理サーバ
102…CPU
104…2次記憶装置
105、1501、1502、1503、1504…ページ
106…バッファプール
107…ダーティフラグ
108…バス
109、302、303、304、305、306、307、308、900、901、
902、903、904、905、904b、905b、906、907、908、90
9、909c、910、911、912、913、914、915…ページセット
110、110a…バッファ管理部
111…開始位置決定部
112…対象数決定部
113、113a、113b、113c…プレライト実処理部
114…開始契機決定部
115…待機部
116…CLOCKHAND位置情報
119…CLOCKHAND移動情報
120…データベース管理システム
121…リファレンスカウンタ
122、122a…GCLOCKページ置換部
123…ネットワークインタフェース
124…置換実行回数取得部
125…置換実行回数表
126…端末
127…SQL解析部
128…データベース演算部
129…データ処理部
130…ページセット循環リスト
500…ページ置換発生回数
501…ページ置換発生回数平均値
502…ページ置換発生回数対応項番
1000…プレライト起動部
1500…CLOCKHAND
100, 100a ...
104 ...
902, 903, 904, 905, 904b, 905b, 906, 907, 908, 90
9, 909c, 910, 911, 912, 913, 914, 915 ... page set 110, 110a ...
Claims (20)
- データを一時的に格納する複数の入出力バッファを有する主記憶装置と、前記データを格納する2次記憶装置と、前記入出力バッファに一時的に格納するデータ及び前記2次記憶装置に格納するデータの置換処理を管理するバッファ管理部と、前記入出力バッファに格納されたデータがバッファ管理部において書き出される前に、事前書出しを行うプレライト処理を管理するプレライト管理部と、を有する計算機のデータ処理方法であって、
前記バッファ管理部が、前記置換処理を実施する際に、前記入出力バッファを順番に参照しながら前記データの置換対象となる入出力バッファを選定するステップと、
前記バッファ管理部が、所定時間あたりに前記入出力バッファに対してデータの置換を行った回数である置換実行回数を計測するステップと、
前記バッファ管理部が、所定時間あたりに前記複数の入出力バッファに格納されたデータを順番に参照する参照速度を算出するステップと、
前記プレライト管理部が、プレライト処理の実行契機を検出し、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報と、前記置換実行回数とに基づいて、今回のプレライト処理を行う対象となる入出力バッファを選定するステップと、
前記プレライト管理部が、前記プレライト処理を行う候補となる入出力バッファに、更新データがある場合に、当該入出力バッファに格納されたデータを書き出すステップと、
前記プレライト管理部が、前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定するステップと、
を含むことを特徴とするデータ処理方法。 Main storage device having a plurality of input / output buffers for temporarily storing data, secondary storage device for storing the data, data to be temporarily stored in the input / output buffer, and storage in the secondary storage device A computer comprising: a buffer management unit that manages data replacement processing; and a prewrite management unit that manages prewrite processing for performing pre-writing before the data stored in the input / output buffer is written in the buffer management unit Data processing method,
When the buffer management unit performs the replacement process, selecting an input / output buffer to be replaced with the data while sequentially referring to the input / output buffer;
Measuring the number of executions of replacement, which is the number of times that the buffer management unit has performed replacement of data for the input / output buffer per predetermined time;
The buffer management unit calculating a reference speed for sequentially referring to data stored in the plurality of input / output buffers per predetermined time; and
The prewrite management unit detects the execution timing of the prewrite process, the position information of the input / output buffer that has performed the previous prewrite process, the position information of the input / output buffer that is currently referred to by the buffer management unit, and Selecting an input / output buffer to be subjected to the current prewrite process based on the number of replacement executions;
When the prewrite management unit has update data in an input / output buffer that is a candidate for performing the prewrite process, writing the data stored in the input / output buffer;
The prewrite management unit determining a processing execution opportunity of a next prewrite process based on the reference speed;
A data processing method comprising: - 請求項1に記載のデータ処理方法であって、
前記プレライト管理部が今回のプレライト処理を行う対象となる入出力バッファを選定するステップは、
前記プレライト管理部が、前記置換対象として選定された入出力バッファよりも参照順が先で、且つ当該入出力バッファと前記所定数の入出力バッファの差が一定以内となるように前記今回のプレライト処理を行う候補を選定することを特徴とするデータ処理方法。 A data processing method according to claim 1, comprising:
The step of selecting an input / output buffer to be subjected to the prewrite process by the prewrite management unit is as follows:
The pre-write management unit has the reference order ahead of the input / output buffer selected as the replacement target, and the difference between the input / output buffer and the predetermined number of input / output buffers is within a certain range. A data processing method characterized by selecting a candidate for performing a prewrite process. - 請求項1又は2に記載のデータ処理方法であって、
前記バッファ管理部が、前記置換対象の入出力バッファを選定するステップにおいて、参照回数が一定値以下の入出力バッファを置換対象として選定するステップを更に含むことを特徴とするデータ処理方法。 The data processing method according to claim 1 or 2,
The data processing method according to claim 1, further comprising: selecting an input / output buffer having a reference count of a predetermined value or less as a replacement target in the step of selecting the replacement target input / output buffer by the buffer management unit. - 請求項1~3のいずれか一項に記載のデータ処理方法であって、
前記バッファ管理部が、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報とを取得するステップを含み、
前記プレライト管理部が今回のプレライト処理を行う候補となる入出力バッファを選定するステップは、
前記前回プレライト処理を行った入出力バッファの位置情報と、前記現在バッファ管理部で参照されている入出力バッファの位置情報との差分を算出し、該差分に応じて、今回のプレライト処理の開始位置となる入出力バッファを設定するステップを含むことを特徴とするデータ処理方法。 A data processing method according to any one of claims 1 to 3,
The buffer management unit includes the step of acquiring the position information of the input / output buffer that has been pre-written last time and the position information of the input / output buffer that is currently referenced by the buffer management unit,
The step of selecting an input / output buffer that is a candidate for the prewrite management unit to perform the prewrite process this time,
The difference between the position information of the input / output buffer that has been subjected to the previous prewrite process and the position information of the input / output buffer that is currently referenced by the buffer management unit is calculated, and the current prewrite process is performed according to the difference. A data processing method comprising the step of setting an input / output buffer to be a starting position of - 請求項1~4の何れか一項に記載のデータ処理方法であって、
前記バッファ管理部が、前回のプレライト処理開始時点よりも過去から、今回のプレライト処理の開始位置決定処理終了時点までの間における前記置換実行回数を計数するとともに、前回のプレライト処理開始時点から今回のプレライト処理の開始位置決定処理終了時点までの間における前記置換実行回数を計数するステップを更に含み、
前記プレライト管理部が今回のプレライト処理を行う候補となる入出力バッファを選定するステップは、
前記プレライト管理部が、
前記両計数値の差を基に今回のプレライト処理において処理の対象となる入出力バッファの処理数を設定するステップを含むことを特徴とするデータ処理方法。 A data processing method according to any one of claims 1 to 4,
The buffer management unit counts the number of replacement executions from the past from the previous prewrite process start time to the end time of the current prewrite process start position determination process, and the previous prewrite process start time And the step of counting the number of replacement executions from the start position determination process to the end of the current prewrite process,
The step of selecting an input / output buffer that is a candidate for the prewrite management unit to perform the prewrite process this time,
The prelight management unit
A data processing method comprising a step of setting the number of input / output buffers to be processed in the current prewrite process based on the difference between the two count values. - 請求項1~5の何れか一項に記載のデータ処理方法であって、
前記プレライト管理部が、前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定するステップは、
前記プレライト管理部が今回のプレライト処理を行う対象となる入出力バッファを選定するステップで選定された入出力バッファのうち最後にプレライト処理の対象とされた入出力バッファの位置から所定数分減じた位置にある入出力バッファに対し、前記バッファ管理部が参照するまでの時間を前記参照速度に基づいて算出し、該算出結果を前記次回のプレライト処理の実行契機とすることを特徴とするデータ処理方法。 A data processing method according to any one of claims 1 to 5,
The step of the prewrite management unit determining a process execution trigger for the next prewrite process based on the reference speed,
A predetermined number from the position of the last input / output buffer to be prewritten among the input / output buffers selected in the step of selecting the input / output buffer to be subjected to the current prewrite process by the prewrite management unit. A time until the buffer management unit refers to the input / output buffer at the decremented position is calculated based on the reference speed, and the calculation result is used as an execution trigger for the next prewrite process. Data processing method. - データを一時的に格納する複数の入出力バッファを有する主記憶装置と、前記データをバックアップするために格納する2次記憶装置と、前記主記憶装置と前記2次記憶装置とを制御するコントローラと、を備えるデータ処理装置であって、
前記コントローラは、
前記入出力バッファ及び前記2次記憶装置間のデータの置換処理を管理するバッファ管理部と、
前記入出力バッファに格納されたデータがバッファ管理部によって書き出される前に、事前書出しを行うプレライト処理を管理するプレライト管理部と、を有し、
前記バッファ管理部は、
前記置換処理を実施する際に、前記入出力バッファを順番に参照しながら前記データの置換対象となる入出力バッファを選定し、
所定時間あたりに前記入出力バッファに対してデータの置換を行った回数である置換実行回数を計測し、
所定時間あたりに前記複数の入出力バッファに格納されたデータを順番に参照する参照速度を算出し、
前記プレライト管理部は、
プレライト処理の実行契機を検出し、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報と、前記置換実行回数とに基づいて、今回のプレライト処理を行う対象となる入出力バッファを選定し、
前記プレライト処理を行う候補となる入出力バッファに、更新データがある場合に、当該入出力バッファに格納されたデータを書き出し、
前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定することを特徴とするデータ処理装置。 A main storage device having a plurality of input / output buffers for temporarily storing data; a secondary storage device for storing the data for backup; a controller for controlling the main storage device and the secondary storage device; A data processing device comprising:
The controller is
A buffer management unit for managing replacement processing of data between the input / output buffer and the secondary storage device;
A prewrite management unit that manages a prewrite process for performing pre-writing before the data stored in the input / output buffer is written by the buffer management unit;
The buffer management unit
When performing the replacement process, select an input / output buffer to be replaced with the data while sequentially referring to the input / output buffer,
Measure the number of replacement executions, which is the number of times data replacement has been performed on the I / O buffer per predetermined time,
Calculating a reference speed for sequentially referring to data stored in the plurality of input / output buffers per predetermined time;
The prelight management unit
Detecting the execution timing of the prewrite process, based on the position information of the input / output buffer that performed the prewrite process last time, the position information of the input / output buffer that is currently referred to by the buffer management unit, and the number of executions of replacement Select the input / output buffer that is the target of this prewrite process,
When there is update data in the input / output buffer that is a candidate for performing the prewrite process, the data stored in the input / output buffer is written out,
A data processing apparatus that determines a process execution trigger of a next prewrite process based on the reference speed. - 請求項7に記載のデータ処理装置であって、
前記プレライト管理部が今回のプレライト処理を行う対象となる入出力バッファを選定する際、
前記置換対象として選定された入出力バッファよりも参照順が先で、且つ当該入出力バッファと前記所定数の入出力バッファの差が一定以内となるように前記今回のプレライト処理を行う候補を選定することを特徴とするデータ処理装置。 The data processing device according to claim 7,
When selecting the input / output buffer to be subjected to the current prewrite process by the prewrite management unit,
Candidates for performing the current prewrite process so that the reference order is ahead of the input / output buffer selected as the replacement target and the difference between the input / output buffer and the predetermined number of input / output buffers is within a certain range. A data processing apparatus characterized by being selected. - 請求項7又は8に記載のデータ処理装置であって、
前記バッファ管理部が、前記置換対象の入出力バッファを選定する際、
参照回数が一定値以下の入出力バッファを置換対象として選定することを特徴とするデータ処理装置。 The data processing device according to claim 7 or 8,
When the buffer management unit selects the replacement input / output buffer,
An input / output buffer having a reference count of a predetermined value or less is selected as a replacement target. - 請求項7~9のいずれか一項に記載のデータ処理装置であって、
前記バッファ管理部が、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報とを更に取得し、
前記プレライト管理部が、今回のプレライト処理を行う候補となる入出力バッファを選定する際
前記前回プレライト処理を行った入出力バッファの位置情報と、前記現在バッファ管理部で参照されている入出力バッファの位置情報との差分を算出し、該差分に応じて、今回のプレライト処理の開始位置となる入出力バッファを設定することを特徴とするデータ処理装置。 A data processing apparatus according to any one of claims 7 to 9,
The buffer management unit further acquires the position information of the input / output buffer that has been pre-written last time, and the position information of the input / output buffer that is currently referenced by the buffer management unit,
When the prewrite management unit selects an input / output buffer that is a candidate for the current prewrite process, the current buffer management unit refers to the positional information of the input / output buffer that has performed the previous prewrite process. A data processing apparatus that calculates a difference from position information of an input / output buffer, and sets an input / output buffer serving as a start position of the current prewrite process according to the difference. - 請求項7~10の何れか一項に記載のデータ処理装置であって、
前記バッファ管理部が、前回のプレライト処理開始時点よりも過去から、今回のプレライト処理の開始位置決定処理終了時点までの間における前記置換実行回数を計数するとともに、前回のプレライト処理開始時点から今回のプレライト処理の開始位置決定処理終了時点までの間における前記置換実行回数を更に計数し、
前記プレライト管理部が、今回のプレライト処理を行う候補となる入出力バッファを選定する際、
前記プレライト管理部が、
前記両計数値の差を基に今回のプレライト処理において処理の対象となる入出力バッファの処理数を設定することを特徴とするデータ処理装置。 A data processing device according to any one of claims 7 to 10,
The buffer management unit counts the number of replacement executions from the past from the previous prewrite process start time to the end time of the current prewrite process start position determination process, and the previous prewrite process start time To further count the number of replacement executions between the start position determination process and the end point of the current prewrite process,
When the prewrite management unit selects an input / output buffer that is a candidate for the current prewrite process,
The prelight management unit
A data processing apparatus, wherein the number of input / output buffers to be processed in the current prewrite processing is set based on the difference between the two count values. - 請求項7~11の何れか一項に記載のデータ処理装置であって、
前記プレライト管理部が、前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定する際、
今回のプレライト処理を行う対象となる入出力バッファとして選定した入出力バッファのうち、最後にプレライト処理の対象とされた入出力バッファの位置から所定数分減じた位置にある入出力バッファに対し、前記バッファ管理部が参照するまでの時間を前記参照速度に基づいて算出し、該算出結果を前記次回のプレライト処理の実行契機とすることを特徴とするデータ処理装置。 A data processing apparatus according to any one of claims 7 to 11,
When the prewrite management unit determines a process execution trigger for the next prewrite process based on the reference speed,
Among the input / output buffers selected as the target for the prewrite process this time, the I / O buffer at the position subtracted a predetermined number from the position of the last input / output buffer that was the target of the prewrite process On the other hand, a data processing apparatus characterized in that a time until the buffer management unit refers is calculated based on the reference speed, and the calculation result is used as an execution timing of the next prewrite process. - データを一時的に格納する複数の入出力バッファを有する主記憶装置と、前記データを格納する2次記憶装置と、前記入出力バッファに一時的に格納するデータ並びに前記2次記憶装置に格納するデータの置換処理の管理及び、前記入出力バッファに格納されたデータを、前記置換処理によって前記2次記憶装置に書き出す前に、事前書出しを行うプレライト処理の管理を行う制御部と、を有する計算機に、
前記入出力バッファを固定の循環リストとして捉え、前記置換処理を実施する際に、前記入出力バッファを順番に参照しながら前記データの置換対象となる入出力バッファを選定する機能と、
所定時間あたりに前記入出力バッファに対してデータの置換を行った回数である置換実行回数を計測する機能と、
所定時間あたりに前記複数の入出力バッファに格納されたデータを順番に参照する参照速度を算出する機能と、
プレライト処理の実行契機を検出し、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報と、前記置換実行回数とに基づいて、今回のプレライト処理を行う対象となる入出力バッファを選定する機能と、
前記プレライト処理を行う候補となる入出力バッファに、更新データがある場合に、当該入出力バッファに格納されたデータを書き出す機能と、
前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定する機能と、
を実現させることを特徴とするデータ処理プログラム。 A main storage device having a plurality of input / output buffers for temporarily storing data, a secondary storage device for storing the data, data temporarily stored in the input / output buffer, and storage in the secondary storage device A control unit that manages data replacement processing and prewrite processing that performs pre-writing before the data stored in the input / output buffer is written to the secondary storage device by the replacement processing. In the calculator,
A function of selecting the input / output buffer as a replacement target of the data while referring to the input / output buffer in order when the replacement process is performed by taking the input / output buffer as a fixed circular list;
A function for measuring the number of executions of replacement, which is the number of times data replacement has been performed on the input / output buffer per predetermined time;
A function of calculating a reference speed for sequentially referring to data stored in the plurality of input / output buffers per predetermined time;
Detecting the execution timing of the prewrite process, based on the position information of the input / output buffer that performed the prewrite process last time, the position information of the input / output buffer that is currently referred to by the buffer management unit, and the number of executions of replacement , The function to select the target I / O buffer for this prewrite process,
A function for writing the data stored in the input / output buffer when there is update data in the input / output buffer that is a candidate for the prewrite process;
Based on the reference speed, a function for determining a process execution trigger for the next prewrite process,
A data processing program characterized by realizing the above. - 請求項13に記載のデータ処理プログラムであって、
今回のプレライト処理を行う対象となる入出力バッファを選定する際、
前記置換対象として選定された入出力バッファよりも参照順が先で、且つ当該入出力バッファと前記所定数の入出力バッファの差が一定以内となるように前記今回のプレライト処理を行う候補を選定する機能を実現させることを特徴とするデータ処理プログラム。 A data processing program according to claim 13,
When selecting the I / O buffer that is the target of this prewrite process,
Candidates for performing the current prewrite process so that the reference order is ahead of the input / output buffer selected as the replacement target and the difference between the input / output buffer and the predetermined number of input / output buffers is within a certain range. A data processing program characterized by realizing a function to be selected. - 請求項13又は14に記載のデータ処理プログラムであって、
前記置換対象の入出力バッファを選定する際、
参照回数が一定値以下の入出力バッファを置換対象として選定する機能を実現させることを特徴とするデータ処理プログラム。 A data processing program according to claim 13 or 14,
When selecting the I / O buffer to be replaced,
A data processing program for realizing a function of selecting an input / output buffer whose reference count is a predetermined value or less as a replacement target. - 請求項13~15のいずれか一項に記載のデータ処理プログラムであって、
前回プレライト処理を行った入出力バッファの位置情報と、現在参照されている入出力バッファの位置情報とを更に取得する機能と、
今回のプレライト処理を行う候補となる入出力バッファを選定する際
前記前回プレライト処理を行った入出力バッファの位置情報と、前記現在参照されている入出力バッファの位置情報との差分を算出し、該差分に応じて、今回のプレライト処理の開始位置となる入出力バッファを設定する機能を更に実現することを特徴とするデータ処理プログラム。 A data processing program according to any one of claims 13 to 15,
A function for further acquiring the position information of the input / output buffer that was previously pre-written and the position information of the currently referenced input / output buffer;
When selecting an input / output buffer that is a candidate for the current prewrite process, the difference between the position information of the input / output buffer that was previously prewritten and the position information of the currently referenced input / output buffer is calculated. A data processing program that further realizes a function of setting an input / output buffer serving as a start position of the current prewrite process according to the difference. - 請求項13~16の何れか一項に記載のデータ処理プログラムであって、
前回のプレライト処理開始時点よりも過去から、今回のプレライト処理の開始位置決定処理終了時点までの間における前記置換実行回数を計数するとともに、前回のプレライト処理開始時点から今回のプレライト処理の開始位置決定処理終了時点までの間における前記置換実行回数を更に計数する機能と、
今回のプレライト処理を行う候補となる入出力バッファを選定する際、
前記両計数値の差を基に今回のプレライト処理において処理の対象となる入出力バッファの処理数を設定する機能とを実現することを特徴とするデータ処理プログラム。 A data processing program according to any one of claims 13 to 16, comprising:
The number of replacement executions is counted from the past from the start time of the previous prewrite process to the end time of the start position determination process of the current prewrite process, and the current prewrite process from the start time of the previous prewrite process. A function of further counting the number of times of replacement execution until the end of the start position determination process;
When selecting an input / output buffer that is a candidate for this prewrite process,
A data processing program for realizing a function of setting the number of input / output buffers to be processed in the current prewrite processing based on the difference between the two count values. - 請求項13~17の何れか一項に記載のデータ処理プログラムであって、
前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定する際、
今回のプレライト処理を行う対象となる入出力バッファとして選定した入出力バッファのうち、最後にプレライト処理の対象とされた入出力バッファの位置から所定数分減じた位置にある入出力バッファに対し、前記バッファ管理部が参照するまでの時間を前記参照速度に基づいて算出し、該算出結果を前記次回のプレライト処理の実行契機とする機能を実現することを特徴とするデータ処理プログラム。 A data processing program according to any one of claims 13 to 17,
Based on the reference speed, when determining the processing execution trigger of the next prewrite process,
Among the input / output buffers selected as the target for the prewrite process this time, the I / O buffer at the position subtracted a predetermined number from the position of the last input / output buffer that was the target of the prewrite process On the other hand, a data processing program that calculates a time until the buffer management unit refers to based on the reference speed and realizes a function that uses the calculation result as an execution timing of the next prewrite process. - データを一時的に格納する複数の入出力バッファを有する主記憶装置と、前記データを格納する2次記憶装置と、前記入出力バッファに一時的に格納するデータ及び前記2次記憶装置に格納するデータの置換処理を管理するバッファ管理部と、前記入出力バッファに格納されたデータがバッファ管理部において書き出される前に、事前書出しを行うプレライト処理を管理するプレライト管理部と、を有する計算機のデータ処理方法であって、
前記バッファ管理部が、前記置換処理を実施する際に、前記入出力バッファを順番に参照しながら前記データの置換対象となる入出力バッファを選定するステップと、
前記バッファ管理部が、所定時間あたりに前記入出力バッファに対してデータの置換を行った回数である置換実行回数を計測するステップと、
前記バッファ管理部が、前記置換実行回数が前回プレライト処理の対象となった入出力バッファ数以上である場合に、プレライト処理を起動するステップと、
前記プレライト管理部が、前記バッファ管理部によるプレライト処理の起動を条件に、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報と、前記置換実行回数とに基づいて、今回のプレライト処理を行う対象となる入出力バッファを選定するステップと、
前記プレライト管理部が、前記プレライト処理を行う候補となる入出力バッファに、更新データがある場合に、当該入出力バッファに格納されたデータを書き出すステップと、
を含むことを特徴とするデータ処理方法。 Main storage device having a plurality of input / output buffers for temporarily storing data, secondary storage device for storing the data, data to be temporarily stored in the input / output buffer, and storage in the secondary storage device A computer comprising: a buffer management unit that manages data replacement processing; and a prewrite management unit that manages prewrite processing for performing pre-writing before the data stored in the input / output buffer is written in the buffer management unit Data processing method,
When the buffer management unit performs the replacement process, selecting an input / output buffer to be replaced with the data while sequentially referring to the input / output buffer;
Measuring the number of executions of replacement, which is the number of times that the buffer management unit has performed replacement of data for the input / output buffer per predetermined time;
The buffer management unit, when the number of replacement execution times is equal to or more than the number of input / output buffers subjected to previous prewrite processing, starting prewrite processing;
On the condition that the prewrite management unit starts the prewrite process by the buffer management unit, the position information of the input / output buffer that has performed the previous prewrite process and the position of the input / output buffer that is currently referenced by the buffer management unit Selecting an input / output buffer to be subjected to the current prewrite process based on the information and the number of times of replacement execution;
When the prewrite management unit has update data in an input / output buffer that is a candidate for performing the prewrite process, writing the data stored in the input / output buffer;
A data processing method comprising: - データを一時的に格納する複数の入出力バッファを有する主記憶装置と、前記データを格納する2次記憶装置と、前記入出力バッファに一時的に格納するデータ及び前記2次記憶装置に格納するデータの置換処理を管理するバッファ管理部と、前記入出力バッファに格納されたデータがバッファ管理部において書き出される前に、事前書出しを行うプレライト処理を管理するプレライト管理部と、を有する計算機のデータ処理方法であって、
前記バッファ管理部が、前記置換処理を実施する際に、前記入出力バッファを順番に参照しながら前記データの置換対象となる入出力バッファを選定するステップと、
前記バッファ管理部が、所定時間あたりに前記入出力バッファに対してデータの置換を行った回数である置換実行回数を計測するステップと、
前記バッファ管理部が、所定時間あたりに前記複数の入出力バッファに格納されたデータを順番に参照する参照速度を算出するステップと、
前記プレライト管理部が、プレライト処理の実行契機を検出し、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報と、前記置換実行回数とに基づいて、今回のプレライト処理を行う対象となる入出力バッファを選定するステップと、
前記プレライト管理部が、現在バッファ管理部で参照されている入出力バッファの位置情報と前記プレライト処理を行う候補となる入出力バッファの位置情報との差分が規定値未満である場合、前回プレライト処理を行った入出力バッファの位置情報と、現在バッファ管理部で参照されている入出力バッファの位置情報と、前記置換実行回数とに基づいて、今回のプレライト処理を行う対象となる入出力バッファを再度選定するステップと、
前記プレライト管理部が、現在バッファ管理部で参照されている入出力バッファの位置情報と前記プレライト処理を行う候補となる入出力バッファの位置情報との差分が規定値以上である場合であって、前記プレライト処理を行う候補となる入出力バッファに、更新データがある場合に、当該入出力バッファに格納されたデータを書き出すステップと、
前記プレライト管理部が、前記参照速度に基づいて、次回のプレライト処理の処理実行契機を決定するステップと、
を含むことを特徴とするデータ処理方法。
Main storage device having a plurality of input / output buffers for temporarily storing data, secondary storage device for storing the data, data to be temporarily stored in the input / output buffer, and storage in the secondary storage device A computer comprising: a buffer management unit that manages data replacement processing; and a prewrite management unit that manages prewrite processing for performing pre-writing before the data stored in the input / output buffer is written in the buffer management unit Data processing method,
When the buffer management unit performs the replacement process, selecting an input / output buffer to be replaced with the data while sequentially referring to the input / output buffer;
Measuring the number of executions of replacement, which is the number of times that the buffer management unit has performed replacement of data for the input / output buffer per predetermined time;
The buffer management unit calculating a reference speed for sequentially referring to data stored in the plurality of input / output buffers per predetermined time; and
The prewrite management unit detects the execution timing of the prewrite process, the position information of the input / output buffer that has performed the previous prewrite process, the position information of the input / output buffer that is currently referred to by the buffer management unit, and Selecting an input / output buffer to be subjected to the current prewrite process based on the number of replacement executions;
When the difference between the position information of the input / output buffer currently referenced by the buffer management section and the position information of the input / output buffer that is a candidate for performing the prewrite processing is less than a predetermined value, the prewrite management section Based on the position information of the input / output buffer that has been subjected to the prewrite process, the position information of the input / output buffer that is currently referred to by the buffer management unit, and the number of executions of the replacement, the current prewrite process is to be performed. Reselecting the I / O buffer;
This is a case where the difference between the position information of the input / output buffer currently referred to by the buffer management section and the position information of the input / output buffer that is a candidate for the prewrite processing is greater than or equal to a predetermined value. And writing the data stored in the input / output buffer when there is update data in the input / output buffer that is a candidate for performing the prewrite process,
The prewrite management unit determining a processing execution opportunity of a next prewrite process based on the reference speed;
A data processing method comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/642,433 US20130212343A1 (en) | 2010-04-22 | 2011-02-28 | Data processing method, data processing apparatus, and data processing program |
JP2012511518A JP5450803B2 (en) | 2010-04-22 | 2011-02-28 | Data processing method, data processing apparatus, and data processing program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010098652 | 2010-04-22 | ||
JP2010-098652 | 2010-04-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011132357A1 true WO2011132357A1 (en) | 2011-10-27 |
Family
ID=44833902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/001143 WO2011132357A1 (en) | 2010-04-22 | 2011-02-28 | Data processing method, data processing device, and data processing program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5450803B2 (en) |
WO (1) | WO2011132357A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6466756A (en) * | 1987-09-07 | 1989-03-13 | Nec Corp | Roll-back buffer control system |
JPH08328899A (en) * | 1995-06-05 | 1996-12-13 | Hitachi Ltd | Microcomputer and emulator |
JPH09305449A (en) * | 1996-05-16 | 1997-11-28 | Hitachi Ltd | Data base managing system |
JP2003223350A (en) * | 2002-01-29 | 2003-08-08 | Ricoh Co Ltd | Data base system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4313068B2 (en) * | 2003-03-28 | 2009-08-12 | 株式会社日立製作所 | Cache management method for storage device |
-
2011
- 2011-02-28 WO PCT/JP2011/001143 patent/WO2011132357A1/en active Application Filing
- 2011-02-28 JP JP2012511518A patent/JP5450803B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6466756A (en) * | 1987-09-07 | 1989-03-13 | Nec Corp | Roll-back buffer control system |
JPH08328899A (en) * | 1995-06-05 | 1996-12-13 | Hitachi Ltd | Microcomputer and emulator |
JPH09305449A (en) * | 1996-05-16 | 1997-11-28 | Hitachi Ltd | Data base managing system |
JP2003223350A (en) * | 2002-01-29 | 2003-08-08 | Ricoh Co Ltd | Data base system |
Also Published As
Publication number | Publication date |
---|---|
JP5450803B2 (en) | 2014-03-26 |
JPWO2011132357A1 (en) | 2013-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379272B2 (en) | Autoscaling using file access or cache usage for cluster machines | |
US10706009B2 (en) | Techniques to parallelize CPU and IO work of log writes | |
Yan et al. | Tr-spark: Transient computing for big data analytics | |
US8689221B2 (en) | Speculative thread execution and asynchronous conflict events | |
US20210026707A1 (en) | Predictive analysis for migration schedulers | |
US11537446B2 (en) | Orchestration and scheduling of services | |
US20200310869A1 (en) | Information processing apparatus and storage medium storing execution control program | |
US20130151784A1 (en) | Dynamic prioritization of cache access | |
US8458710B2 (en) | Scheduling jobs for execution on a computer system | |
CN110609807B (en) | Method, apparatus and computer readable storage medium for deleting snapshot data | |
US20170262310A1 (en) | Method for executing and managing distributed processing, and control apparatus | |
US10599472B2 (en) | Information processing apparatus, stage-out processing method and recording medium recording job management program | |
CN102855299A (en) | Method for realizing iterative migration of distributed database without interrupting service | |
US7908268B2 (en) | Predictive database pool preparation | |
EP2840513B1 (en) | Dynamic task prioritization for in-memory databases | |
JP5450803B2 (en) | Data processing method, data processing apparatus, and data processing program | |
CN109240941B (en) | Garbage recovery method of storage system and related device | |
US10372578B2 (en) | Dynamically adjusting statistics collection time in a database management system | |
US10871945B2 (en) | Resumable merge sort | |
Zhang et al. | PAME: precision-aware multi-exit DNN serving for reducing latencies of batched inferences | |
JP5147296B2 (en) | Computer system, database management method and program | |
JP6764175B2 (en) | Database management system and database management method | |
CN107577517B (en) | NUMA memory architecture-oriented fine-grained vCPU scheduling method and system | |
US20130212343A1 (en) | Data processing method, data processing apparatus, and data processing program | |
CN111352860B (en) | Garbage recycling method and system in Linux Bcache |
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: 11771701 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012511518 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13642433 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11771701 Country of ref document: EP Kind code of ref document: A1 |