Movatterモバイル変換


[0]ホーム

URL:


US20080209422A1 - Deadlock avoidance mechanism in multi-threaded applications - Google Patents

Deadlock avoidance mechanism in multi-threaded applications
Download PDF

Info

Publication number
US20080209422A1
US20080209422A1US11/712,763US71276307AUS2008209422A1US 20080209422 A1US20080209422 A1US 20080209422A1US 71276307 AUS71276307 AUS 71276307AUS 2008209422 A1US2008209422 A1US 2008209422A1
Authority
US
United States
Prior art keywords
thread
resource
deadlock
lock
computer
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.)
Abandoned
Application number
US11/712,763
Inventor
Joseph A. Coha
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.)
Hewlett Packard Development Co LP
Original Assignee
Individual
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 IndividualfiledCriticalIndividual
Priority to US11/712,763priorityCriticalpatent/US20080209422A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.reassignmentHEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: COHA, JOSEPH A.
Publication of US20080209422A1publicationCriticalpatent/US20080209422A1/en
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A computer-implemented method for implementing a deadlock avoidance mechanism to prevent a plurality of threads from deadlocking in a computer system wherein a first thread of the plurality of threads request for a first resource is provided. The computer-implemented method includes employing the deadlock avoidance mechanism to intercept the request. The computer-implemented method also includes examining a status of the first resource. The computer-implemented method further includes, if the first resource is owned, identifying an owner of the first resource, analyzing the owner of the first resource to determine if the owner of the first resource is requesting a second resource, and analyzing the second resource to determine if the second resource is owned by the first thread. The computer-implemented method yet also includes, if the first thread owns the second resource, preventing deadlocking by handling a potential deadlock situation.

Description

Claims (20)

11. An article of manufacture comprising a program storage medium having computer readable code embodied therein, said computer readable code being configured to implement a deadlock avoidance mechanism for identifying potential deadlocks in a computer system, comprising:
computer readable code for employing said deadlock avoidance mechanism to intercept a request from a first thread from a plurality of threads for a first resource;
computer readable code for examining a status of said first resource;
if said first resource is owned,
computer readable code for identifying an owner of said first resource,
computer readable code for analyzing said owner of said first resource to determine if said owner of said first resource is requesting a second resource, and
computer readable code for analyzing said second resource to determine if said second resource is owned by said first thread; and
if said first thread owns said second resource, computer readable code for preventing deadlocking by handling a potential deadlock situation.
US11/712,7632007-02-282007-02-28Deadlock avoidance mechanism in multi-threaded applicationsAbandonedUS20080209422A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US11/712,763US20080209422A1 (en)2007-02-282007-02-28Deadlock avoidance mechanism in multi-threaded applications

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
US11/712,763US20080209422A1 (en)2007-02-282007-02-28Deadlock avoidance mechanism in multi-threaded applications

Publications (1)

Publication NumberPublication Date
US20080209422A1true US20080209422A1 (en)2008-08-28

Family

ID=39717412

Family Applications (1)

Application NumberTitlePriority DateFiling Date
US11/712,763AbandonedUS20080209422A1 (en)2007-02-282007-02-28Deadlock avoidance mechanism in multi-threaded applications

Country Status (1)

