IP Library › Granted Patent US 9,411,638
Granted Patent B2
US 9,411,638 · App. 14/134,472 · Granted Aug 9, 2016

Application startup page fault management in a hardware multithreading environment

Inventors: Vishal C. Aslot (Austin, TX); Adekunle Bello (Pflugerville, TX); Gunisha Madan (Austin, TX)
Assignee: International Business Machines Corporation
G06F9/4843G06F9/5038G06F11/30G06F9/4881G06F12/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,411,638
App. No.
14/134,472
Granted
Aug 9, 2016
Kind
B2
Abstract

A method, system and computer-usable medium are disclosed for startup page fault management improves application startup performance by assigning startup tasks to a hardware thread 0 across plural processing cores in a simultaneous multithreading environment to provide more rapid processing of processor bound page faults. I/O bound page faults are flagged to associated with predetermined cache locations to improve data and text first reference page-in I/O response.

Claims (33)

1. A system comprising:

a processor;

a data bus coupled to the processor; and

a computer-usable medium embodying computer program code, the computer-usable medium being coupled to the data bus, the computer program code used for application startup page fault management and comprising instructions executable by the processor and configured for:

detecting of an application startup for an application designated to receive the application startup page fault management;

determining plural tasks associated with the startup of the application;

scheduling the plural tasks to a hardware thread 0 of each of plural processor cores; executing application startup to a predetermined steady state, wherein the predetermined steady state comprises at least a predetermined number of dispatches of each of the plural tasks on their respective thread 0 ; and

responsive to the predetermined steady state, scheduling tasks associated with the application to hardware threads in addition to thread 0 .

2. The system of claim 1 , wherein the instructions executable by the processor are further configured for:

caching plural first reference page-in I/Os of the application in a predetermined cache in association with a flag;

detecting a first reference page-in I/O flag during the executing application startup; and

in response to detecting, retrieving the first reference page-in I/O from the predetermined cache.

3. The system of claim 2 , wherein caching plural first reference page-in I/Os of the application further comprises:

monitoring startup of the application to detect page faults; and

in response to detecting a page fault, caching the page-in I/O of the fault in association with the first reference page-in I/O flag.

4. The system of claim 3 , wherein the predetermined steady state comprises retrieval of predetermined cached first reference page-in I/Os.

5. The system of claim 1 , wherein detecting of an application startup for an application designated to receive the application startup page fault management further comprises detecting one of a fork, exec, or thread create_system calls.

6. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

detecting of an application startup for an application designated to receive the application startup page fault management;

determining plural tasks associated with the startup of the application;

scheduling the plural tasks to a hardware thread 0 of each of plural processor cores; executing application startup to a predetermined steady state, wherein the predetermined steady state comprises at least a predetermined number of dispatches of each of the plural tasks on their respective thread 0 ; and

responsive to the predetermined steady state, scheduling tasks associated with the application to hardware threads in addition to thread 0 .

7. The non-transitory, computer-readable storage medium of claim 6 , wherein the instructions executable by the processor are further configured for:

caching plural first reference page-in I/Os of the application in a predetermined cache in association with a flag;

detecting a first reference page-in I/O flag during the executing application startup; and

in response to detecting, retrieving the first reference page-in I/O from the predetermined cache.

8. The non-transitory, computer-readable storage medium of claim 7 , wherein caching plural first reference page-in I/Os of the application further comprises:

monitoring startup of the application to detect page faults; and

in response to detecting a page fault, caching the page-in I/O of the fault in association with the first reference page-in I/O flag.

9. The non-transitory, computer-readable storage medium of claim 8 , wherein the predetermined steady state comprises retrieval of predetermined cached first reference page-in I/Os.

10. The non-transitory, computer-readable storage medium of claim 6 , wherein detecting of an application startup for an application designated to receive the application startup page fault management further comprises detecting one of a fork, exec, or thread_create system calls.

11. The non-transitory, computer-readable storage medium of claim 6 , wherein the computer executable instructions are deployable to a client system from a server system at a remote location.

12. The non-transitory, computer-readable storage medium of claim 6 , wherein the computer executable instructions are provided by a service provider to a user on an on-demand basis.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: ASLOT, VISHAL C.; BELLO, ADEKUNLE; MADAN, GUNISHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031821/0014 →
Continuity (1)
Related Publication 20150178219A1 · Jun 25, 2015