[go: up one dir, main page]

CN101046756A - 用于解决计算资源死锁的设备、系统以及方法 - Google Patents

用于解决计算资源死锁的设备、系统以及方法 Download PDF

Info

Publication number
CN101046756A
CN101046756A CNA2007100846759A CN200710084675A CN101046756A CN 101046756 A CN101046756 A CN 101046756A CN A2007100846759 A CNA2007100846759 A CN A2007100846759A CN 200710084675 A CN200710084675 A CN 200710084675A CN 101046756 A CN101046756 A CN 101046756A
Authority
CN
China
Prior art keywords
deadlock
resource
group
priority
module
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.)
Granted
Application number
CNA2007100846759A
Other languages
English (en)
Other versions
CN100478898C (zh
Inventor
戴维·C.·雷德
菲利普·R.·乔威特
迈克尔·R.·斯科特
马克斯·D.·史密斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101046756A publication Critical patent/CN101046756A/zh
Application granted granted Critical
Publication of CN100478898C publication Critical patent/CN100478898C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/524Deadlock detection or avoidance
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了用于解决计算资源死锁的设备、系统和方法。在一个实施例中,本发明包括在一组正在执行的进程内检测一组被死锁的进程,取消该组被死锁的进程中的优先级最低的进程,为该组正在执行的进程生成被请求资源报告,以及允许用户向进程分配优先级级别。在一个实施例中,解决计算资源死锁将通过使用由操作系统已经生成的有关已经分配的资源的详细信息有效地检测死锁。通过对资源报告进行分析,以获得有关正在执行的进程的信息,可以轻松地确定和修补死锁。解决计算资源死锁可以通过实用程序来实现,它也可以作为操作系统的服务来运行。

Description

用于解决计算资源死锁的设备、系统以及方法
技术领域
本发明涉及计算资源死锁,具体来说,涉及解决计算资源死锁。
背景技术
当一个进程不能获得完成该进程所需要的资源时,会发生死锁。例如,当第一进程需要第二进程所持有的资源,而该第二进程又正在等待第一进程所持有的资源时。这种情况导致无论哪一个进程都无法完成。死锁由于浪费了满足其他请求所需要的资源,而大大地降低了系统性能。尽管从理论上来讲解决该问题的方案是简单的,但是,产生妥善的解决方案是困难的。当前的解决方案没有消除该问题。结果,每年死锁会造成损失达数百万美元的系统中断。
避免死锁的一种方法是通过应用标准的顺序来向进程分配资源。对于持有有序类别的资源R1,...,Rz的进程,此方法限制其请求另一个资源,除非它与预先定义的标准匹配。例如,如果a>d,持有类别d的资源Rd的进程只能请求类别a的资源Ra。这种限制通过不给进程提供对所有资源的可能的访问,妨碍最佳性能的实现。
类似地,存在针对死锁预防的理论,但是这些理论要么有缺陷,要么不切实际。例如,禁止对于资源的排他的访问对于那些不能被缓冲的资源来说是不切实际的。类似地,要求进程在启动之前请求它们将需要的所有资源是不切实际的,因为系统需要预先知道所需要的所有资源,不管程序流如何。
从前面的讨论可以看出,显然需要一种用于解决计算资源死锁的设备、系统和方法。优选情况下,这样的设备、系统和方法将有效地解决计算死锁问题,并减少每年由于计算资源死锁造成的巨大的金钱损失。
发明内容
本发明是针对当前的技术状况,具体来说,针对当前技术中的当前的解决方案还没有完全解决的问题和需求而开发出来的。相应地,本发明是为提供克服当前技术中的许多上文所讨论的缺点或全部缺点的用于解决计算死锁的设备、系统、方法而开发的。
用于解决计算死锁的设备配备有一个逻辑单元,该逻辑单元包含多个模块,被配置为在功能上执行在一组正在执行的进程内检测一组被死锁的进程,取消该组被死锁的进程中的优先级最低的进程,允许用户向进程分配优先级级别,并为该组正在执行的进程生成被请求资源报告的所需要的步骤。所描述的实施例中的这些模块包括死锁检测模块、死锁解决模块、优先级分配模块以及资源跟踪模块。
在一个实施例中,该设备被配置为在一组正在执行的进程内检测一组被死锁的进程。该设备还可以被配置为取消该组被死锁的进程中的一个进程。在一个实施例中,被选择为将予以取消的进程具有最低的优先级。如果有一个以上的进程具有最低的优先级,则可以使用辅助选择标准,如带有最多相关进程的进程,或具有最短等待时间的进程。
该设备可以被配置为允许用户向进程分配优先级级别。默认情况下,可以分配优先级,以满足所有进程都具有优先级级别的要求。可以在稍后的某个时间、在进程完成之前调整优先级级别。用户能够通过图形用户界面或命令行界面来调整优先级级别。
该设备可以被配置为生成资源报告,该报告包含该组正在执行的进程请求的资源的信息。报告可以呈现顺序文件的形式。报告可以通过从操作系统获取的信息来生成,它也可以从操作系统本身来生成。在生成报告之后,可能需要对报告进行分析。该设备可以处理被请求资源报告,以检测是否存在一组被死锁的进程。
在检测死锁的一个实施例中,扫描每一个资源的排它的持有者,以判断它是否正在等待报告中列出的任何额外的资源。如果持有者正在等待不同的资源,则识别第二资源的所有者。然后,将第二资源的所有者与第一资源的等待者进行比较。如果第二资源的所有者是第一资源的等待者,那么,存在死锁。
本发明还提供了用于解决计算资源死锁的系统。该系统可以在计算系统中实现。具体来说,在一个实施例中,该系统包括系统总线、一个或多个存储设备、网络接口卡、中央处理单元(CPU)、主存储器、操作系统以及网络主干线路。
该系统可以进一步包括操作系统的资源,正在执行的进程,以及包括用于解决计算资源死锁的进程监视器。服务、进程以及进程监视器可以包括在操作系统中,部分地或完全地存储在主存储器中。在一个实施例中,进程监视器连接到网络主干线路,并可以服务于驻留在网络上的其他设备。
本发明还提供了用于解决计算资源死锁的方法。所说明的实施例中的方法基本上包括执行上文对于所描述的设备和系统的操作所提供的功能所需的步骤。在一个实施例中,该方法包括在一组正在执行的进程内检测一组被死锁的进程以及取消优先级最低的被死锁的进程组的操作。该方法还可以包括允许用户向进程分配优先级级别,并为该组正在执行的进程生成被请求资源报告的操作。
在再一个实施例中,该方法包括处理被请求资源报告,以判断是否存在死锁。如果存在死锁,则可以选择将一个具有最低的优先级的进程取消。如果有多个进程具有最低的优先级,那么,可以选择该组被死锁的进程中的具有最多相关资源的进程,或具有最短等待时间的进程。取消被选择的进程可以释放由未选择的进程请求的资源。
在整个说明书中对特征、优点的引用或类似的语言的引用并不意味着,可以利用本发明实现的所有特征和优点应该是或位于本发明的任何单一实施例中。相反地,引用了特征和优点的语言被理解为意味着,与实施例一起描述的特定特征、优点或特点包括在本发明的至少一个实施例中。如此,整个说明书中的对特征和优点的讨论,以及类似的语言可以,但不一定是指相同实施例。
此外,在一个或多个实施例中,本发明的所描述的特征、优点和特点可以以任何合适的方式来组合。那些本领域的普通技术人员将认识到,本发明可以在没有特定实施例的一个或多个特定功能或优点的情况下来实现。在其他情况下,在某些实施例中可以有其他特征和优点,不一定存在于本发明的所有实施例中。
通过下面的描述和所附的权利要求,本发明的这些特征和优点将变得显而易见,或者,如下面所描述的,也可以通过本发明的实施例的实践来了解。
附图说明
为了轻松地理解本发明的优点,将通过参考附图中显示的特定实施例,提供上文简要描述的本发明的比较特定的描述。可以理解这些附图只描述了本发明的典型的实施例,因此,不被视为对其范围的限制,将通过使用附图并利用额外的专门描述和细节来说明本发明,在附图中:
图1是说明根据本发明的计算机系统的一个实施例的示意图;
图2是说明根据本发明的操作环境的一个实施例的示意图;
图3是说明了根据本发明的用于解决计算资源死锁的方法的一个实施例的示意流程图;
图4是说明了根据本发明的用于解决计算资源死锁的方法的另一个实施例的示意流程图;以及
图5是描述了根据本发明的解决计算资源死锁的示例的流程图。
具体实施方式
本说明书中描述的许多功能单元被标记为模块,以便特别强调它们的实现方式的独立性。例如,模块可以作为包括自定义VLSI电路或门阵列、诸如逻辑芯片之类的现成半导体、晶体管或其他分离的元件的硬件电路来实现。模块还可以以诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件设备来实现。
模块还可以以用于供各种处理器来执行的软件来实现。例如,可执行代码的标识的模块可以包括计算机指令的一个或多个物理或逻辑块,指令例如可以作为对象、过程、函数来组织。尽管如此,标识的模块的可执行程序不必在物理上位于一起,但可以包括存储在不同位置的不同的指令,当这些指令在逻辑上联合在一起时,构成模块,并实现该模块的指定的用途。
实际上,可执行代码的模块可以是单个指令、或许多指令,甚至可以在多个不同代码段、在不同的程序中以及跨多个存储设备地分布。同样,这里可以在模块内标识和显示操作数据,并可以以任何合适的形式来实现并在任何合适的数据结构类型内组织。操作数据可以作为单个数据集来收集,也可以在不同的位置上分布,包括在不同的存储设备上分布,可以至少部分地,只作为系统或网络上的电子信号存在。
在本说明书中对“一个实施例”或“实施例”的引用,或类似的语言,意味着,涉及实施例所描述的特定特征、结构或特点包括在本发明的至少一个实施例中。如此,在本说明书中出现的短语“在一个实施例中”或“在实施例中”以及类似的语言可以,但不一定都是指同一个实施例。
对信号承载介质的引用可以采用能够生成信号、使信号生成,或使数字处理设备上的机器可读取的指令的程序执行中的任何形式。信号承载介质可以通过传输线路、光盘、数字视盘、磁带、伯努利驱动器、磁盘、穿孔卡片、快闪存储器、集成电路或其他数字处理设备存储设备来实现。
此外,在一个或多个实施例中,所描述的本发明的特征、结构或特征可以以任何合适的方式来组合。在下面的描述中,提供了许多具体细节,如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等等的示例,以提供对本发明的实施例的全面的了解。然而,那些本领域的普通人员将认识到,本发明可以在没有一个或多个具体细节的情况下来实现,或利用其他方法、组件、材料等等来实现。在其他情况下,没有显示或详细描述已知的结构、材料、或操作,以免妨碍对本发明的某些方面的理解。
图1是根据本发明的计算系统100的示意方框图。所描述的计算系统100包括主存储器102、系统总线104、操作系统106、资源108、进程110、进程监视器112、一个或多个存储设备114、中央处理单元(CPU)116、网络接口卡(NIC)118、网络119以及计算机120。计算系统100是适合应用本发明的计算系统的一个示例。
系统总线104可以在计算机120内的各个组件之间提供通信信道。存储设备114可以是计算机120中的一个组件。存储设备114可以包括各种设备,如直接访问存储设备(DASD)、磁带驱动器等等。在某些实施例中,存储设备可以是可写入的。
CPU 116可以连接到系统总线104。在一个实施例中,CPU对通过系统总线104接收到的数据进行处理,并将数据传输到诸如主存储器102之类的连接到系统总线104的组件。主存储器102可以是易失性存储器。在一个实施例中,主存储器102存储操作系统106、操作系统资源108、进程110以及进程监视器112。进程监视器112包括用于解决计算资源死锁的模块。
NIC 118可以通过系统总线104与计算机120进行通信。NIC118可以与网络119进行通信。在一个实施例中,NIC 118在系统总线104和网络119之间创建了通信链路,使得计算机120与诸如另一台计算机120之类的同一个网络119上的设备进行通信。计算机120可以是服务器,允许进程监视器112服务于网络119上的其他计算机。
图2是说明根据本发明的操作环境200的示意图。所描述的操作环境200包括进程监视器210、优先级分配模块220、资源跟踪模块230、死锁检测模块240、死锁解决模块250、资源260以及进程270。所描述的操作环境200解决了计算资源死锁问题。
所描述的进程监视器210包括解决计算资源死锁问题所需的模块。进程监视器210可以通过实用程序来实现,也可以作为操作系统的服务来实现。优先级分配模块220可以便于对进程的默认优先级级别的修改。在一个实施例中,通过图形用户界面来访问优先级分配模块220。在另一个实施例中,通过命令行界面来访问优先级分配模块220。对优先级分配模块220的访问可以允许指定一个进程在资源可用时重新启动。
资源跟踪模块230可以生成便于在操作环境200内执行一组进程270的资源的报告。报告可以是当前已经分配的资源的列表。在一个实施例中,报告可以由操作系统资源争用服务来生成。在优选实施例中,对报告进行分析,以判断哪一个进程270正在持有哪一个资源260。
然后,可以对进程270进行扫描,以获取诸如进程标识、优先级级别、队列中的时间、由它所控制的资源、由它所请求的资源以及由它所请求的当前不可用的资源之类的信息。资源跟踪模块230可以将报告和进程信息提供到死锁检测模块240。在一个实施例中,每隔一定的时间间隔生成和提供报告和进程信息。在另一个实施例中,报告和进程信息可以应请求而生成和提供。
死锁检测模块240可以对由资源跟踪模块230提供的信息进行分析,以检测进程270之中的一个或多个死锁状态。例如,当报告指出了一个进程P1正控制着资源R1,并需要另一个资源R2才能使进程完成;而另一个进程P2正控制着R2并需要R1才能使进程完成时,可以检测到死锁。由于两个进程都需要不可用的资源,因此,哪一个进程都无法完成。同样,由于哪一个进程都无法完成,因此,它们当前控制着的资源都仍保持不可用。
死锁检测模块240可以识别死锁解决模块250的被死锁的进程的组。死锁解决模块250可以通过取消该组被死锁的进程中的优先级最低的进程来解决进程270之中的死锁问题。在一个实施例中,如果该组被死锁的进程具有多个优先级最低的进程,则被选择予以取消的进程具有最多的相关进程。在另一个实施例中,如果该组被死锁的进程具有多个优先级最低的进程,则被选择予以取消的进程具有最短等待时间。
死锁解决模块250可以在取消之后重新启动被取消的进程。在一个实施例中,重新启动的进程从取消的点继续。在另一个实施例中,重新启动的进程是从其开始处启动的。
操作环境200的资源260可以包括分配主存储器以促进进程270的完成。进程270可以是操作环境200的服务,也可以是用户提交的任务。可以给进程270分配促进完成所需的优先级级别和资源260。
随后的简要流程图一般是作为逻辑流程图阐述的。如此,所描述的顺序和标出的步骤表示所呈现的方法的一个实施例。可以构想在功能、逻辑或效果上等效于所说明的方法的一个或多个步骤或其一部分的其他步骤和方法。另外,所使用的格式和符号只是说明该方法的逻辑步骤,不应理解为对该方法的范围作出限制。虽然可以在流程图中使用各种箭头和线条类型,但是,它们不应被理解为对对应的方法的范围作出限制。实际上,可以使用某些箭头或其他连接符来只表示方法的逻辑流程。例如,箭头可以表示所描述的方法的所列举的步骤之间的未指定的持续时间的等待或监视时间段。另外,执行特定方法的顺序可以,也可以不严格地遵循所显示的对应的步骤的顺序。
图3描述了用于解决计算死锁的方法300的一个实施例。方法300包括跟踪310与计算环境关联的资源,生成320资源报告,进行测试330以查找一个或多个死锁状态,并解决340死锁问题。所描述的方法300按优先级处理方式来促进计算死锁问题的解决。
跟踪310资源可以包括获取有关有助于在操作环境200内执行进程270的资源的信息。信息可以是当前已经分配的资源的列表的形式。在一个实施例中,跟踪310资源是由独立的实用程序来完成的。在另一个实施例中,跟踪310资源是作为操作系统的服务来执行的。
生成320资源报告的过程可以包括将通过跟踪310资源获取的信息分类。可以对资源信息进行分类,以优化判断死锁的能力。在一个实施例中,信息是从操作系统资源争用服务获取的。在优选实施例中,生成320资源报告的过程包括将资源信息拉到顺序文件中。生成320资源报告的过程可以提供信息,以通过测试330死锁状态判断是否存在一组被死锁的进程。
测试330死锁状态可以包括对通过生成320资源报告获得的信息进行分析。在一个实施例中,将扫描每一个资源的排它的持有者,以查看它是否正在等待报告中列出的任何额外的资源。如果持有者正在等待不同的资源,则识别第二资源的所有者。然后,将第二资源的所有者与第一资源的等待者进行比较。如果第二资源的所有者是第一资源的等待者,那么,存在死锁状态。
解决340死锁过程可以包括取消选择的进程。在一个实施例中,被取消的进程是从其开始处重新启动的。在另一个实施例中,被取消的进程是从执行的最后一个命令处重新启动的。此外,在另一个实施例中,被取消的进程不重新启动,而必须重新提交。
图4描述了用于解决340死锁的方法400的一个实施例。方法400包括判断410优先级最低的进程,判断415被选择的进程,取消420被选择的进程,并重新启动430被取消的进程。所描述的方法400有助于解决计算死锁问题。
在一个实施例中,判断410优先级最低的进程包括对被检测处于死锁状态的进程组进行扫描。每一个进程的属性可以是优先级级别。进程的优先级级别可以是默认优先级级别,也可以是用户分配的优先级级别。可以比较被判断处于被死锁的进程组中的所有进程的优先级级别。被选择予以取消的进程可以是带有最低的优先级级别的进程。
如果有一个以上的进程具有最低的优先级级别,那么,可以使用用于判断415选择的进程的辅助标准。在一个实施例中,对优先级级别最低的进程进行扫描,以选择具有最多相关进程(正在等待由另一个进程持有的资源的进程)的进程。在另一个实施例中,对优先级级别最低的进程进行扫描,以选择具有最短等待时间的进程。
取消420选择的进程可以包括在当前指令周期之后结束进程。当被死锁的进程组中的被选择的进程正在被取消时,一个或多个未选择的进程可以等待被选择的进程的资源释放。当被取消的进程的资源已释放时,未选择的进程可以请求资源供使用。在一个实施例中,根据进程的优先级级别,给它们授予释放的资源。
随后,被取消的进程可以等待425,直到已经释放的资源可供使用。一旦资源可用,方法可以通过重新启动430被取消的进程继续。在一个实施例中,被取消的进程在它被取消的指令周期中重新启动。在另一个实施例中,被取消的进程在第一个指令周期中重新启动。
图5是描述了解决计算死锁的示例500的流程图。示例500包括第一资源510、第二资源520、第一进程530、第二进程540以及死锁解决模块550。示例500显示了在解决特定计算死锁时涉及的关系。
第一资源510和第二资源520可用于完成进程。如在示例500的第二步骤中所描述的,第一进程530可以获得第一资源510并请求第二资源520。类似地,第二进程520可以获得第二资源520,并请求第一资源510。如所描述的,因为在不使用由其他进程获得的资源的情况下第一进程530和第二进程540无论哪个进程都无法完成,因此发生了死锁。
为解决死锁,死锁解决模块550被配置为取消优先级级别最低的进程。在所描述的方法500中,第二进程540被选为优先级最低的进程,随后被取消。在第二资源520不再由第二进程540掌握的情况下,第二资源可以分配给第一进程530以促进完成该进程。
在第一进程530完成时,死锁解决模块550重新启动被取消的第二进程540。因此,第一和第二资源510,520促进了第一进程530的完成,并不再由它持有。因此,第一和第二资源510,520可以分配给第二进程540,以促进完成该进程。在完成第二进程540时,第一和第二资源510,520不再被进程530和540需要,可以响应来自另一个进程的请求而被分配出去。
在不偏离本发明的精神和基本特征的情况下,本发明可以以其他特定形式来实现。所描述的实施例在各个方面都只作为说明性的,而不是限制性的。因此,本发明的范围由所附权利要求而不是由前面的描述指出。在权利要求的等效内的含义和范围内的所有更改都将包括在它们的范围内。

Claims (16)

1.一种用于解决计算资源死锁的设备,该设备包括:
死锁检测模块,被配置为在一组正在执行的进程内检测一组被死锁的进程;以及
死锁解决模块,被配置为取消该组被死锁的进程中的优先级最低的进程。
2.根据权利要求1所述的设备,进一步包括被配置为允许用户向进程分配优先级级别的优先级分配模块。
3.根据权利要求1所述的设备,进一步包括被配置为为该组正在执行的进程生成被请求资源报告的资源跟踪模块。
4.根据权利要求3所述的设备,其中,资源跟踪模块是操作系统的一部分。
5.根据权利要求1所述的设备,其中,死锁检测模块被进一步配置为通过处理被请求资源报告来检测该组被死锁的进程。
6.根据权利要求1所述的设备,其中,死锁解决模块被进一步配置为,如果多个进程具有最低的优先级则取消选择的进程。
7.根据权利要求1所述的设备,其中,所述选择的进程是具有最多相关进程的进程。
8.根据权利要求1所述的设备,其中,所述选择的进程是具有最短等待时间的进程。
9.一种用于解决计算资源死锁的系统,该系统包括:
被配置为分配资源以方便请求的操作系统;进程监视器,被配置为在一组正在执行的进程内检测一组被死锁的进程;以及进程监视器被进一步配置为取消该组被死锁的进程中的优先级最低的进程。
10.根据权利要求9所述的系统,进一步包括存储子系统。
11.根据权利要求9所述的系统,进一步包括被配置为允许用户向进程分配优先级级别的优先级分配模块。
12.根据权利要求9所述的系统,进一步包括被配置为为该组正在执行的进程生成被请求资源报告的资源跟踪模块。
13.根据权利要求11所述的系统,其中,资源跟踪模块是操作系统的一部分。
14.根据权利要求9所述的系统,其中,死锁检测模块被进一步配置为通过处理被请求资源报告来检测该组被死锁的进程。
15.根据权利要求9所述的系统,其中,死锁解决模块被进一步配置为,如果多个进程具有最低的优先级则取消选择的进程。
16.一种用于解决计算资源死锁的方法,包括:
在一组正在执行的进程内检测一组被死锁的进程;以及
取消该组被死锁的进程中的优先级最低的进程。
CNB2007100846759A 2006-03-31 2007-03-01 用于解决计算资源死锁的设备、系统以及方法 Expired - Fee Related CN100478898C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/278,179 2006-03-31
US11/278,179 US8141087B2 (en) 2006-03-31 2006-03-31 Resolving computing resource deadlocks based on priority and dependent processes

Publications (2)

Publication Number Publication Date
CN101046756A true CN101046756A (zh) 2007-10-03
CN100478898C CN100478898C (zh) 2009-04-15

Family

ID=38560782

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100846759A Expired - Fee Related CN100478898C (zh) 2006-03-31 2007-03-01 用于解决计算资源死锁的设备、系统以及方法

Country Status (2)

Country Link
US (1) US8141087B2 (zh)
CN (1) CN100478898C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295266B (zh) * 2008-06-05 2010-06-16 成都市华为赛门铁克科技有限公司 检测和解除死锁的方法、装置和系统
CN103678122A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 一种死锁检测方法、设备及系统
CN107885488A (zh) * 2016-09-29 2018-04-06 微软技术许可有限责任公司 意图和具有意图的锁
CN110851286A (zh) * 2019-11-12 2020-02-28 北京城市网邻信息技术有限公司 线程管理方法、装置、电子设备及存储介质
CN111580940A (zh) * 2020-05-11 2020-08-25 北京字节跳动网络技术有限公司 应用程序的多进程间的进程处理方法、装置及电子设备
CN111722933A (zh) * 2019-03-19 2020-09-29 国际商业机器公司 分布式进程之间的死锁解决
CN112769640A (zh) * 2020-12-23 2021-05-07 中移(杭州)信息技术有限公司 进程通信方法、系统、服务器及存储介质
CN113076282A (zh) * 2021-04-21 2021-07-06 中国人民解放军国防科技大学 一种面向处理器片上网络的死锁处理方法
CN114003396A (zh) * 2021-10-27 2022-02-01 浪潮电子信息产业股份有限公司 一种内核软死锁处理方法、装置、设备及存储介质
CN114138496A (zh) * 2021-12-08 2022-03-04 锐捷网络股份有限公司 一种硬件资源管理方法、装置、电子设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411661B2 (en) * 2009-04-08 2016-08-09 International Business Machines Corporation Deadlock avoidance
US7962615B1 (en) * 2010-01-07 2011-06-14 International Business Machines Corporation Multi-system deadlock reduction
US9098333B1 (en) 2010-05-07 2015-08-04 Ziften Technologies, Inc. Monitoring computer process resource usage
US9104502B2 (en) 2012-12-15 2015-08-11 International Business Machines Corporation Managing resource pools for deadlock avoidance
US9495199B2 (en) 2013-08-26 2016-11-15 International Business Machines Corporation Management of bottlenecks in database systems
US9832268B2 (en) 2014-08-28 2017-11-28 Software AG USA Inc. System, method, and medium for managing priority in requests to in-memory data grid (IMDG)
EP3255543B1 (en) * 2015-04-14 2019-06-05 Huawei Technologies Co., Ltd. Process management method, apparatus and device
CN105740079A (zh) * 2016-01-27 2016-07-06 浪潮(北京)电子信息产业有限公司 一种死锁处理方法与系统
US11442843B2 (en) * 2019-09-13 2022-09-13 Dish Network Technologies India Private Limited Methods and systems for identifying, handling, and debugging a hung thread

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016167A (en) 1987-12-21 1991-05-14 Amdahl Corporation Resource contention deadlock detection and prevention
CA2027934C (en) 1989-12-22 1994-06-21 Cherie C. Barnes Accelerated deadlock detection in congested data transactions
US5832484A (en) * 1996-07-02 1998-11-03 Sybase, Inc. Database system with methods for parallel lock management
US6721775B1 (en) 1999-08-12 2004-04-13 International Business Machines Corporation Resource contention analysis employing time-ordered entries in a blocking queue and waiting queue
US6681241B1 (en) 1999-08-12 2004-01-20 International Business Machines Corporation Resource contention monitoring employing time-ordered entries in a blocking queue and waiting queue
US6738872B2 (en) 2000-12-22 2004-05-18 International Business Machines Corporation Clustered computer system with deadlock avoidance
US7454600B2 (en) * 2001-06-22 2008-11-18 Intel Corporation Method and apparatus for assigning thread priority in a processor or the like
US7185339B2 (en) * 2001-08-03 2007-02-27 Oracle International Corporation Victim selection for deadlock detection
US7174552B2 (en) 2002-01-12 2007-02-06 Intel Corporation Method of accessing a resource by a process based on a semaphore of another process
US7278057B2 (en) * 2003-07-31 2007-10-02 International Business Machines Corporation Automated hang detection in Java thread dumps

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295266B (zh) * 2008-06-05 2010-06-16 成都市华为赛门铁克科技有限公司 检测和解除死锁的方法、装置和系统
CN103678122A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 一种死锁检测方法、设备及系统
CN103678122B (zh) * 2013-11-29 2016-03-30 华为技术有限公司 一种死锁检测方法、设备及系统
CN107885488A (zh) * 2016-09-29 2018-04-06 微软技术许可有限责任公司 意图和具有意图的锁
US11327905B2 (en) 2016-09-29 2022-05-10 Microsoft Technology Licensing, Llc Intents and locks with intent
CN111722933A (zh) * 2019-03-19 2020-09-29 国际商业机器公司 分布式进程之间的死锁解决
CN111722933B (zh) * 2019-03-19 2024-05-24 国际商业机器公司 分布式进程之间的死锁解决
CN110851286A (zh) * 2019-11-12 2020-02-28 北京城市网邻信息技术有限公司 线程管理方法、装置、电子设备及存储介质
CN110851286B (zh) * 2019-11-12 2023-02-17 北京城市网邻信息技术有限公司 线程管理方法、装置、电子设备及存储介质
CN111580940A (zh) * 2020-05-11 2020-08-25 北京字节跳动网络技术有限公司 应用程序的多进程间的进程处理方法、装置及电子设备
CN112769640A (zh) * 2020-12-23 2021-05-07 中移(杭州)信息技术有限公司 进程通信方法、系统、服务器及存储介质
CN113076282A (zh) * 2021-04-21 2021-07-06 中国人民解放军国防科技大学 一种面向处理器片上网络的死锁处理方法
CN113076282B (zh) * 2021-04-21 2023-06-02 中国人民解放军国防科技大学 一种面向处理器片上网络的死锁处理方法
CN114003396A (zh) * 2021-10-27 2022-02-01 浪潮电子信息产业股份有限公司 一种内核软死锁处理方法、装置、设备及存储介质
CN114138496A (zh) * 2021-12-08 2022-03-04 锐捷网络股份有限公司 一种硬件资源管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN100478898C (zh) 2009-04-15
US8141087B2 (en) 2012-03-20
US20070233924A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
CN101046756A (zh) 用于解决计算资源死锁的设备、系统以及方法
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
US8635493B2 (en) High availability system allowing conditionally reserved computing resource use and reclamation upon a failover
CN102047225B (zh) 优先级控制装置以及优先级控制方法
CN103677752B (zh) 基于分布式数据的并发处理方法和系统
CN104572306B (zh) 计算机集群的资源管理方法、资源管理器
CN107515785A (zh) 一种内存管理方法及装置
US7712096B2 (en) Method, system, and storage medium for dynamically reordering resource participation in two-phase commit to heuristically optimize for last-agent optimization
CN103136364A (zh) 集群数据库系统及其数据查询处理方法
CN111666141B (zh) 任务调度方法、装置、设备及计算机存储介质
US9612867B2 (en) Apparatus and method for data partition and allocation in heterogeneous multi-processor environment
CN1702622A (zh) 用于校正管理程序工作的分布的系统
CN108681481B (zh) 业务请求的处理方法及装置
CN107832134B (zh) 多任务处理方法、应用服务器及存储介质
CN1975655A (zh) 用于管理对存储装置的访问的方法和设备
CN106775948A (zh) 一种基于优先级的云任务调度方法及装置
CN111143210A (zh) 一种测试任务调度方法和系统
CN105138405A (zh) 基于待释放资源列表的MapReduce任务推测执行方法和装置
CN1788534A (zh) 元件安装顺序优化方法,元件安装装置,执行元件安装顺序优化方法的程序,和记录程序的记录介质
KR101725408B1 (ko) 실시간 운영체제의 태스크 스케줄링 방법
US20090168092A1 (en) Job management and scheduling method for network system
CN112286651A (zh) 一种自动化测试资源管理的方法及装置
CN118295790A (zh) 任务处理方法、装置、存储介质及计算机设备
CN1737764A (zh) 支持osek标准的嵌入式实时操作系统的任务调度方法
CN115878910A (zh) 线路查询方法、装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

Termination date: 20190301

CF01 Termination of patent right due to non-payment of annual fee