CountryLink
US (1)US20080209422A1 (en)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20080168448A1 (en)*2007-01-092008-07-10International Business Machines CorporationPreventing deadlocks
US20080201393A1 (en)*2007-02-202008-08-21Krauss Kirk JIdentifying unnecessary synchronization objects in software applications
US20090094419A1 (en)*2007-10-052009-04-09International Business Machines CorporationVarying access parameters for processes to access memory addresses in response to detecting a condition related to a pattern of processes access to memory addresses
US20090094431A1 (en)*2007-10-052009-04-09International Business Machines CorporationMonitoring patterns of processes accessing addresses in a storage device to determine access parameters to apply
US20090183154A1 (en)*2008-01-112009-07-16Microsoft CorporationService function redirection for avoiding function evaluation blockages
US20090199189A1 (en)*2008-02-012009-08-06Arimilli Ravi KParallel Lock Spinning Using Wake-and-Go Mechanism
US20090199028A1 (en)*2008-02-012009-08-06Arimilli Ravi KWake-and-Go Mechanism with Data Exclusivity
US20090199183A1 (en)*2008-02-012009-08-06Arimilli Ravi KWake-and-Go Mechanism with Hardware Private Array
WO2010022635A1 (en)*2008-09-012010-03-04中兴通讯股份有限公司Method for preventing thread hanging in a multi-thread communication program
US20100064280A1 (en)*2008-09-092010-03-11International Business Machines CorporationSystems and methods for implementing test applications for systems using locks
US20100122253A1 (en)*2008-11-092010-05-13Mccart Perry BenjaminSystem, method and computer program product for programming a concurrent software application
US20100268915A1 (en)*2009-04-162010-10-21International Business Machines CorporationRemote Update Programming Idiom Accelerator with Allocated Processor Resources
US20110093745A1 (en)*2009-10-202011-04-21Aviad ZlotnickSystems and methods for implementing test applications for systems using locks
US20110107151A1 (en)*2009-10-302011-05-05International Business Machines CorporationMethod and System of Deadlock Detection in a Parallel Program
US20110173631A1 (en)*2008-02-012011-07-14Arimilli Ravi KWake-and-Go Mechanism for a Data Processing System
US20110173625A1 (en)*2008-02-012011-07-14Arimilli Ravi KWake-and-Go Mechanism with Prioritization of Threads
US20110173632A1 (en)*2008-02-012011-07-14Arimilli Ravi KHardware Wake-and-Go Mechanism with Look-Ahead Polling
US20110173630A1 (en)*2008-02-012011-07-14Arimilli Ravi KCentral Repository for Wake-and-Go Mechanism
US20110214024A1 (en)*2010-02-262011-09-01Bmc Software, Inc.Method of Collecting and Correlating Locking Data to Determine Ultimate Holders in Real Time
US20120042301A1 (en)*2010-08-132012-02-16Accenture Global Services GmbhSystems and methods for handling database deadlocks induced by database-centric applications
US8127080B2 (en)2008-02-012012-02-28International Business Machines CorporationWake-and-go mechanism with system address bus transaction master
US8145849B2 (en)2008-02-012012-03-27International Business Machines CorporationWake-and-go mechanism with system bus response
US8145723B2 (en)2009-04-162012-03-27International Business Machines CorporationComplex remote update programming idiom accelerator
US20120089735A1 (en)*2010-10-112012-04-12International Business Machines CorporationTwo-Level Management of Locks on Shared Resources
US8230201B2 (en)2009-04-162012-07-24International Business Machines CorporationMigrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US8250396B2 (en)2008-02-012012-08-21International Business Machines CorporationHardware wake-and-go mechanism for a data processing system
US20120260262A1 (en)*2011-04-072012-10-11Microsoft CorporationMessaging interruptible blocking wait with serialization
US8316218B2 (en)2008-02-012012-11-20International Business Machines CorporationLook-ahead wake-and-go engine with speculative execution
US8386822B2 (en)2008-02-012013-02-26International Business Machines CorporationWake-and-go mechanism with data monitoring
US8452947B2 (en)2008-02-012013-05-28International Business Machines CorporationHardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8495638B2 (en)2010-09-082013-07-23International Business Machines CorporationComponent-specific disclaimable locks
US8499299B1 (en)*2010-06-292013-07-30Ca, Inc.Ensuring deterministic thread context switching in virtual machine applications
US8612977B2 (en)2008-02-012013-12-17International Business Machines CorporationWake-and-go mechanism with software save of thread state
US20140040897A1 (en)*2012-08-042014-02-06Microsoft CorporationFunction Evaluation using Lightweight Process Snapshots
US8725992B2 (en)2008-02-012014-05-13International Business Machines CorporationProgramming language exposing idiom calls to a programming idiom accelerator
US8732683B2 (en)2008-02-012014-05-20International Business Machines CorporationCompiler providing idiom to idiom accelerator
US8732670B1 (en)2010-06-292014-05-20Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US8769518B1 (en)2010-06-292014-07-01Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US8788795B2 (en)2008-02-012014-07-22International Business Machines CorporationProgramming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US20160226763A1 (en)*2015-01-302016-08-04Nicira, Inc.Dynamic datapath at edge gateway
CN116089100A (en)*2023-01-122023-05-09北京万里开源软件有限公司Lock resource monitoring method and device in database

Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6418542B1 (en)*1998-04-272002-07-09Sun Microsystems, Inc.Critical signal thread
US20030023656A1 (en)*2001-07-272003-01-30International Business Machines CorporationMethod and system for deadlock detection and avoidance
US20030140086A1 (en)*2001-10-232003-07-24Sun Microsystems, Inc.System and method for asynchronous transfer of control
US6622155B1 (en)*1998-11-242003-09-16Sun Microsystems, Inc.Distributed monitor concurrency control
US20050251794A1 (en)*2004-04-162005-11-10Taylor Jason AMethod of debugging code and software debugging tool
US20060143610A1 (en)*2004-12-232006-06-29Microsoft CorporationMethod and apparatus for detecting deadlocks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6418542B1 (en)*1998-04-272002-07-09Sun Microsystems, Inc.Critical signal thread
US6622155B1 (en)*1998-11-242003-09-16Sun Microsystems, Inc.Distributed monitor concurrency control
US20030023656A1 (en)*2001-07-272003-01-30International Business Machines CorporationMethod and system for deadlock detection and avoidance
US20030140086A1 (en)*2001-10-232003-07-24Sun Microsystems, Inc.System and method for asynchronous transfer of control
US20050251794A1 (en)*2004-04-162005-11-10Taylor Jason AMethod of debugging code and software debugging tool
US20060143610A1 (en)*2004-12-232006-06-29Microsoft CorporationMethod and apparatus for detecting deadlocks

