WO2001097018A3 - Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension - Google Patents

Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension Download PDF

Info

Publication number
WO2001097018A3
WO2001097018A3 PCT/US2001/018905 US0118905W WO0197018A3 WO 2001097018 A3 WO2001097018 A3 WO 2001097018A3 US 0118905 W US0118905 W US 0118905W WO 0197018 A3 WO0197018 A3 WO 0197018A3
Authority
WO
WIPO (PCT)
Prior art keywords
thread
consistent state
consistent
threads
state
Prior art date
Application number
PCT/US2001/018905
Other languages
French (fr)
Other versions
WO2001097018A2 (en
Inventor
Dean R E Long
Nedim Fresko
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
Priority to AU2001268355A priority Critical patent/AU2001268355A1/en
Priority to JP2002511078A priority patent/JP4709469B2/en
Priority to EP01946284A priority patent/EP1319208A2/en
Publication of WO2001097018A2 publication Critical patent/WO2001097018A2/en
Publication of WO2001097018A3 publication Critical patent/WO2001097018A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Abstract

Methods and apparatus for enabling inconsistent or unsafe threads to efficiently reach a consistent or safe state when a requesting thread requests a consistent state are disclosed. According to one aspect of the present invention, a method for requesting a consistent state in a multi-threaded computing environment using a first thread includes acquiring a consistent state lock using the first thread, and identifying substantially all threads in the environment that are inconsistent. The state of the inconsistent threads is altered to a consistent state, and the first thread is notified when the states of the previously inconsistent threads have been altered to be consistent. Once the first thread is notified, the first thread releases the consistent state lock. In one embodiment, the method also includes performing a garbage collection after releasing the consistent state lock using the first thread.
PCT/US2001/018905 2000-06-12 2001-06-11 Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension WO2001097018A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2001268355A AU2001268355A1 (en) 2000-06-12 2001-06-11 Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension
JP2002511078A JP4709469B2 (en) 2000-06-12 2001-06-11 Method and apparatus for bringing a thread into a consistent state without explicitly interrupting the thread
EP01946284A EP1319208A2 (en) 2000-06-12 2001-06-11 Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21103000P 2000-06-12 2000-06-12
US60/211,030 2000-06-12
US09/836,931 US7086053B2 (en) 2000-06-12 2001-04-17 Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension
US09/836,931 2001-04-17

Publications (2)

Publication Number Publication Date
WO2001097018A2 WO2001097018A2 (en) 2001-12-20
WO2001097018A3 true WO2001097018A3 (en) 2003-04-03

Family

ID=26905747

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/018905 WO2001097018A2 (en) 2000-06-12 2001-06-11 Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension

Country Status (5)

Country Link
US (1) US7086053B2 (en)
EP (1) EP1319208A2 (en)
JP (1) JP4709469B2 (en)
AU (1) AU2001268355A1 (en)
WO (1) WO2001097018A2 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7086053B2 (en) * 2000-06-12 2006-08-01 Sun Microsystems, Inc. Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension
US6738926B2 (en) * 2001-06-15 2004-05-18 Sun Microsystems, Inc. Method and apparatus for recovering a multi-threaded process from a checkpoint
US7657893B2 (en) * 2003-04-23 2010-02-02 International Business Machines Corporation Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor
US7350060B2 (en) * 2003-04-24 2008-03-25 International Business Machines Corporation Method and apparatus for sending thread-execution-state-sensitive supervisory commands to a simultaneous multi-threaded (SMT) processor
US7290261B2 (en) * 2003-04-24 2007-10-30 International Business Machines Corporation Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US7155600B2 (en) * 2003-04-24 2006-12-26 International Business Machines Corporation Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor
US20040216101A1 (en) * 2003-04-24 2004-10-28 International Business Machines Corporation Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor
US20050240699A1 (en) * 2004-03-31 2005-10-27 Yoder Michael E Safe process deactivation
US7418630B1 (en) * 2005-06-27 2008-08-26 Sun Microsystems, Inc. Method and apparatus for computer system diagnostics using safepoints
US7516361B2 (en) * 2005-06-27 2009-04-07 Sun Microsystems, Inc. Method for automatic checkpoint of system and application software
US8161493B2 (en) * 2008-07-15 2012-04-17 International Business Machines Corporation Weighted-region cycle accounting for multi-threaded processor cores
US20110219387A1 (en) * 2010-03-04 2011-09-08 Microsoft Corporation Interactive Remote Troubleshooting of a Running Process
US8813042B2 (en) * 2012-04-06 2014-08-19 Hwlett-Packard Development Company, L. P. Identifying globally consistent states in a multithreaded program
US9891917B2 (en) * 2013-03-06 2018-02-13 Infineon Technologies Ag System and method to increase lockstep core availability
US10346148B2 (en) 2013-08-12 2019-07-09 Amazon Technologies, Inc. Per request computer system instances
US9348634B2 (en) * 2013-08-12 2016-05-24 Amazon Technologies, Inc. Fast-booting application image using variation points in application source code
GB2526088B (en) 2014-05-12 2016-03-30 Sony Comp Entertainment Europe Apparatus and method of data capture
US9672043B2 (en) 2014-05-12 2017-06-06 International Business Machines Corporation Processing of multiple instruction streams in a parallel slice processor
US9665372B2 (en) 2014-05-12 2017-05-30 International Business Machines Corporation Parallel slice processor with dynamic instruction stream mapping
US9760375B2 (en) 2014-09-09 2017-09-12 International Business Machines Corporation Register files for storing data operated on by instructions of multiple widths
US9720696B2 (en) 2014-09-30 2017-08-01 International Business Machines Corporation Independent mapping of threads
US9977678B2 (en) 2015-01-12 2018-05-22 International Business Machines Corporation Reconfigurable parallel execution and load-store slice processor
US10133576B2 (en) 2015-01-13 2018-11-20 International Business Machines Corporation Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
US10133581B2 (en) 2015-01-13 2018-11-20 International Business Machines Corporation Linkable issue queue parallel execution slice for a processor
US10621143B2 (en) * 2015-02-06 2020-04-14 Ashish Govind Khurange Methods and systems of a dedupe file-system garbage collection
US9880931B2 (en) * 2015-10-15 2018-01-30 Oracle International Corporation Safepoints for guest languages on a virtual machine
US9983875B2 (en) 2016-03-04 2018-05-29 International Business Machines Corporation Operation of a multi-slice processor preventing early dependent instruction wakeup
US10037211B2 (en) 2016-03-22 2018-07-31 International Business Machines Corporation Operation of a multi-slice processor with an expanded merge fetching queue
US10346174B2 (en) 2016-03-24 2019-07-09 International Business Machines Corporation Operation of a multi-slice processor with dynamic canceling of partial loads
US10761854B2 (en) 2016-04-19 2020-09-01 International Business Machines Corporation Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor
US10037229B2 (en) 2016-05-11 2018-07-31 International Business Machines Corporation Operation of a multi-slice processor implementing a load/store unit maintaining rejected instructions
US9934033B2 (en) 2016-06-13 2018-04-03 International Business Machines Corporation Operation of a multi-slice processor implementing simultaneous two-target loads and stores
US10042647B2 (en) 2016-06-27 2018-08-07 International Business Machines Corporation Managing a divided load reorder queue
US10318419B2 (en) 2016-08-08 2019-06-11 International Business Machines Corporation Flush avoidance in a load store unit
US10776161B2 (en) 2018-11-30 2020-09-15 Oracle International Corporation Application code callbacks at regular intervals

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010090A1 (en) * 1998-08-17 2000-02-24 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for facilitating resource management for applications having two types of program code
EP1014264A2 (en) * 1998-12-07 2000-06-28 Sun Microsystems, Inc. A system and method for facilitating safepoint synchronization in a multithreaded computer system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761670A (en) * 1995-12-08 1998-06-02 Sun Microsystems, Inc. System and method for space efficient object locking using global and local locks
AT1751U1 (en) * 1996-09-30 1997-10-27 Kuehn Eva COORDINATION SYSTEM
AU731871B2 (en) * 1996-11-04 2001-04-05 Sun Microsystems, Inc. Method and apparatus for thread synchronization in object-based systems
US6418460B1 (en) * 1997-02-18 2002-07-09 Silicon Graphics, Inc. System and method for finding preempted threads in a multi-threaded application
US6067637A (en) * 1997-05-16 2000-05-23 At&T Corp Data reduction technique for rule based systems
US5842016A (en) * 1997-05-29 1998-11-24 Microsoft Corporation Thread synchronization in a garbage-collected system using execution barriers
US6141720A (en) * 1997-06-12 2000-10-31 Cabletron Systems, Inc. Method and apparatus for coordination of a shared object in a distributed system
US6067604A (en) * 1997-08-11 2000-05-23 Compaq Computer Corporation Space-time memory
US6026428A (en) * 1997-08-13 2000-02-15 International Business Machines Corporation Object oriented thread context manager, method and computer program product for object oriented thread context management
US5895494A (en) * 1997-09-05 1999-04-20 International Business Machines Corporation Method of executing perform locked operation instructions for supporting recovery of data consistency if lost due to processor failure, and a method of recovering the data consistency after processor failure
US5995998A (en) * 1998-01-23 1999-11-30 Sun Microsystems, Inc. Method, apparatus and computer program product for locking interrelated data structures in a multi-threaded computing environment
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6243788B1 (en) * 1998-06-17 2001-06-05 International Business Machines Corporation Cache architecture to enable accurate cache sensitivity
US6952827B1 (en) * 1998-11-13 2005-10-04 Cray Inc. User program and operating system interface in a multithreaded environment
US6308319B1 (en) * 1999-02-22 2001-10-23 Sun Microsystems, Inc. Thread suspension system and method using trapping instructions in delay slots
US7013454B2 (en) * 1999-02-22 2006-03-14 Sun Microsystems, Inc. Thread suspension system and method using trapping instructions
US6529921B1 (en) * 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6438548B1 (en) * 1999-06-30 2002-08-20 International Business Machines Corporation Method of and system for managing documents in a bandwidth constrained environment
US6772367B1 (en) * 1999-10-13 2004-08-03 Board Of Regents, The University Of Texas System Software fault tolerance of concurrent programs using controlled re-execution
US6546443B1 (en) * 1999-12-15 2003-04-08 Microsoft Corporation Concurrency-safe reader-writer lock with time out support
US6539464B1 (en) * 2000-04-08 2003-03-25 Radoslav Nenkov Getov Memory allocator for multithread environment
US6951018B2 (en) * 2000-05-30 2005-09-27 Sun Microsystems, Inc. Method and apparatus for efficiently tracking monitors
US7086053B2 (en) * 2000-06-12 2006-08-01 Sun Microsystems, Inc. Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010090A1 (en) * 1998-08-17 2000-02-24 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for facilitating resource management for applications having two types of program code
EP1014264A2 (en) * 1998-12-07 2000-06-28 Sun Microsystems, Inc. A system and method for facilitating safepoint synchronization in a multithreaded computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HERLIHY M P ET AL: "LOCK-FREE GARBAGE COLLECTION FOR MULTIPROCESSORS", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, IEEE INC, NEW YORK, US, vol. 3, no. 3, 1 May 1992 (1992-05-01), pages 304 - 311, XP000274361, ISSN: 1045-9219 *

Also Published As

Publication number Publication date
EP1319208A2 (en) 2003-06-18
WO2001097018A2 (en) 2001-12-20
US20010054057A1 (en) 2001-12-20
JP4709469B2 (en) 2011-06-22
AU2001268355A1 (en) 2001-12-24
US7086053B2 (en) 2006-08-01
JP2004503863A (en) 2004-02-05

Similar Documents

Publication Publication Date Title
WO2001097018A3 (en) Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension
WO2001077820A3 (en) Method and apparatus for partitioning a resource between multiple threads within a multi-threaded processor
TW200502848A (en) Deallocation of computer data in a multithreaded computer
DE69704684D1 (en) Device and method for authenticating a user's access rights to resources according to the challenge-response principle
EP0783152A3 (en) Method and apparatus for automatically managing concurrent access to a shared resource in a multi-threaded programming environment
EP1389752A3 (en) System and method for privilege delegation and control
TW373151B (en) Method and apparatus for thread synchronization in object-based systems
GB0411739D0 (en) Maintaining resource integrity without a unifield transaction manager in a software environment
DE60141480D1 (en) METHOD AND DEVICE FOR THE ATOMIC REVIEW OF A FILE
WO2004051966A3 (en) System and methodology providing intelligent resource fork
HUP0104660A2 (en) A method and a system for assisting a user in a medical self treatment, said self treatment comprising a plurality of actions
DE69606057D1 (en) METHOD AND DEVICE FOR THE INTRODUCTION OF SOFTWARE OBJECTS
EP1156429A3 (en) Server-side code generation from a dynamic web page content file
DE60139446D1 (en) Merging of different requesting procedures in a single and consistent user interface
GB2327134B (en) Apparatus,method and computer program for providing arbitrary locking requesters for controlling concurrent access to server resources
WO2001057823A3 (en) Apparatus and method for web-based tool management
EP1435572A3 (en) Method and apparatus for providing dynamic locks for resources
HUP0302546A2 (en) Method for effeciently handling high contention looking in a multiprocessor computer system and computer program for implementing the method
EP1008934A3 (en) Method and apparatus for user level monitor implementation
WO2005033927A3 (en) Method and apparatus to enable execution of a thread in a multi-threaded computer system
DE69806065D1 (en) Device, method and computer program for client / server applications with intelligent localization of transaction objects
WO2004114152A3 (en) Databases synchronization
EP0708940A4 (en) Multiple entry point method dispatch
EP0343646A3 (en) Task execution control method for a multiprocessor system with enhanced post/wait procedure
PT101278A (en) PROCESS AND DEVICE FOR THE FILLING OF OBJECTS IN VIDEO CRU, AND ASSIMREALIZED OBJECTS

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 BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2002 511078

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2001946284

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2001946284

Country of ref document: EP