System and method for flexible device driver resource allocation
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/50
G06F-009/44
G06F-009/46
출원번호
US-0334552
(2008-12-15)
등록번호
US-9389921
(2016-07-12)
우선권정보
IN-133/CHE/2008 (2008-01-14)
발명자
/ 주소
Muppirala, Kishore Kumar
Nellayi, Narayanan Ananthakrishnan
Hegde, Vijay Vishwanath
출원인 / 주소
Hewlett Packard Enterprise Development LP
대리인 / 주소
Trop, Pruner & Hu, P.C.
인용정보
피인용 횟수 :
0인용 특허 :
11
초록▼
A system and method for flexible device driver resource allocation is disclosed. In one embodiment, a method for allocating device driver resources in a data processing system includes statically allocating hardware resource pools to device drivers on a rigid basis during initialization of the data
A system and method for flexible device driver resource allocation is disclosed. In one embodiment, a method for allocating device driver resources in a data processing system includes statically allocating hardware resource pools to device drivers on a rigid basis during initialization of the data processing system, and dynamically altering the allocated hardware resource pools to the device drivers based on parameters associated with utilization of the allocated hardware resource pools during run-time.
대표청구항▼
1. A method of dynamically allocating device driver resources from system resources in a data processing system, comprising: statically allocating hardware resource pools to device drivers on a rigid basis during initialization of the data processing system; anddynamically altering the allocated har
1. A method of dynamically allocating device driver resources from system resources in a data processing system, comprising: statically allocating hardware resource pools to device drivers on a rigid basis during initialization of the data processing system; anddynamically altering the allocated hardware resource pools to the device drivers based on parameters associated with utilization of the allocated hardware resource pools during run-time, wherein dynamically altering the allocated hardware resource pools comprises:determining whether a hardware throughput during the run-time is less than or equal to a hardware throughput threshold value;if so, determining whether a number of input/outputs (I/Os) waiting at an operating system (OS) interface queue during the run-time is greater than or equal to a predetermined number of waiting I/Os threshold value; andif the number of I/Os waiting at the OS interface queue during the run-time is greater than or equal to the predetermined number, dynamically increasing the allocated hardware resource pools to the device drivers. 2. The method of claim 1, further comprising: if the hardware throughput during the run-time is not less than or equal to the hardware throughput threshold value, then determining whether the number of I/Os waiting at the OS interface queue during the run-time is greater than or equal to the predetermined number of waiting I/Os threshold value;if so, informing an OS layer to regulate I/Os. 3. The method of claim 1, further comprising: if the number of I/Os waiting at the OS interface queue during the run-time is not greater than or equal to the predetermined number of waiting I/Os threshold value, then determining whether an average hardware pool utilization during the run-time is below or equal to a predetermined hardware pool utilization threshold value;if so, dynamically decreasing the allocated hardware resource pools to the device drivers. 4. The method of claim 3, wherein the predetermined hardware pool utilization threshold value is based on parameters selected from the group consisting of percentage of current hardware pool size and ratio of current hardware pool size. 5. The method of claim 3, wherein the predetermined number of waiting I/Os threshold value is based on parameters selected from the group consisting of percentage of hardware pool size and ratio of current hardware pool size. 6. The method of claim 1, wherein dynamically altering the allocated hardware resource pools to the device drivers comprises: suspending the device drivers;dynamically altering the allocated hardware resource pools to the device drivers while the device drivers are suspended; andresuming the device drivers. 7. The method of claim 1, wherein dynamically altering the allocated hardware resource pools to the device drivers comprises: waiting until current pending I/Os are drained;dynamically altering the allocated hardware resource pools to the device drivers after the current pending I/Os are drained; andresuming new I/Os after the dynamic altering of the allocated hardware resource pools. 8. The method of claim 1, wherein the number of I/Os waiting at the OS interface queue is an average number of I/Os waiting at the OS interface queue. 9. An article, comprising: a non-transitory storage medium having instructions that when executed by a computer cause the computer to:statically allocate hardware resource pools to device drivers on a rigid basis during initialization of the data processing system; anddynamically alter at least one of the allocated hardware resource pools to the corresponding device driver during run-time, wherein the dynamically altering comprises:determining whether a hardware throughput during the run-time is less than or equal to a hardware throughput threshold value;if so, determining whether a number of input/outputs (I/Os) waiting at an operating system (OS) interface queue during the run-time is greater than or equal to a predetermined number; andif the number of I/Os waiting at the OS interface queue during the run-time is greater than or equal to the predetermined number, dynamically increasing the at least one allocated hardware resource pool to the corresponding device driver. 10. The article of claim 9, wherein the instructions when executed cause the computer to further: if the hardware throughput during the run-time is not less than or equal to the hardware throughput threshold value, then determine whether the number of I/Os waiting at the OS interface queue during the run-time is greater than or equal to the predetermined number;if so, inform an OS layer to regulate I/Os. 11. The article of claim 9, wherein the instructions when executed cause the computer to further: if the number of I/Os waiting at the OS interface queue during the run-time is not greater than or equal to the predetermined number, then determine whether a hardware pool utilization during the run-time is below or equal to a predetermined hardware pool utilization threshold value;if so, dynamically decrease the at least one allocated hardware resource pool to the corresponding device driver. 12. The article of claim 9, wherein the number of I/Os waiting at the OS interface queue is an average number of I/Os waiting at the OS interface queue. 13. A system, comprising: at least one processor;a plurality of device drivers executable on the at least one processor, wherein each device driver is coupled between an operating system (OS) interface pool and associated interface hardware, wherein at least a given one of the plurality of device drivers comprises:a device driver resource management module for statically allocating a hardware resource pool to the given device driver on a rigid basis during initialization, and wherein the device driver resource management module is configured to dynamically alter the allocated hardware resource pool to the given device driver during run-time, the dynamically altering comprising:determining whether a hardware throughput of hardware associated with the given device driver is below a throughput threshold during run-time;in response to the hardware throughput being below the throughput threshold, determining whether a number of input/outputs (I/Os) at an operating system (OS) interface queue exceeds a predetermined number; andin response to determining that the number of I/Os at the OS interface queue exceeds the predetermined number, dynamically increasing the allocated hardware resource pool during the run-time. 14. The system of claim 13, wherein if the device driver resource management module determines that the number of I/Os at the OS interface queue during the run-time exceeds the predetermined number in response to the hardware throughput during the run-time not being below the throughput threshold, the device driver management module is configured to inform an OS layer to regulate I/Os. 15. The system of claim 13, wherein if the device driver resource management module determines that an average hardware pool utilization during the run-time is below or equal to a predetermined hardware pool utilization threshold in response to the number of I/Os at the OS interface queue during the run-time not exceeding the predetermined number the device driver resource management module is configured to dynamically decrease the allocated hardware resource pool to the given device driver. 16. The system of claim 13, wherein the number of I/Os at the OS interface queue is an average number of I/Os at the OS interface queue.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (11)
Krishnamurthy, Vikram Harakere, Adaptive resource allocation in multi-drive arrays.
Leong,James; Sundaram,Rajesh; Doucette,Douglas P.; Schoenthal,Scott; Strange,Stephen H.; Viswanathan,Srinivasan, Method and apparatus for resource allocation in a raid system.
Delp Gary Scott ; Guerin Roch A. ; Leichty Philip Lynn ; Peris Vinod Gerard John ; Rajan Rajendran ; Slane Albert Alfonse, Method and apparatus for resource allocation with guarantees.
Duyanovich, Linda M.; Gomez, Juan C.; Pollack, Kristal T.; Uttamchandani, Sandeep M., Technique for mapping goal violations to anamolies within a system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.