WO2006007043A2 - Autonomically tuning the virtual memory subsystem of a computer operating system - Google Patents
Autonomically tuning the virtual memory subsystem of a computer operating system Download PDFInfo
- Publication number
- WO2006007043A2 WO2006007043A2 PCT/US2005/015493 US2005015493W WO2006007043A2 WO 2006007043 A2 WO2006007043 A2 WO 2006007043A2 US 2005015493 W US2005015493 W US 2005015493W WO 2006007043 A2 WO2006007043 A2 WO 2006007043A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- wait
- memory space
- lower threshold
- free
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- This invention pertains to the virtual memory management component of a computer operating system. More specifically, this invention pertains to the tuning of the threshold values used by any Page Replacement algorithm of the virtual memory manager of an Operating system.
- VMM Virtual Memory Manager
- OS Operating System
- VMM Virtual Memory Manager
- One of the primary responsibilities of a VMM is to page out the contents of a main memory block (called a "frame” or “page frame”) that is under-utilized to paging space on disk, and to re-allocate that frame to another application that needs main memory. This is typically achieved with the help of a daemon process called "Page Replacement daemon” (also called an "LRU daemon” in most UNIX operating systems).
- Page Replacement daemon also called an "LRU daemon” in most UNIX operating systems
- the Page Replacement daemon typically starts paging out frames before the number of free frames in the OS goes down to zero, in anticipation of the need for additional free frames in the OS.
- the VMM can decide when to kick off the Page Replacement daemon and how many pages it should free up in each run, by using two tunable parameters min_free and max_free.
- the Page Replacement daemon is kicked off as soon as the number of free frames goes below minjree, and in each run it frees up enough pages so that the number of free frames at the end reaches maxjree.
- these parameters have to be explicitly input by a system administrator in order to tune the performance of the VMM to suit the needs of the applications running in the OS. Because this tuning requires human manual input, these parameters are rarely being tuned, resulting in sub-optimal performance of the VMM, and hence of the OS. This lack of tuning translates into more cost for the IT organization.
- This invention provides a method for improving memory availability in an
- OS by automatically changing a parameter, known as a lower threshold, in response to the OS's memory load. More free memory space is created when the current free memory space goes below the lower threshold.
- a more specific preferred embodiment of this invention provides a method for automatically tuning the memory manager of an OS by setting a lower threshold of free memory space to an initial value and automatically changing this lower threshold when the current "thread wait rate" differs from a target "thread wait rate", where "thread wait rate” is the number of threads waiting per unit time over a specified time interval.
- the memory manager will then initiate an operation to make more memory space available when free memory space falls below the lower threshold.
- Figure 1 shows the major subsystems of a typical computer operating system.
- Figure 2 shows the data structures used in implementing the current page replacement algorithm.
- Figure 3 shows a flow chart of the current Page Replacement algorithm.
- Figure 4 shows the data structures used in a preferred embodiment to implement dynamic autonomic tuning of the page replacement daemon.
- Figure 5 shows a flow chart of the new Page Replacement algorithm with this invention.
- Figure 6 shows how min_free and max_free will be changed by the LRU daemon with respect to time.
- Figure 7 is a diagram of an illustrative hardware implementation of a computing system in accordance with which one or more components/methodologies of the present invention may be implemented.
- a typical operating system kernel 10 consists of several components - Virtual Memory Manager (VMM) 20, Process Manager 30, File systems 40, Networking subsystems 50, etc.
- File systems 40 provides structured access to the hard disk drive.
- the Process Manager schedules processes and threads on to processors, while the Networking subsystems allows applications to communicate with other machines or computers.
- This invention pertains to the virtual memory manager component of the Operating System (OS), and other components are not 5 described in this application because they are well known in the art.
- Figure 2 shows some of the data structures that the VMM 20 maintains to manage the system memory.
- the VMM 20 maintains one or more free lists 21 to keep track of the free page frames 22 in the real memory.
- VMM 20 also maintains the total number of free frames in a variable nfree 63. When a request for a free page comes, the VMM 20 will check if
- nfree is >0, and if so, it searches its free lists 21 to get a free page.
- VMM 20 will invoke the Page Replacement daemon (also known as the LRU daemon) 25 to initiate page-out to create a free page frame 22 by evicting the contents of in-use page frames 23 to disk 51.
- this page-out is implemented
- Page Replacement Daemon will pageout enough number of page frames such that at the end of its run nfree will be greater than or equal to maxjree. All the unfulfilled requests for free page frames are queued onto a waitlist 32 as shown in figure 2. The requesting threads 33 are woken up when a free page frame becomes available later.
- Box 101 represents the invocation of the Page replacement daemon when nfree ⁇ minjree.
- the Page Replacement daemon calculates the number of pages to be paged out by subtracting nfree 63 from maxjree 61.
- it scans
- the in-use page frame list 23 to find appropriate candidates for eviction.
- the Page Replacement daemon starts scanning the memory for selecting candidate pages for eviction, there are several possible policies to decide which particular pages will be paged out. This invention does not depend on any particular policy used for choosing the candidate pages for eviction. After evicting the number of pages as calculated in
- the Page Replacement daemon checks again whether nfree is still less than maxjree in 104. This can happen if page frames are being consumed immediately after they are being freed. If the predicate in 104 evaluates to true, then branch 106 is taken and it re-starts step 102. Otherwise, branch 105 is taken and the Page Replacement daemon goes back to sleep in 107. [0021 ] Given the above description, it can be observed that the goal of the
- VMM's Page Replacement daemon is to balance the cost of having too many free page requesters 33 on the waitlist 32 with the cost of evicting too many in-use pages 24 prematurely.
- This invention addresses this issue by providing mechanisms to determine the optimal values for the parameters minjree 61 and maxjree 62 and to adjust these parameters on an ongoing basis as the number of waiters for a free frame change.
- Figure 4 shows the data structures in the preferred embodiment that are required to implement this invention.
- the OS will then convert this total time into clock tics, and add it to the thrd_wait 35 counter, which contains the total amount of time in clock tics all the threads together have spent in the wait list.
- This counter will be reset by the Page Replacement daemon as we will describe in figure 5. So the thrd_wait 35 counter contains the total waiting time for all the threads that were enqueued to, and later dequeued from, the waitlist at some point between two runs of the Page Replacement daemon.
- the Page Replacement daemon maintains another variable thrd_wait_rat ⁇ 37, which is the average number of threads waiting per clock tic. It is maintained in units of counts per clockjic, so that this value is normalized across systems with different CPU frequencies.
- thrd_wait_rat ⁇ 37 The value of thrd_wait_rat ⁇ 37 is computed each time the Page Replacement daemon is kicked off, as a ratio of the cumulative total amount of time all the threads have spent waiting since the last run and the number of clock tics encompassed between the two runs.
- the Page Replacement daemon also maintains another variable strtjime 39 used to calculate the number of encompassed clock tics between the two runs mentioned above.
- the thrd_wait_rate_tgt 38 value given in figure 4 is used by the Page Replacement daemon to calculate by how much the minjree and the maxjree have to be changed.
- the flow chart given in figure 5 summarizes the new behavior of the Page Replacement daemon.
- Box 201 represents the invocation of the Page Replacement daemon when nfree ⁇ minjree.
- the Page Replacement daemon calculates the elapsed time since its last run and the total amount of time in clock tics all the threads spent in the waitlist since the last run. The elapsed time is calculated by reading the current system time and subtracting the previously recorded strtjime 38 value. The total amount of time all the threads have waited since the last run, consists of two parts. The first part is the total wait time of the threads that are not currently in the wait list. This is maintained in the thrd_wait counter by the OS.
- the second part is the total time the threads that are still in wait list have spent in the queue.
- the Page replacement daemon 25 calculates this second part by walking through the wait list 32, subtracting each thread's waitlist_enquejime 36 from the current time, and summing up all the waiting times.
- the total waiting time of all threads, either in or out of the wait list, is calculated by adding the above value to the thrd_wait counter 35.
- An alternative mechanism to calculate the total waiting time of all threads is to poll the waitlist once every clock tic to count the number of threads in the waitlist, and add it to the thrd_wait counter.
- the Page Replacement daemon does not have to walk through the wait list at the beginning of each run.
- the disadvantage is that the OS has to do additional work at every clock tic, which may be too much of overhead.
- the Page Replacement daemon calculates the elapsed time and the total thread waiting time in 202, it also resets the time stamp values strt_time and the per-thread waitlisLenqueJime to the current system time immediately after reading those variables. It will also reset thrd_waitjime to 0 so that this counter contains the waiting time for all the threads that will go through the wait list from now on. In 203 the Page Replacement daemon calculates the thrd_wait_rate 36 by dividing the total thread waiting time by the elapsed time.
- the minjree 61 and maxjree 62 values based on the difference between thrd_wait_rate calculated above and the pre-set target value thrd_wait_ratejgt, as given below.
- the desired minjree value should be increased if the thrd_wait_rate is higher than thrd_wait_ratejgt, and decreased if the thrd_wait_rate is lower than the thrd_waiLrate_tgt.
- the desired min_free is calculated as given below.
- desired min_free minjree * thrd_wait_rate / thrd_wait_ratejgt
- the min__free parameter is updated as the average of the desired min_free value and the current value. This averaging provides a bit of damping against oscillations due to spikes in the workload.
- the maxjree parameter is updated to maintain the same gap between maxjree and min_free as before this update of min__free.
- the rest of the steps for the Page Replacement daemon - 205, 206, 207, 208, 209, and 210 - are similar to the steps in figure 3 - 102, 103, 104, 105, 106, and 107 - respectively. More specifically, in 205, the Page Replacement daemon calculates the number of pages to be paged out by subtracting nfree 63 from maxjree 61. In 206, it scans the in-use page frame list to find appropriate candidates for eviction. Once the Page Replacement daemon starts scanning the memory for selecting candidate pages for eviction, there are several possible policies to decide which particular pages will be paged out.
- This invention does not depend on any particular policy used for choosing the candidate pages for eviction.
- the Page Replacement daemon checks again whether nfree is still less than maxjree in 207. This can happen if page frames are being consumed immediately after they are being freed. If the predicate in 207 evaluates to true, then branch 209 is taken and step 205 starts again. Otherwise, branch 208 is taken and the Page Replacement daemon goes back to sleep in 210.
- Figure 6 illustrates with the help of a timeline, how the thrd_wait_rate is calculated.
- the arrow 381 serves as a reference line for the wall clock time.
- the 3 time stamps tsu ts 2 , and ts 3 represent the beginning of 3 runs of the Page Replacement daemon.
- the double-headed arrows shown about the time axis represent the amount of time each run of the Page Replacement daemon 25 took to complete. It can be observed from the figure that each run of the Page Replacement daemon takes a different amount of time to complete. Also, the elapsed time between 2 consecutive instances of the Page Replacement daemon is not fixed.
- the TW n value at each time stamp represents the total amount of time all the threads spent in the wait queue since the last run of the Page Replacement daemon.
- the TW n value is calculated using the thrd_wait counter and the waitlist_enque_time of each thread in the wait list, as described in the earlier paragraph.
- minjree 61 and maxjree 62 are set to some default values.
- strt_time 39 is initialized to the current time.
- nthrds_waited will contain the number of threads that have contributed to the value in thrd_wait.
- nihrds_waitingm ⁇ contain the number of threads currently in the waitlist. Both of these variables are updated whenever a thread is leaving the wait list; nthrds_waiting is also updated when a thread is enqueued onto the waitlist.
- thrd_wait_rate (thrd_wait + ((thrd_wait / nthrds_waited) * nthrds_waiting)) I (current time - strt_time)
- FlG. 7 is a high level block diagram showing an information processing system useful for implementing one embodiment of the present invention.
- the computer system includes one or more processors, such as processor 704.
- the processor 704 is connected to a communication infrastructure 702 (e.g., a communications bus, cross-over bar, or network).
- a communication infrastructure 702 e.g., a communications bus, cross-over bar, or network.
- the computer system can include a display interface 708 that forwards graphics, text, and other data from the communication infrastructure 702 (or from a frame buffer not shown) for display on the display unit 710.
- the computer system also includes a main memory 706, preferably random access memory (RAM), and may also include a secondary memory 712.
- the secondary memory 712 may include, for example, a hard disk drive 714 and/or a removable storage drive 716, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
- the removable storage drive 716 reads from and/or writes to a removable storage unit 718 in a manner well known to those having ordinary skill in the art.
- Removable storage unit 718 represents a floppy disk, a compact disc, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 716.
- the removable storage unit 718 includes a computer readable medium having stored therein computer software and/or data.
- the secondary memory 712 may include other similar means for allowing computer programs or other instructions to be loaded into the computer system.
- Such means may include, for example, a removable storage unit 722 and an interface 720. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 722 and interfaces 720 which allow software and data to be transferred from the removable storage unit 722 to the computer system.
- the computer system may also include a communications interface 724.
- Communications interface 724 allows software and data to be transferred between the computer system and external devices.
- Examples of communications interface 724 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc.
- Software and data transferred via communications interface 724 are in the form of signals which may be, for example, electronic, electromagnetic, optical, or other signals capable of being received by communications interface 724. These signals are provided to communications interface 724 via a communications path (i.e., channel) 726.
- This channel 726 carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link, and/or other communications channels.
- the terms "computer program medium,” “computer usable medium,” and “computer readable medium” are used to generally refer to media such as main memory 706 and secondary memory 712, removable storage drive 716, a hard disk installed in hard disk drive 714, and signals. These computer program products are means for providing software to the computer system.
- the computer readable medium allows the computer system to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium.
- the computer readable medium may include non-volatile memory, such as a floppy disk, ROM, flash memory, disk drive memory, a CD-ROM, and other permanent storage. It is useful, for example, for transporting information, such as data and computer instructions, between computer systems.
- the computer readable medium may comprise computer readable information in a transitory state medium such as a network link and/or a network interface, including a wired network or a wireless network that allows a computer to read such computer readable information.
- Computer programs are stored in main memory 706 and/or secondary memory 712. Computer programs may also be received via communications interface 724. Such computer programs, when executed, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 704 to perform the features of the computer system. Accordingly, such computer programs represent controllers of the computer system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP05749977A EP1782205A2 (en) | 2004-06-30 | 2005-05-04 | Autonomically tuning the virtual memory subsystem of a computer operating system |
| JP2007519201A JP2008505389A (ja) | 2004-06-30 | 2005-05-04 | コンピュータ・オペレーティング・システムの仮想メモリのサブシステムを自動調整する方法、プログラム記憶デバイス、および装置 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/881,508 US20060004977A1 (en) | 2004-06-30 | 2004-06-30 | Autonomically tuning the virtual memory subsystem of a computer operating system |
| US10/881,508 | 2004-06-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2006007043A2 true WO2006007043A2 (en) | 2006-01-19 |
| WO2006007043A3 WO2006007043A3 (en) | 2007-04-26 |
Family
ID=35515385
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2005/015493 Ceased WO2006007043A2 (en) | 2004-06-30 | 2005-05-04 | Autonomically tuning the virtual memory subsystem of a computer operating system |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20060004977A1 (enExample) |
| EP (1) | EP1782205A2 (enExample) |
| JP (1) | JP2008505389A (enExample) |
| KR (1) | KR20070024552A (enExample) |
| CN (1) | CN101124551A (enExample) |
| TW (1) | TW200602869A (enExample) |
| WO (1) | WO2006007043A2 (enExample) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8055876B2 (en) * | 2008-06-06 | 2011-11-08 | International Business Machines Corporation | Selectively mark free frames as unused for cooperative memory over-commitment |
| US8799892B2 (en) * | 2008-06-09 | 2014-08-05 | International Business Machines Corporation | Selective memory donation in virtual real memory environment |
| US8312201B2 (en) * | 2008-06-09 | 2012-11-13 | International Business Machines Corporation | Managing memory allocations loans |
| US8230155B2 (en) | 2008-06-26 | 2012-07-24 | Microsoft Corporation | Direct memory access filter for virtualized operating systems |
| FR2939223A3 (fr) * | 2008-12-02 | 2010-06-04 | Toluna | Procede pour optimiser le fonctionnement d'un systeme pour realiser au moins un sondage en ligne, systeme mettant en oeuvre le procede |
| CN101430670B (zh) * | 2008-12-16 | 2010-06-23 | 中国科学院计算技术研究所 | 一种在虚拟化环境中i/o设备重构的方法及系统 |
| KR101618634B1 (ko) | 2009-01-07 | 2016-05-09 | 삼성전자주식회사 | 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법 |
| KR101612922B1 (ko) * | 2009-06-09 | 2016-04-15 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템 관리 방법 |
| CN101833512A (zh) * | 2010-04-22 | 2010-09-15 | 中兴通讯股份有限公司 | 一种内存回收方法及其装置 |
| US8713565B2 (en) | 2010-04-28 | 2014-04-29 | International Business Machines Corporation | Automated tuning in a virtual machine computing environment |
| WO2012126180A1 (en) | 2011-03-24 | 2012-09-27 | Microsoft Corporation | Multi-layer search-engine index |
| US8683169B2 (en) | 2011-05-05 | 2014-03-25 | International Business Machines Corporation | Selecting an auxiliary storage medium for writing data of real storage pages |
| US8799611B2 (en) * | 2011-05-05 | 2014-08-05 | International Business Machines Corporation | Managing allocation of memory pages |
| US8656133B2 (en) | 2011-05-05 | 2014-02-18 | International Business Machines Corporation | Managing storage extents and the obtaining of storage blocks within the extents |
| US8793444B2 (en) * | 2011-05-05 | 2014-07-29 | International Business Machines Corporation | Managing large page memory pools |
| US8868876B2 (en) | 2011-12-28 | 2014-10-21 | International Business Machines Corporation | Dedicated large page memory pools |
| US9367439B2 (en) * | 2012-04-30 | 2016-06-14 | Oracle International Corporation | Physical memory usage prediction |
| US9696933B2 (en) * | 2014-08-15 | 2017-07-04 | International Business Machines Corporation | Virtual machine manager initiated page-in of kernel pages |
| US9996455B2 (en) | 2015-12-09 | 2018-06-12 | International Business Machines Corporation | Virtual storage address threshold for freemained frames |
| JP2017201481A (ja) * | 2016-05-06 | 2017-11-09 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
| JP7007557B2 (ja) * | 2017-08-24 | 2022-01-24 | 富士通株式会社 | 情報処理装置、プロセス管理方法およびプロセス管理プログラム |
| JP2020031307A (ja) * | 2018-08-21 | 2020-02-27 | 京セラドキュメントソリューションズ株式会社 | 電子機器及びメモリー管理プログラム |
| CN112099955A (zh) * | 2020-09-27 | 2020-12-18 | 合肥移瑞通信技术有限公司 | 安卓系统运行内存的控制方法、装置及介质、计算机设备 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6112301A (en) * | 1997-01-15 | 2000-08-29 | International Business Machines Corporation | System and method for customizing an operating system |
| US6427161B1 (en) * | 1998-06-12 | 2002-07-30 | International Business Machines Corporation | Thread scheduling techniques for multithreaded servers |
| US7080379B2 (en) * | 2002-06-20 | 2006-07-18 | International Business Machines Corporation | Multiprocessor load balancing system for prioritizing threads and assigning threads into one of a plurality of run queues based on a priority band and a current load of the run queue |
| US7120753B2 (en) * | 2004-04-20 | 2006-10-10 | International Business Machines Corporation | System and method for dynamically adjusting read ahead values based upon memory usage |
-
2004
- 2004-06-30 US US10/881,508 patent/US20060004977A1/en not_active Abandoned
-
2005
- 2005-05-04 JP JP2007519201A patent/JP2008505389A/ja active Pending
- 2005-05-04 CN CNA200580014596XA patent/CN101124551A/zh active Pending
- 2005-05-04 EP EP05749977A patent/EP1782205A2/en not_active Withdrawn
- 2005-05-04 KR KR1020067025218A patent/KR20070024552A/ko not_active Ceased
- 2005-05-04 WO PCT/US2005/015493 patent/WO2006007043A2/en not_active Ceased
- 2005-06-03 TW TW094118421A patent/TW200602869A/zh unknown
Also Published As
| Publication number | Publication date |
|---|---|
| CN101124551A (zh) | 2008-02-13 |
| TW200602869A (en) | 2006-01-16 |
| WO2006007043A3 (en) | 2007-04-26 |
| KR20070024552A (ko) | 2007-03-02 |
| EP1782205A2 (en) | 2007-05-09 |
| JP2008505389A (ja) | 2008-02-21 |
| US20060004977A1 (en) | 2006-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20060004977A1 (en) | Autonomically tuning the virtual memory subsystem of a computer operating system | |
| US11068301B1 (en) | Application hosting in a distributed application execution system | |
| US8019954B2 (en) | Kernel and application cooperative memory management | |
| US7024512B1 (en) | Compression store free-space management | |
| JP5939740B2 (ja) | 動的にリソースを割り当てる方法、システム及びプログラム | |
| US5537635A (en) | Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size | |
| EP3796168A1 (en) | Information processing apparatus, information processing method, and virtual machine connection management program | |
| Yang et al. | Redline: First Class Support for Interactivity in Commodity Operating Systems. | |
| US8145759B2 (en) | Dynamically configurable resource pool | |
| CN110058786B (zh) | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 | |
| US8812454B2 (en) | Apparatus and method for managing storage of data blocks | |
| US20140372723A1 (en) | Dynamically optimizing memory allocation across virtual machines | |
| US20100332883A1 (en) | Method and system for event-based management of resources | |
| EP1426861A2 (en) | Resource management system in user-space | |
| CN108073457B (zh) | 一种超融合基础架构的分层资源管理方法、装置及系统 | |
| US20030115118A1 (en) | Resource utilization management | |
| US20090288089A1 (en) | Method for prioritized event processing in an event dispatching system | |
| US7660964B2 (en) | Windowing external block translations | |
| US7904688B1 (en) | Memory management unit for field programmable gate array boards | |
| Molano et al. | Dynamic disk bandwidth management and metadata pre-fetching in a real-time file system | |
| Yoshida et al. | A caching filesystem for increasing locality in the second cache in a virtualized environment | |
| KR20250134423A (ko) | 시공간적 예산 공유를 활용한 유연한 콘텐츠 캐싱 방법 및 시스템 | |
| CN120144192A (zh) | 一种操作系统移植方法 | |
| CN121166359A (en) | MemGuard-based dynamic regulation and control method for memory bandwidth of embedded virtual machine | |
| CN118363720A (zh) | 一种任务调度方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 200580014596.X Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020067025218 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2007519201 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2005749977 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 709/DELNP/2007 Country of ref document: IN |
|
| WWP | Wipo information: published in national office |
Ref document number: 1020067025218 Country of ref document: KR |
|
| WWP | Wipo information: published in national office |
Ref document number: 2005749977 Country of ref document: EP |