EP0953908A3 - Method, apparatus, and article of manufacture for time profiling multithreaded programs - Google Patents

Method, apparatus, and article of manufacture for time profiling multithreaded programs Download PDF

Info

Publication number
EP0953908A3
EP0953908A3 EP99401037A EP99401037A EP0953908A3 EP 0953908 A3 EP0953908 A3 EP 0953908A3 EP 99401037 A EP99401037 A EP 99401037A EP 99401037 A EP99401037 A EP 99401037A EP 0953908 A3 EP0953908 A3 EP 0953908A3
Authority
EP
European Patent Office
Prior art keywords
register information
selected thread
program
running
register
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.)
Withdrawn
Application number
EP99401037A
Other languages
German (de)
French (fr)
Other versions
EP0953908A2 (en
Inventor
Sheng Liang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of EP0953908A2 publication Critical patent/EP0953908A2/en
Publication of EP0953908A3 publication Critical patent/EP0953908A3/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

Methods, systems, and articles of manufacture consistent with the present invention time profile program threads using data corresponding to states of the registers of a processor(s) executing the threads. Methods, systems, and articles of manufacture consistent with the present invention determine whether a selected thread of execution of a multi-threaded program is running by suspending execution of the multi-threaded program, retrieving register data corresponding to the selected thread, computing register information based on the register data, comparing the computed register information with stored register information from a previous suspension of the multi-threaded program, and regarding the selected thread as running if the computed register information is different from stored register information. The last operation of regarding the selected thread as running may involve updating the previous register information based on the computed register information, and/or providing an indication corresponding to a portion of the program containing the selected thread.
EP99401037A 1998-04-29 1999-04-28 Method, apparatus, and article of manufacture for time profiling multithreaded programs Withdrawn EP0953908A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69088 1998-04-29
US09/069,088 US6954922B2 (en) 1998-04-29 1998-04-29 Method apparatus and article of manufacture for time profiling multi-threaded programs

Publications (2)

Publication Number Publication Date
EP0953908A2 EP0953908A2 (en) 1999-11-03
EP0953908A3 true EP0953908A3 (en) 2006-05-17

Family

ID=22086678

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99401037A Withdrawn EP0953908A3 (en) 1998-04-29 1999-04-28 Method, apparatus, and article of manufacture for time profiling multithreaded programs

Country Status (3)

Country Link
US (1) US6954922B2 (en)
EP (1) EP0953908A3 (en)
JP (1) JP2000040022A (en)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904594B1 (en) * 2000-07-06 2005-06-07 International Business Machines Corporation Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment
US7231606B2 (en) 2000-10-31 2007-06-12 Software Research, Inc. Method and system for testing websites
JP3810631B2 (en) * 2000-11-28 2006-08-16 富士通株式会社 Recording medium on which information processing program is recorded
US7111282B2 (en) * 2001-06-12 2006-09-19 Hewlett-Packard Development Company, L.P. Instrumenting a software program and collecting data from the instrumented software program by type
TWI324309B (en) * 2002-08-26 2010-05-01 Interdigital Tech Corp Communication circuit
US8250412B2 (en) * 2003-09-26 2012-08-21 Ati Technologies Ulc Method and apparatus for monitoring and resetting a co-processor
US7272748B1 (en) * 2004-03-17 2007-09-18 Symantec Corporation Method and apparatus to detect and recover from a stack frame corruption
US20060031837A1 (en) * 2004-08-05 2006-02-09 International Business Machines Corporation Thread starvation profiler
US7698705B1 (en) * 2004-10-19 2010-04-13 Oracle America, Inc. Method and system for managing CPU time consumption
US7681196B2 (en) * 2004-11-18 2010-03-16 Oracle International Corporation Providing optimal number of threads to applications performing multi-tasking using threads
US8082541B2 (en) * 2004-12-09 2011-12-20 Advantest Corporation Method and system for performing installation and configuration management of tester instrument modules
US20060126799A1 (en) * 2004-12-15 2006-06-15 Microsoft Corporation Fault injection
US20060126800A1 (en) * 2004-12-15 2006-06-15 Microsoft Corporation Fault injection object
US7487317B1 (en) * 2005-11-03 2009-02-03 Sun Microsystems, Inc. Cache-aware scheduling for a chip multithreading processor
US20070201270A1 (en) * 2005-12-30 2007-08-30 Stmicroelectronics Pvt. Ltd. Read only memory device with bitline leakage reduction
US9064046B1 (en) * 2006-01-04 2015-06-23 Emc Corporation Using correlated stack traces to determine faults in client/server software
US7908874B2 (en) * 2006-05-02 2011-03-22 Raytheon Company Method and apparatus for cooling electronics with a coolant at a subambient pressure
US8117614B2 (en) * 2006-05-19 2012-02-14 International Business Machines Corporation Extract CPU time facility
US8392890B2 (en) 2007-10-15 2013-03-05 Software Research, Inc. Method and system for testing websites
US8601445B2 (en) 2007-06-13 2013-12-03 Microsoft Corporation Detaching profilers
US8533686B2 (en) * 2007-06-14 2013-09-10 Red Hat, Inc. Methods and systems for porting Sysprof
US8719801B2 (en) * 2008-06-25 2014-05-06 Microsoft Corporation Timing analysis of concurrent programs
US20100017583A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Call Stack Sampling for a Multi-Processor System
US8286134B2 (en) * 2008-07-15 2012-10-09 International Business Machines Corporation Call stack sampling for a multi-processor system
US9418005B2 (en) 2008-07-15 2016-08-16 International Business Machines Corporation Managing garbage collection in a data processing system
US7958402B2 (en) 2008-09-22 2011-06-07 International Business Machines Corporation Generate diagnostic data for overdue thread in a data processing system
JP5173714B2 (en) 2008-09-30 2013-04-03 ルネサスエレクトロニクス株式会社 Multi-thread processor and interrupt processing method thereof
US20100125838A1 (en) * 2008-11-19 2010-05-20 Nokia Corporation Method and Apparatus for Optimizing a Program
US20100333071A1 (en) * 2009-06-30 2010-12-30 International Business Machines Corporation Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines
US8549523B2 (en) 2009-11-23 2013-10-01 International Business Machines Corporation Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool
US9176783B2 (en) 2010-05-24 2015-11-03 International Business Machines Corporation Idle transitions sampling with execution context
US8843684B2 (en) * 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration
US8799872B2 (en) 2010-06-27 2014-08-05 International Business Machines Corporation Sampling with sample pacing
DE112012000245T5 (en) * 2011-01-10 2013-08-14 International Business Machines Corporation Activity recording system for a parallel software environment
US8799904B2 (en) 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
US9471458B2 (en) 2012-01-05 2016-10-18 International Business Machines Corporation Synchronization activity recording system for a concurrent software environment
US9760511B2 (en) * 2014-10-08 2017-09-12 International Business Machines Corporation Efficient interruption routing for a multithreaded processor
US10789082B2 (en) * 2014-12-18 2020-09-29 Unisys Corporation Execution of multiple operating systems without rebooting
US10025694B1 (en) * 2016-12-22 2018-07-17 SafeDK Mobile Ltd. Monitoring activity of software development kits using stack trace analysis
US10977075B2 (en) * 2019-04-10 2021-04-13 Mentor Graphics Corporation Performance profiling for a multithreaded processor
US11232010B2 (en) * 2020-01-20 2022-01-25 EMC IP Holding Company LLC Performance monitoring for storage system with core thread comprising internal and external schedulers
CN113007966B (en) * 2021-03-19 2022-05-06 合肥美菱物联科技有限公司 Method for upgrading functions of refrigerator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3818458A (en) * 1972-11-08 1974-06-18 Comress Method and apparatus for monitoring a general purpose digital computer
US5297274A (en) * 1991-04-15 1994-03-22 International Business Machines Corporation Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor
EP0777181A1 (en) * 1995-11-28 1997-06-04 Hewlett-Packard Company System and method for profiling code on symmetric multiprocessor architectures

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4070702A (en) * 1976-03-26 1978-01-24 Allan-Bradley Company Contact histogram for programmable controller
US5694603A (en) * 1982-09-28 1997-12-02 Reiffin; Martin G. Computer memory product with preemptive multithreading software
US6684261B1 (en) * 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
EP0689141A3 (en) * 1994-06-20 1997-10-15 At & T Corp Interrupt-based hardware support for profiling system performance
US5974536A (en) * 1997-08-14 1999-10-26 Silicon Graphics, Inc. Method, system and computer program product for profiling thread virtual memory accesses
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US6256775B1 (en) * 1997-12-11 2001-07-03 International Business Machines Corporation Facilities for detailed software performance analysis in a multithreaded processor
US6158024A (en) * 1998-03-31 2000-12-05 International Business Machines Corporation Method and apparatus for structured memory analysis of data processing systems and applications
US6002872A (en) * 1998-03-31 1999-12-14 International Machines Corporation Method and apparatus for structured profiling of data processing systems and applications
US6018759A (en) * 1997-12-22 2000-01-25 International Business Machines Corporation Thread switch tuning tool for optimal performance in a computer processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3818458A (en) * 1972-11-08 1974-06-18 Comress Method and apparatus for monitoring a general purpose digital computer
US5297274A (en) * 1991-04-15 1994-03-22 International Business Machines Corporation Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor
EP0777181A1 (en) * 1995-11-28 1997-06-04 Hewlett-Packard Company System and method for profiling code on symmetric multiprocessor architectures

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GOLDBERG A ET AL: "Interrupt-based hardware support for profiling memory system performance", COMPUTER DESIGN: VLSI IN COMPUTERS AND PROCESSORS, 1995. ICCD '95. PROCEEDINGS., 1995 IEEE INTERNATIONAL CONFERENCE ON AUSTIN, TX, USA 2-4 OCT. 1995, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 2 October 1995 (1995-10-02), pages 518 - 523, XP010197359, ISBN: 0-8186-7165-3 *
ROBERT J. HALL: "Call path profiling of monotonic program resources in UNIX", PROCEEDINGS OF THE USENIX SUMMER 1993 TECHNICAL CONFERENCE, 21 June 1993 (1993-06-21), Cincinnati, Ohio, pages 1 - 12, XP002370803, Retrieved from the Internet <URL:http://www.usenix.org/publications/library/proceedings/cinci93/full_papers/hall.txt> [retrieved on 20060306] *

Also Published As

Publication number Publication date
JP2000040022A (en) 2000-02-08
EP0953908A2 (en) 1999-11-03
US6954922B2 (en) 2005-10-11
US20020099760A1 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
EP0953908A3 (en) Method, apparatus, and article of manufacture for time profiling multithreaded programs
US6108770A (en) Method and apparatus for predicting memory dependence using store sets
KR100488288B1 (en) Purpose-method and device for thread synchronization in the base system
US10296346B2 (en) Parallelized execution of instruction sequences based on pre-monitoring
US7962900B2 (en) Converting program code with access coordination for a shared memory
ATE162897T1 (en) METHOD AND DEVICE FOR ACCELERATING BRANCH COMMANDS
US20130086362A1 (en) Managing a Register Cache Based on an Architected Computer Instruction Set Having Operand First-Use Information
US20140108772A1 (en) Exploiting an Architected Last-Use Operand Indication in a System Operand Resource Pool
EP1450257A3 (en) Multithreaded kernel for graphics processing unit
DE102012216565A1 (en) DECODE TIME COMPUTER INSTRUCTION OPTIMIZATION
EP1668502A2 (en) Methods and apparatuses for compiler-creating helper threads for multi-threading
US7992146B2 (en) Method for detecting race conditions involving heap memory access
EP0997816A3 (en) Method and apparatus for selecting ways to compile at runtime
ATE392662T1 (en) METHOD AND PROGRAMS FOR SETTING PRIORITY LEVELS IN A DATA PROCESSING SYSTEM WITH MULTI-PROGRAMMING AND PRIORIZED QUEUE FORMATION
US6714958B1 (en) Detecting and causing latent deadlocks in multi-threaded programs
EP0933698A3 (en) Probing computer memory latency
WO2004068339A3 (en) Multithreaded processor with recoupled data and instruction prefetch
US9348595B1 (en) Run-time code parallelization with continuous monitoring of repetitive instruction sequences
WO2001077820A3 (en) Method and apparatus for partitioning a resource between multiple threads within a multi-threaded processor
US20070300226A1 (en) Efficient ticket lock synchronization implementation using early wakeup in the presence of oversubscription
CN107003858A (en) By the runtime code parallelization for monitoring repetitive instruction sequence
US20050071821A1 (en) Method and apparatus to autonomically select instructions for selective counting
WO2000070443A3 (en) Facilitating garbage collection during object versioning for space and time dimensional computing
US7017077B2 (en) System and method of error retention for threaded software
US20020152368A1 (en) Processor with value predictor

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SUN MICROSYSTEMS, INC.

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SUN MICROSYSTEMS, INC.

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

17P Request for examination filed

Effective date: 20060920

AKX Designation fees paid

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 20070509

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20091103