Cited By (80)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20080168448A1 (en)*2007-01-092008-07-10International Business Machines CorporationPreventing deadlocks
US8117616B2 (en)*2007-01-092012-02-14International Business Machines CorporationPreventing deadlocks
US7844977B2 (en)*2007-02-202010-11-30International Business Machines CorporationIdentifying unnecessary synchronization objects in software applications
US20080201393A1 (en)*2007-02-202008-08-21Krauss Kirk JIdentifying unnecessary synchronization objects in software applications
US20090094419A1 (en)*2007-10-052009-04-09International Business Machines CorporationVarying access parameters for processes to access memory addresses in response to detecting a condition related to a pattern of processes access to memory addresses
US20090094431A1 (en)*2007-10-052009-04-09International Business Machines CorporationMonitoring patterns of processes accessing addresses in a storage device to determine access parameters to apply
US8055855B2 (en)*2007-10-052011-11-08International Business Machines CorporationVarying access parameters for processes to access memory addresses in response to detecting a condition related to a pattern of processes access to memory addresses
US7921272B2 (en)2007-10-052011-04-05International Business Machines CorporationMonitoring patterns of processes accessing addresses in a storage device to determine access parameters to apply
US20090183154A1 (en)*2008-01-112009-07-16Microsoft CorporationService function redirection for avoiding function evaluation blockages
US8196140B2 (en)*2008-01-112012-06-05Microsoft CorporationService function redirection for avoiding function evaluation blockages
US8225120B2 (en)*2008-02-012012-07-17International Business Machines CorporationWake-and-go mechanism with data exclusivity
US8732683B2 (en)2008-02-012014-05-20International Business Machines CorporationCompiler providing idiom to idiom accelerator
US8612977B2 (en)2008-02-012013-12-17International Business Machines CorporationWake-and-go mechanism with software save of thread state
US8640141B2 (en)2008-02-012014-01-28International Business Machines CorporationWake-and-go mechanism with hardware private array
US8452947B2 (en)2008-02-012013-05-28International Business Machines CorporationHardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US20090199189A1 (en)*2008-02-012009-08-06Arimilli Ravi KParallel Lock Spinning Using Wake-and-Go Mechanism
US20110173631A1 (en)*2008-02-012011-07-14Arimilli Ravi KWake-and-Go Mechanism for a Data Processing System
US20110173625A1 (en)*2008-02-012011-07-14Arimilli Ravi KWake-and-Go Mechanism with Prioritization of Threads
US20110173632A1 (en)*2008-02-012011-07-14Arimilli Ravi KHardware Wake-and-Go Mechanism with Look-Ahead Polling
US20110173630A1 (en)*2008-02-012011-07-14Arimilli Ravi KCentral Repository for Wake-and-Go Mechanism
US8880853B2 (en)2008-02-012014-11-04International Business Machines CorporationCAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US8640142B2 (en)2008-02-012014-01-28International Business Machines CorporationWake-and-go mechanism with dynamic allocation in hardware private array
US20090199183A1 (en)*2008-02-012009-08-06Arimilli Ravi KWake-and-Go Mechanism with Hardware Private Array
US8788795B2 (en)2008-02-012014-07-22International Business Machines CorporationProgramming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8127080B2 (en)2008-02-012012-02-28International Business Machines CorporationWake-and-go mechanism with system address bus transaction master
US8145849B2 (en)2008-02-012012-03-27International Business Machines CorporationWake-and-go mechanism with system bus response
US8386822B2 (en)2008-02-012013-02-26International Business Machines CorporationWake-and-go mechanism with data monitoring
US8341635B2 (en)2008-02-012012-12-25International Business Machines CorporationHardware wake-and-go mechanism with look-ahead polling
US8171476B2 (en)2008-02-012012-05-01International Business Machines CorporationWake-and-go mechanism with prioritization of threads
US20090199028A1 (en)*2008-02-012009-08-06Arimilli Ravi KWake-and-Go Mechanism with Data Exclusivity
US8516484B2 (en)2008-02-012013-08-20International Business Machines CorporationWake-and-go mechanism for a data processing system
US8316218B2 (en)2008-02-012012-11-20International Business Machines CorporationLook-ahead wake-and-go engine with speculative execution
US8250396B2 (en)2008-02-012012-08-21International Business Machines CorporationHardware wake-and-go mechanism for a data processing system
US8725992B2 (en)2008-02-012014-05-13International Business Machines CorporationProgramming language exposing idiom calls to a programming idiom accelerator
US8312458B2 (en)2008-02-012012-11-13International Business Machines CorporationCentral repository for wake-and-go mechanism
WO2010022635A1 (en)*2008-09-012010-03-04中兴通讯股份有限公司Method for preventing thread hanging in a multi-thread communication program
US20100064280A1 (en)*2008-09-092010-03-11International Business Machines CorporationSystems and methods for implementing test applications for systems using locks
US20100122253A1 (en)*2008-11-092010-05-13Mccart Perry BenjaminSystem, method and computer program product for programming a concurrent software application
US8230201B2 (en)2009-04-162012-07-24International Business Machines CorporationMigrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US20100268915A1 (en)*2009-04-162010-10-21International Business Machines CorporationRemote Update Programming Idiom Accelerator with Allocated Processor Resources
US8145723B2 (en)2009-04-162012-03-27International Business Machines CorporationComplex remote update programming idiom accelerator
US8886919B2 (en)2009-04-162014-11-11International Business Machines CorporationRemote update programming idiom accelerator with allocated processor resources
US20110093745A1 (en)*2009-10-202011-04-21Aviad ZlotnickSystems and methods for implementing test applications for systems using locks
US8448175B2 (en)*2009-10-302013-05-21International Business Machines CorporationDeadlock detection in a parallel program
US20110107151A1 (en)*2009-10-302011-05-05International Business Machines CorporationMethod and System of Deadlock Detection in a Parallel Program
US8407531B2 (en)*2010-02-262013-03-26Bmc Software, Inc.Method of collecting and correlating locking data to determine ultimate holders in real time
US20110214024A1 (en)*2010-02-262011-09-01Bmc Software, Inc.Method of Collecting and Correlating Locking Data to Determine Ultimate Holders in Real Time
US9542210B2 (en)2010-06-292017-01-10Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US10083046B2 (en)2010-06-292018-09-25Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US9606820B2 (en)2010-06-292017-03-28Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US10489168B2 (en)2010-06-292019-11-26Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US8732670B1 (en)2010-06-292014-05-20Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US8769518B1 (en)2010-06-292014-07-01Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US8499299B1 (en)*2010-06-292013-07-30Ca, Inc.Ensuring deterministic thread context switching in virtual machine applications
US10585796B2 (en)2010-06-292020-03-10Ca, Inc.Ensuring determinism during programmatic replay in a virtual machine
US8769496B2 (en)*2010-08-132014-07-01Accenture Global Services LimitedSystems and methods for handling database deadlocks induced by database-centric applications
US20120042301A1 (en)*2010-08-132012-02-16Accenture Global Services GmbhSystems and methods for handling database deadlocks induced by database-centric applications
US9323505B2 (en)2010-08-132016-04-26Accenture Global Services LimitedSystems and methods for handling database deadlocks induced by database-centric applications
US9471399B2 (en)2010-09-082016-10-18International Business Machines CorporationOrderable locks for disclaimable locks
US8495640B2 (en)2010-09-082013-07-23International Business Machines CorporationComponent-specific disclaimable locks
US8495638B2 (en)2010-09-082013-07-23International Business Machines CorporationComponent-specific disclaimable locks
US9940346B2 (en)2010-10-112018-04-10International Business Machines CorporationTwo-level management of locks on shared resources
US8868755B2 (en)2010-10-112014-10-21International Business Machines CorporationTwo-level management of locks on shared resources
US8868748B2 (en)*2010-10-112014-10-21International Business Machines CorporationTwo-level management of locks on shared resources
US20120089735A1 (en)*2010-10-112012-04-12International Business Machines CorporationTwo-Level Management of Locks on Shared Resources
US20120260262A1 (en)*2011-04-072012-10-11Microsoft CorporationMessaging interruptible blocking wait with serialization
US9262235B2 (en)*2011-04-072016-02-16Microsoft Technology Licensing, LlcMessaging interruptible blocking wait with serialization
US20140040897A1 (en)*2012-08-042014-02-06Microsoft CorporationFunction Evaluation using Lightweight Process Snapshots
US9710357B2 (en)*2012-08-042017-07-18Microsoft Technology Licensing, LlcFunction evaluation using lightweight process snapshots
US10341257B2 (en)2015-01-302019-07-02Nicira, Inc.Datapath for multiple tenants
US10084726B2 (en)*2015-01-302018-09-25Nicira, Inc.Dynamic datapath at edge gateway
US10110514B2 (en)2015-01-302018-10-23Nicira, Inc.Datapath cache
US10057191B2 (en)2015-01-302018-08-21Nicira, Inc.Datapath with centralized and distributed routers
US9973445B2 (en)2015-01-302018-05-15Nicira, Inc.Datapath with service stages
US20160226763A1 (en)*2015-01-302016-08-04Nicira, Inc.Dynamic datapath at edge gateway
US10700997B2 (en)2015-01-302020-06-30Nicira, Inc.Datapath for multiple tenants
US11343204B2 (en)2015-01-302022-05-24Nicira, Inc.Datapath for multiple tenants
US11706159B2 (en)2015-01-302023-07-18Nicira, Inc.Datapath for multiple tenants
US12192123B2 (en)2015-01-302025-01-07Nicira, Inc.Datapath for multiple tenants
CN116089100A (en)*2023-01-122023-05-09北京万里开源软件有限公司Lock resource monitoring method and device in database

