An interrupt is generated based on an event. Further, a thread is selected for monitoring. In addition, an interrupt handler captures information for the monitored thread. An affinity of the monitored thread is set such that the monitored thread runs only on a current processor without being able to
An interrupt is generated based on an event. Further, a thread is selected for monitoring. In addition, an interrupt handler captures information for the monitored thread. An affinity of the monitored thread is set such that the monitored thread runs only on a current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor.
대표청구항▼
1. A computer program product for multi-threading, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:computer readable program code configured to generate
1. A computer program product for multi-threading, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:computer readable program code configured to generate an interrupt based on an event;computer readable program code configured to select a thread for monitoring;computer readable program code configured to capture information, with an interrupt handler, for a monitored thread;computer readable program code configured to set an affinity of the monitored thread such that the monitored thread runs only on a current processor without being able to migrate to a different processor; andcomputer readable program code configured to retrieve, with a sampler thread that runs on the current processor, a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor. 2. The computer program product of claim 1, wherein the computer readable program code is also configured to restore the affinity of the monitored thread after the call stack has been retrieved. 3. The computer program product of claim 1, wherein the monitored thread is selected utilizing a subsequent thread in a list of threads. 4. The computer program product of claim 1, wherein the interrupt handler selects the monitored thread in response to taking an interrupt. 5. The computer program product of claim 1, wherein the monitored thread is selected by a sampler thread. 6. The computer program product of claim 1, wherein the monitored thread is selected randomly according to a random selection process. 7. The computer program product of claim 6, wherein the random selection process includes a weighting related to a number of times each thread is interrupted. 8. The computer program product of claim 1, wherein the current processor is busy at the time the interrupt is signaled and the monitored thread is not currently executing. 9. The computer program product of claim 1, wherein the monitored thread is selected from a list of threads identified during a warm up phase before the call stacks are recorded. 10. A method comprising: generating, using a computer having storage, an interrupt based on an event;selecting a thread for monitoring;capturing information, with an interrupt handler, for a monitored thread;setting an affinity of the monitored thread such that the monitored thread runs only on a current processor without being able to migrate to a different processor;retrieving, with a sampler thread that runs on the current processor, a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor; andrestoring the affinity of the monitored thread after the call stack has been retrieved. 11. The method of claim 10, further comprising restoring the affinity of the monitored thread after the call stack has been retrieved. 12. The method of claim 10, wherein the interrupt handler selects the monitored thread in response to taking an interrupt. 13. The method of claim 10, wherein the monitored thread is selected by a sampler thread. 14. The method of claim 10, wherein the monitored thread is selected randomly according to a random selection process. 15. The method of claim 14, wherein the random selection process includes a weighting related to a number of times each thread is interrupted. 16. The method of claim 10, wherein the current processor is busy at the time the interrupt is signaled and the monitored thread is not currently executing. 17. The method of claim 10, wherein the monitored thread is selected from a list of threads identified during a warm up phase before the call stacks are recorded. 18. A system comprising: processors; andstorage coupled to the processors, wherein the storage device has stored thereon program code, and wherein at least one of the processors is configured to execute the program code to perform operations, wherein the operations comprise:generating an interrupt based on an event;selecting a thread for monitoring;capturing information, with an interrupt handler, for a monitored thread;setting an affinity of the monitored thread such that the monitored thread runs only on a current processor of the processors without being able to migrate to a different processor of the processors; andretrieving, with a sampler thread that runs on the current processor, a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor. 19. The system of claim 18, wherein the monitored thread is selected utilizing a subsequent thread in a list of threads. 20. The system of claim 18, wherein the interrupt handler selects the monitored thread in response to taking an interrupt. 21. The system of claim 20, wherein the monitored thread is selected by a sampler thread. 22. The system of claim 21, wherein the monitored thread is suspended after the monitored thread is identified. 23. The system of claim 22, wherein the monitored thread is resumed the after the affinity is set.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (108)
DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Apparatus and method for autonomic hardware assisted thread stack tracking.
Schmitz Patrick L. (San Francisco CA) Jauhal Shern (Mountain View CA), Asynchronous media server request processing system for servicing reprioritizing request from a client determines whethe.
Kogge, Peter M.; Brockman, Jay B.; Harper, III, David Tennyson; Smith, Burton; Callahan, II, Charles David, Computer systems with lightweight multi-threaded architectures.
Foster Richard Daniel,GBX ; Hutchison Gordon Douglas,GBX, Distributed transaction processing system implementing concurrency control within the object request broker and locking all server objects involved in a transaction at its start.
DeWitt, Jr., Jimmie Earl; Gordon, Jesse M.; Levine, Frank Eliot; Kuiper, Kean G.; Pineda, Enio Manuel; Urquhart, Robert John, Method and apparatus for analyzing idle states in a data processing system.
DeWitt, Jr.,Jimmie Earl; Gordon,Jesse M.; Levine,Frank Eliot; Kuiper,Kean G.; Pineda,Enio Manuel; Urquhart,Robert John, Method and apparatus for analyzing idle states in a data processing system.
DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Richardson, Christopher Michael; Urquhart, Robert John, Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics.
DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected.
DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for counting instruction execution and data accesses for specific types of instructions.
Levine, Frank Eliot; Richardson, Christopher Michael; Silha, Edward John, Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program.
Levine, Frank Eliot; Richardson, Christopher Michael; Silha, Edward John, Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program.
Kosche, Nicolai; Grohoski, Gregory F.; Jordan, Paul J., Method and apparatus for precisely identifying effective addresses associated with hardware events.
Dimpsey,Robert Tod; Levine,Frank Eliot; Urquhart,Robert John, Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data.
Bacon, David Francis; Cheng, Perry; Rajan, Vadakkedathu Thomas, Method and apparatus for scheduling and performing garbage collection in a real-time system with guaranteed space bounds.
Borkenhagen, John Michael; Eickemeyer, Richard James; Flynn, William Thomas; Wottreng, Andrew Henry, Method and apparatus for selecting thread switch events in a multithreaded processor.
Alexander ; III William Preston ; Berry Robert Francis ; Mulvey Donald L. ; Urquhart Robert John, Method and apparatus for structured profiling of data processing systems and applications.
Beadle, Bruce Anthony; Brown, Michael Wayne; Nizinski, Jr., Leonard Robert; Rothert, Douglas S., Method and apparatus to retain applet security privileges outside of the Java virtual machine.
Berry, Robert Francis; Howard, John Day; Levine, Frank Eliot; Urquhart, Robert J., Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment.
Mathews,Michael B.; Seilstad,Mark J.; Gregory,Steven J.; Zalinski,Charles M., Method and system for generalized and adaptive transaction processing between uniform information services and applications.
Meredith, Lucius Gregory; Mital, Amit; Levy, Marc; Beckman, Brian; Andrews, Anthony; Mehta, Bimal, Method and system for hierarchical transactions and compensation.
Elliott Conal M. ; Knoblock Todd B. ; Schechter Greg D. ; AbiEzzi Salim S. ; Campbell Colin L. ; Yeung Chun-Fu Ricky, Method and system for modeling and presenting integrated media with a declarative modeling language for representing re.
Berry, Robert Francis; Levine, Frank Eliot; Urguhart, Robert J., Method and system for periodic trace sampling for real-time generation of segments of call stack trees.
Berry, Robert Francis; Levine, Frank Eliot; Urguhart, Robert J., Method and system for periodic trace sampling for real-time generation of segments of call stack trees augmented with call stack position determination.
Browning, Luke Matthew; Peek, Jeffrey Scott, Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler.
Alexander, III, William Preston; Levine, Frank Eliot; Reynolds, William Robert; Urquhart, Robert J., Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing.
Arnold, Matthew R.; Fink, Stephen J.; Grove, David P.; Hind, Michael J.; Sweeney, Peter F.; Whaley, John, Method for characterizing program execution by periodic call stack inspection.
Jones, Scott Thomas; Levine, Frank Eliot; Urquhart, Robert John, Method, apparatus and computer program product for efficient, large counts of per thread performance events.
Bono,Jean Pierre, Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks.
Record Stephen E. (Ridgefield CT) Shepherd Ann Marie (Endwell NY) Shultz Steven S. (Endicott NY), Notification of event handlers in broadcast or propagation mode by event management services in a computer system.
Davies John W. (Shoreview MN) McClintock John H. (Tigard OR), Object lock management system with improved local lock management and global deadlock detection in a parallel data proce.
Orton Debra L. (San Jose CA) Bolton Eugenie L. (Sunnyvale CA) Chernikoff Daniel F. (Palo Alto CA) Goldsmith David B. (Los Gatos CA) Moeller Christopher P. (Los Altos CA), Object-oriented interface for a procedural operating system.
Chernikoff Daniel F. (Palo Alto CA) Bolton Eugenie L. (Sunnyvale CA) Moeller Christopher P. (Los Altos CA) Dattatri Kayshav (San Jose CA), Object-oriented interprocess communication system interface for a procedural operating system.
Alexander, III, William Preston; Berry, Robert Francis; Levine, Frank Eliot; John, Jr., Chester Charles; Urquhart, Robert John, Process and system for merging trace data for primarily interpreted methods.
Berry, Robert Francis; Howard, John Day; John, Jr., Chester Charles; Levine, Frank Eliot; Mulvey, Donald L.; Pineda, Enio Manuel; Urquhart, Robert J., Processing events during profiling of an instrumented program.
Bono,Jean Pierre, Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system.
Blott, Stephen M.; Breitbart, Yuri; Cliff, Jr., Thomas M.; Frastaci, Jr., Frank; Korth, Henry F., Real-time event processing system with service authoring environment.
Accapadi, Jos Manuel; Accapadi, Mathew; Dunshea, Andrew; Hack, Mark Elliott; Mena, III, Agustin; Srinivas, Mysore Sathyanarayana, Scheduling threads in a multiprocessor computer.
Kidder, Joseph D.; Mahler, Michael B.; Perreault, Edward L.; Stearns, Margaret; Hurley, Jim, Signatures for facilitating hot upgrades of modular software components.
Accapadi,Jos Manuel; Dunshea,Andrew; Michel,Dirk; Van Fleet,James W., System and method for adding priority change value corresponding with a lock to a thread during lock processing.
Berry, Robert Francis; Howard, John Day; Hussain, Riaz Y.; Levine, Frank Eliot; Urquhart, Robert John, System and method for injecting hooks into Java classes to handle exception and finalization processing.
William Preston Alexander, III ; Robert Francis Berry ; Riaz Y. Hussain ; Chester Charles John, Jr. ; Frank Eliot Levine ; Robert John Urquhart, System and method for providing trace information.
Kraft Reiner ; Lu Qi ; Wisebond Marat, Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time.
Edmark, Ronald O'Neal; Levine, Frank Eliot; Urouhart, Robert J., Tracing profiling information using per thread metric variables with reused kernel threads.
Moeller Christopher P. (1570 Plateau Ave. Los Altos CA 94024) Bolton Eugenie L. (1512 Condor Way Sunnyvale CA 94087), Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls.
Orton Debra L. (San Jose CA) Bolton Eugenie L. (Sunnyvale CA) Chernikoff Daniel F. (Palo Alto CA) Goldsmith David B. (Los Gatos CA) Moeller Christopher P. (Los Altos CA), Wrapper system for interfacing an object-oriented application to a procedural operating system.
Cadarette, Paul M.; Love, Robert D.; Willoughby, Austin J., Application-level dispatcher control of application-level pseudo threads and operating system threads.
Cadarette, Paul M.; Love, Robert D.; Willoughby, Austin J., Application-level dispatcher control of application-level pseudo threads and operating system threads.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.