Similar Documents

PublicationPublication DateTitle
US20080209422A1 (en)Deadlock avoidance mechanism in multi-threaded applications
US12056540B2 (en)Generic concurrency restriction
US9170844B2 (en)Prioritization for conflict arbitration in transactional memory management
US7975271B2 (en)System and method for dynamically determining a portion of a resource for which a thread is to obtain a lock
US6546443B1 (en)Concurrency-safe reader-writer lock with time out support
US7472228B2 (en)Read-copy update method
US8176489B2 (en)Use of rollback RCU with read-side modifications to RCU-protected data structures
US7653791B2 (en)Realtime-safe read copy update with per-processor read/write locks
US8286182B2 (en)Method and system for deadlock detection in a distributed environment
US7734879B2 (en)Efficiently boosting priority of read-copy update readers in a real-time data processing system
US7395263B2 (en)Realtime-safe read copy update with lock-free readers
US9003420B2 (en)Resolving RCU-scheduler deadlocks
US7797704B2 (en)System and method for performing work by one of plural threads using a lockable resource
US7941793B2 (en)Class initialization method semantics
US11537567B2 (en)Methods and systems for managing prioritized database transactions
US9164793B2 (en)Prioritized lock requests to reduce blocking
US8769546B2 (en)Busy-wait time for threads
US20150052529A1 (en)Efficient task scheduling using a locking mechanism
US8132174B2 (en)Concurrency management in cluster computing of business applications
US20150160967A1 (en)Context preservation during thread level speculative execution
JPH07319716A (en) Exclusive control method of computer system resources
US7996848B1 (en)Systems and methods for suspending and resuming threads
JP4006428B2 (en) Computer system
JP2001256065A (en) Exclusive control method and computer system

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.,TEXAS

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COHA, JOSEPH A.;REEL/FRAME:019049/0200

Effective date:20070227

STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION


[8]ページ先頭

©2009-2025 Movatter.jp