CN102467373A - 任务取消宽限期 - Google Patents
任务取消宽限期 Download PDFInfo
- Publication number
- CN102467373A CN102467373A CN201010536241XA CN201010536241A CN102467373A CN 102467373 A CN102467373 A CN 102467373A CN 201010536241X A CN201010536241X A CN 201010536241XA CN 201010536241 A CN201010536241 A CN 201010536241A CN 102467373 A CN102467373 A CN 102467373A
- Authority
- CN
- China
- Prior art keywords
- task
- grace period
- cancellation
- order
- caution signal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种任务取消宽限期。可接收执行任务的命令并可启动该任务。还可接收取消该任务的命令。在取消该任务前,可向该任务提供警告信号和预定的宽限期时间,这可以允许该任务诸如通过干净地关闭来为取消做准备。若该任务在宽限期内还未关闭,则在宽限期到期后可取消该任务。
Description
背景技术
大型计算或演算常在计算机群集上执行。计算机群集是一同工作或协作以执行任务的一组计算机器。计算机群集通常具有头节点和一个或更多个计算节点。头节点负责为作业分配计算节点资源,并且计算节点负责执行来自其资源所被分配至的作业的任务。作业是对群集资源(诸如计算节点资源)的请求,该请求包括一个或多个任务。任务是可在诸如群集的一个或多个计算节点中或在一些其他环境中执行的一项计算工作。作业通过启动该作业中的一个或多个任务来启动或调度。
有时,群集上运行的作业和任务在它们自然完成之前被取消,即被终止。取消作业包括取消该作业中当前正在运行的任务。任务可通过终止当前正在执行该任务的计算的进程来取消。这样的取消可以按各种方式和出于各种原因而发起,诸如响应于来自最终用户或群集管理员的用户输入、或者是群集的调度策略的结果。当在群集的计算节点上运行的任务被取消时,对应于该计算节点上的任务的进程被立即终止。任务取消还可发生在除了计算机群集之外的其他情形中,诸如发生在挂起和恢复情景中,在这样的情景中任务可被取消但可在稍后的时间恢复。
发明内容
无论先前的任务取消工具和技术有何优点,它们都未能认识到本文描述和要求保护的任务取消宽限期工具和技术,也未认识这些工具和技术所产生的优点。
在一个实施例中,这些工具和技术可包括接收执行任务的命令并启动该任务。另外,可接收取消该任务的命令。在取消该任务之前可向该任务发送警告信号并提供预定的宽限期时间。若该任务在宽限期内还未关闭,则在宽限期到期后可取消该任务。
在这些工具和技术的另一实施例中,可接收取消正在运行的任务的命令。可确定是否在取消该任务之前为该任务提供宽限期时间。若不向该任务提供宽限期,则可在不等待宽限期到期的情况下取消该任务。若要向该任务提供宽限期,则可向该任务发送警告信号并提供宽限期。若该任务在宽限期内还未关闭,则在宽限期到期后可取消该任务。
在这些工具和技术的又一实施例中,在群集的头节点处,可确定是否要取消正在运行的任务。可从头节点向正在运行该任务的计算节点发送命令。该命令可指令该计算节点取消该任务。可向该任务发送警告信号,并且若该任务在预定的宽限期时间到期时还未关闭,则可在宽限期到期后取消该任务。
提供本发明内容是为了以简化的形式介绍一些概念。这些概念将在以下具体实施方式中进一步描述。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。类似地,本发明不限于解决在背景技术、具体实施方式、或附图中讨论的特定技术、工具、环境、缺点、或优点的实现。
附图说明
图1是其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境的框图。
图2是具有取消宽限期的任务执行系统的示例的示意图。
图3是用于在图2的执行系统中启动任务的技术的流程图。
图4是用于在图2的执行系统中取消任务的技术的流程图。
图5是可在图2的系统或某一其他系统中执行的任务取消宽限期技术的流程图。
图6是可在图2的系统或某一其他系统中执行的另一任务取消宽限期技术的流程图。
图7是可在图2的系统或某一其他系统中执行的又一任务取消宽限期技术的流程图。
具体实施方式
本文描述的各实施例涉及用于改善的任务取消的技术和工具。这样的改善可源于分开或组合地使用各种技术和工具。
如上所述,当在群集的计算节点上运行的任务被取消时,对应于该计算节点上的任务的进程通常被立即终止。这样突然的终止可能不允许任务有保存它们在被终止前已完成的计算工作的机会,从而导致已耗计算时间的丧失。丧失的计算将在下次运行该任务时重做。此外,许多复杂的应用程序在它们没有被干净地关闭的情况下将在后续执行时遇到问题。例如,除非一些应用程序被正确地关闭,否则在下次调用这些应用程序时应用程序将运行恢复代码,或者这些应用程序可能会令计算节点陷于使另一用户难以在该计算节点上使用相同应用程序的状态。本文描述的工具和技术可包括为作业和任务取消提供宽限期,该工具和技术通知任务其将被终止并随后允许该任务有为取消做好准备的宽限期,该准备诸如通过视其选择保存其状态和/或干净地关闭来进行。这可以在群集中完成,并且也可在其他环境中完成。
这样的技术和工具可包括发送警告信号(例如,CTRL_BREAK信号)以通知任务其将被取消。例如,该任务可以是在群集的计算节点中运行的任务。该任务可被允许有用于对取消做好准备的宽限期。例如,该任务可保存其状态和/或干净地退出。若任务在宽限期后仍在运行,则可以诸如通过强行终止该任务的进程来取消该任务。可提供代理以接收取消的信号警告并将该警告信号转发至该任务的进程。例如,在任务正运行在控制台中的情况下,该代理也可以正在该控制台中运行。该代理可接收警告信号,并可将警告信号从该代理转发至控制台内的该任务。宽限期可诸如被管理员绕过以加速作业的取消。
所附权利要求中定义的主题不必限于本文描述的益处。本发明的特定实现可提供本文描述的益处的全部、一些、或未提供本文描述的益处。尽管本文出于呈现的目的以特定的顺序次序描述了用于各种技术的操作,但应理解除非要求特定的排序,否则这种描述方式涵盖了操作顺序上的重新安排。例如,在某些情况下,可以重新安排或并发执行顺序地描述的操作。本文参照流程图描述的技术可被用于本文描述的一个或多个系统和/或用于一个或多个其他系统。例如,本文描述的各种过程可用硬件或软件、或两者的组合来实现。此外,为了简单起见,流程图可能未示出可结合其他技术来使用特定技术的各种方式。
示例性计算环境
图1示出其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境(100)的一般化示例。例如,一个或多个这样的计算环境可被用作运行要被取消的任务的环境,诸如计算节点。另外,这样的计算环境可以是用户客户机或头节点。一般而言,可使用各种不同的通用或专用计算系统配置。适用于此处所描述的工具和技术的公知计算系统配置的示例包括,但不限于,服务器场和服务器群集、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
计算环境(100)不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图1中,这一最基本的配置(130)被包括在虚线内。处理单元(110)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存)、或两者的某种组合。存储器(120)存储实现任务取消宽限期的软件(180)。
尽管为了清楚起见用线条示出了图1的各框,但是,实际上,描绘各组件并不是那样清楚,并且用比喻方法,图1以及下文讨论的其他附图的线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等的呈现组件认为是I/O组件。而且,处理器具有存储器。发明人关于此点认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算机”、“计算环境”、或“计算设备”。
计算环境(100)可具有附加特征。在图1中,计算环境(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(100)的各组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软件提供操作环境,并协调计算环境(100)的各组件的活动。
存储(140)可以是可移动或不可移动的,并可包括诸如磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD之类的非瞬态计算机可读存储介质,或者可用于储存信息并可在计算环境(100)内访问的任何其它介质。存储(140)储存用于软件(180)的指令。
输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备;语音输入设备;扫描设备;网络适配器;CD/DVD读取器;或可向计算环境(100)提供输入的另一设备。输出设备(160)可以是显示器、打印机、扬声器、CD/DVD刻录机、网络适配器、或从计算环境(100)提供输出的另一设备。
通信连接(170)允许通过通信介质与另一计算实体进行通信。因此,计算环境(100)可使用通往诸如个人计算机、服务器、路由器、网络PC、对等设备或另一常见网络节点等一个或多个远程计算设备的逻辑连接而工作在联网环境中。通信介质以已调制数据信号的形式传达诸如数据或计算机可执行指令或请求等信息。已调制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非局限,通信介质包括以电、光、RF、红外、声学或其他载波实现的有线或无线技术。
各种工具和技术可以在计算机可读介质的一般上下文中描述。计算机可读介质可以是可在计算环境内访问的任何可用介质。作为示例而非局限,对于计算环境(100),计算机可读介质包括存储器(120)、存储(140)、和以上的组合。
这些工具和技术可在诸如程序模块中所包括的在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。
出于表示的目的,详细描述使用了如“确定”、“选择”、“调整”和“操作”等术语来描述计算环境中的计算机操作。这些以及其他类似术语是对计算机执行的操作的高层抽象,并且不应混淆于人类执行的动作,除非明确指出人类(诸如“用户”)的动作执行。对应于这些术语的实际的计算机操作取决于实现而不同。
具有取消宽限期的任务执行系统和环境
图2是具有取消宽限期的任务执行系统(200)的框图,结合该系统可实现所描述的各实施例中的一个或多个实施例。
任务执行系统(200)可用客户机(210)和可处理客户机(210)的作业的群集(212)来实现。任务执行系统(200)还可包括附加的客户机和/或附加的计算机群集。客户机(210)可与群集(212)通信,群集(212)可包括运行调度器服务(222)的头节点(220)。调度器服务(222)可诸如通过标准网络连接与客户机(210)通信。群集(212)还可包括计算节点(230),并且其还可包括一同工作以执行作业的附加计算节点。节点之间的通信可使用标准网络消息收发格式和技术。调度器服务(222)可调度群集(212)中的诸如计算节点(230)等计算节点上的作业(诸如由诸如客户机(210)之类的客户机提交的作业)以及这些作业的任务。
计算节点(230)可运行节点管理器服务(232)。例如,节点管理器服务(232)和调度器服务(222)可以是作为MicrosoftWindowsHPC服务器软件的组件的模块。节点管理器服务(232)可被调度器服务(222)用来执行计算节点(230)上的任务启动和取消。
如将在下文更多地讨论的,计算节点(23)还可运行受节点管理器服务(232)指挥的其他模块。这些模块可包括任务事件(234)、主存代理(242)和任务进程(244)的任务对象(240)。计算节点(23)还可运行其他任务事件、任务对象、代理、和/或任务进程。
现在将参照图3-4的流程图并且仍参照图2的示意图来描述用于在任务执行系统(200)内开始和取消任务的技术。
现在参照图2-3,这些技术可包括向头节点(220)上的调度器服务(222)提交(310)作业。为了在计算节点(23)上启动一任务,调度器服务(222)可向计算节点(230)上的节点管理器服务(232)发送(320)启动任务消息。该启动任务消息可包含诸如用户提供的命令行和环境变量等可被用于启动该任务的进程的信息。
当节点管理器服务(232)接收到任务的启动任务消息时,它可为该任务创建(330)任务对象(240),诸如Windows作业对象。任务对象(240)可封装对应于计算节点(230)上的该任务的进程。可启动任务对象(240)以使得由该任务创建的任何子进程将不能从任务对象(240)脱离。节点管理器服务(232)可建立该任务的进程的环境,诸如环境变量、标准输出、和标准报错。这可包括为该任务创建(340)任务事件(234),诸如Windows事件。代替为该任务创建进程,节点管理器服务(232)可在该任务的任务对象(240)内创建(350)节点管理器代理进程或代理(242)。可向代理(242)传递由节点管理器服务(232)创建的任务事件(234)的身份、以及该任务的实际命令行。使用此信息,代理(242)可验证传给它的窗口事件的身份是有效的,并可用由节点管理器服务(232)提供给它的命令行来启动(360)任务对象(240)中的任务的进程(244)。代理(242)随后可等待(370)任务事件(234)被信令或任务进程(244)退出。
任务的代理(242)可用控制台进程创建标志集来创建。相应地,每个任务的进程可在该任务自己的控制台(260)(其可包含与正在任务对象(240)中运行的进程相同的进程)内运行,从而允许控制台(260)中的进程接收来自控制台(260)中的其他进程的控制台信号,诸如CTRL_BREAK,同时仍保持与计算节点(230)上的其他任务的控制台隔离。
现在参照图2和4,调度器服务(222)可决定取消任务,因为其收到(410)取消命令。例如,它可从最终用户或管理员收到指令调度器服务(222)取消该任务或其作业的用户输入。调度器服务(222)可在没有收到这样的命令的情况下决定取消作业或任务。例如,调度器服务(222)可因为该调度器服务(222)上运行的调度策略而决定取消任务。当调度器服务(222)决定取消任务时,调度器服务(222)可为该任务提供宽限期。例如,此宽限期可以是作为默认值或者响应于来自管理员的用户输入而在群集级设置的。为了提供具体示例,宽限期的默认值可以是15秒,但宽限期可响应于来自系统管理员的用户输入而改变。调度器服务(222)可查找该宽限期并向正在运行该任务的计算节点(230)上的节点管理器服务(232)发送(420)具有该宽限期作为自变量的、对该任务的任务取消或结束任务命令。
当节点管理器服务(232)收到结束任务命令时,其可检查该结束任务命令提供的宽限期是否大于0。若该宽限期大于0,则节点管理器服务(232)可在取消该任务的计算进程前向这些进程提供该宽限期的时间。具体地,节点管理器服务(232)可信令(430)为该特定任务创建的任务事件(234)并启动(440)被设置成在宽限期结束时停掉的定时器(250)。
当对应于该任务的代理(242)收到(445)取消信号,注意到任务事件(234)已从节点管理器服务(232)被信令,代理(242)可生成控制台CTRL_BREAK事件并将该事件发送(450)至其早先已启动的用户的计算任务进程(244)。代理(242)随后可等待(455)任务进程(244)退出。
在任务进程(244)(包括任务对象(240)中该任务的所有进程)退出之后,代理(242)自身可退出,并且节点管理器服务(232)可被通知任务对象(240)内的进程已经退出。任务进程(244)可寄存用于该CTRL_BREAK信号的处理器以便能处理该信号。
响应于收到警告任务该任务将被取消的CTRL_BREAK信号,任务可通过为取消做好准备来响应。例如,任务可启动干净退出。作为另一示例,任务可发起检查点并保存其状态,但不扰乱退出。对于MPI(消息传递接口)任务,该CTRL_BREAK信号可通过smpd被传给该MPI任务在所有计算节点上的所有进程。这可被MPI任务用来进行其所有节点上的其所有进程上的同步检查点。对于面向服务的架构(SOA)应用程序,收到CTRL_BREAK可被解释为完成当前请求并随后退出的命令,而非放弃已经执行的工作。
当宽限期结束时,定时器(250)可停掉(460),并且可确定(465)在宽限期结束时任务是否仍在运行。当然,若任务已经退出则定时器(250)自身可在其停掉前被终止。若在节点管理器服务(232)上的定时器(250)于宽限期结束停掉之前任务进程(244)继之以代理(242)退出,则节点管理器服务(232)可被告知(480)任务进程(244)已经推出,并且可向调度器服务(222)报告已经完成结束任务操作。若定时器先停掉,则节点管理器服务(232)可终止(470)封装该任务的代理(242)以及计算任务进程(244)的任务对象(240),并随后向调度器服务(222)报告(490)已完成该结束任务操作。
作业或任务可能需要在不允许其有宽限期的情况下立即被取消。可为作业或任务提供对取消命令的强制选项。例如,此强制选项可以响应于来自系统管理员的用户输入而完成。例如,当指定了强制选项时,调度器服务(222)可向计算节点(230)上的节点管理器服务(232)发出结束任务命令,调度器服务(222)提供为零的宽限期。当节点管理器服务(232)收到具有为零的宽限期的结束任务命令时,节点管理器服务(232)可决定立即终止对应于该任务的任务对象(240)而不为该任务提供用于对取消进行准备的宽限期。
尽管已经描述了特定任务执行系统(200)下的特定技术,但可以使用许多不同的变形。例如,本文描述的宽限期工具和技术也可用于除计算机群集之外的其他环境中。例如,在不涉及群集的挂起和恢复情景中,任务可能正在应用程序中运行。该应用程序可被取消(挂起),并且其可以在稍后的时间——可能在另一位置恢复。当要取消这样的任务时,在取消前可警告该任务并向其提供宽限期,使得该任务可通过保存其状态来为取消做准备。保存的状态可在稍后时间在恢复任务时被重新载入。
总体任务取消宽限期技术
现在将讨论若干任务取消宽限期技术。这些技术中的每种技术皆可在诸如图2的系统之类的计算环境或某种其他环境中执行。例如,每种技术可在包括至少一个处理器和存储器的计算机系统中执行,该存储器包括存储于其上的、在由该至少一个处理器执行时使该至少一个处理器执行该技术的指令(存储器存储指令(例如,对象代码),并且当处理器执行这些指令时,处理器执行该技术)。类似地,一个或多个计算机可读存储介质可具有收录于其上的计算机可执行指令,该些指令在由至少一个处理器执行时使该至少一个处理器执行该技术。
参照图5,将讨论任务取消宽限期技术。该技术可包括接收(510)执行任务的命令并启动(520)该任务。该技术还可包括接收(530)取消该任务的命令,该命令可指示在取消该任务之前给予该任务的宽限期。响应于接收(530)取消任务的命令,可向该任务发送(550)警告信号。该警告信号可警告该任务,该任务将被取消。该任务可通过为取消做准备(560)来响应该警告信号。例如,该任务可通过保存来自该任务的信息(例如,诸如通过保存已被该任务修改的文件和/或其他数据结构来保存任务的状态)和/或发起用于关闭该任务的关闭程序(诸如通过执行关于该任务的退出程序)来为取消做准备(560)。可在取消该任务前向该任务提供(570)预定的宽限期时间(诸如可由来自系统管理员的输入来配置的时间量),并且当发送(550)警告信号时可剩余该宽限期的至少一部分。可确定(580)任务是否在宽限期内被关闭。若未关闭,则可在宽限期到期之后取消(590)该任务。
该技术可在包括群集的系统中执行。例如,该技术可由群集的节点来执行。该技术可由计算节点来执行,并且取消任务的命令可以接收自群集的头节点。
在收到取消任务的命令时该任务可能正在控制台内运行。另外,向任务发送(550)警告信号可包括向控制台内运行的代理发送第一信号(例如,通过让该代理侦听去往与该控制台的对象相关联的事件的信号),并从该代理向该任务发送第二信号。
参照图6,将讨论另一任务取消宽限期技术。在此技术中,可接收(610)取消正在运行的任务的命令。可确定(620)是否在取消该任务之前为该任务提供宽限期时间。若不向该任务提供宽限期,则可在不等待宽限期到期的情况下取消(625)该任务。若将为该任务提供宽限期,则可向该任务发送(630)警告信号,警告该任务——该任务将被取消。警告信号可在剩余该宽限期的至少一部分时发送(630)。例如,若该任务正在控制台内运行,则向该任务发送警告信号可包括向控制台内的任务发送信号。另外,若该任务将被提供宽限期,则该任务可被提供该宽限期,并且可确定(640)该任务是否已在宽限期内关闭。若未关闭,则可在宽限期到期之后取消(650)该任务。
确定(620)是否为该任务提供宽限期可包括检查该取消任务的命令以确定该命令是否指示大于0的宽限期和/或确定宽限期字段(例如,该取消任务的命令中的宽限期字段)是否被设为0值。
图6的技术在收到取消任务的命令之前该任务正在运行的情况下可由群集的计算节点来执行。
参照图7,将讨论又一任务取消宽限期技术。在该技术中,在群集的头节点处,可确定(710)是否要取消正在运行的任务。例如,这可以响应于来自客户机的消息、响应于头节点处的用户输入、响应于头节点上的调度进程等来实现。可从头节点向正在运行该任务的计算节点发送(720)命令。该命令可指令该计算节点取消该任务。可向任务发送(730)警告信号。例如,警告信号可包括CTRL_BREAK信号。另外,可确定(740)当预定宽限期时间到期时该任务是否已经关闭。若未关闭,则可在宽限期到期之后取消(750)该任务。
计算节点可以是第一计算节点,其可以是在正运行在多个计算节点中的任务的不同部分之间进行协调的计算节点。相应地,该任务还可以正在运行于一个或多个其他计算节点中,这一个或多个其他节点正从运行于该第一计算节点中的任务的一部分接收指令。在此情形中,取消任务可包括取消该任务的在第一计算节点中运行的部分和在其他计算节点中运行的部分。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上文所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。
Claims (20)
1.一种计算机实现的方法,包括:
接收执行任务的命令;
启动所述任务;
接收取消任务的命令;
向所述任务发送警告信号,所述警告信号警告所述任务,所述任务将被取消;
在取消所述任务之前为所述任务提供预定的宽限期时间;以及
若所述任务在所述宽限期内还未关闭,则在所述宽限期到期后取消所述任务。
2.如权利要求1所述的方法,其特征在于,所述取消任务的命令指示所述宽限期。
3.如权利要求1所述的方法,其特征在于,所述警告信号在剩余所述宽限期的至少一部分时发送。
4.如权利要求3所述的方法,其特征在于,所述任务通过为取消做准备来响应所述警告信号。
5.如权利要求4所述的方法,其特征在于,为取消做准备包括保存来自所述任务的信息。
6.如权利要求4所述的方法,其特征在于,为取消做准备包括发起用于关闭所述任务的关闭程序。
7.如权利要求1所述的方法,其特征在于,所述方法是由群集的节点执行的。
8.如权利要求7所述的方法,其特征在于,所述群集的所述节点是计算节点,并且其中所述取消任务的命令是从所述群集的头节点接收的。
9.如权利要求1所述的方法,其特征在于,当收到所述取消任务的命令时所述任务正在控制台内运行。
10.如权利要求9所述的方法,其特征在于,还包括响应于收到所述取消任务的命令,向所述任务发送警告信号,所述警告信号警告所述任务,所述任务将被取消,其中向所述任务发送所述警告信号包括向在所述控制台内的运行的代理发送第一信号,并从所述代理向所述任务发送第二信号。
11.如权利要求1所述的方法,其特征在于:
所述方法还包括:
响应于收到所述取消任务的命令,向所述任务发送警告信号,所述警告信号警告所述任务,所述任务将被取消;
所述取消任务的命令指示所述宽限期;
所述方法是由群集的计算节点执行的;
所述取消任务的命令是从群集的头节点接收的;以及
向所述任务发送所述警告信号包括向在所述任务正在其中运行的控制台内运行的代理发送第一信号,并从所述代理向所述任务发送第二信号。
12.一种计算机系统,包括:
至少一个处理器;以及
包括存储于其上的指令的存储器,所述指令在由所述至少一个处理器执行时致使所述至少一个处理器执行以下动作:
接收取消正在运行的任务的命令;
确定是否在取消所述任务之前为所述任务提供宽限期时间;
若不向所述任务提供所述宽限期,则在不等待所述宽限期到期的情况下取消所述任务;
若要为所述任务提供所述宽限期,则向所述任务发送警告信号并为所述任务提供所述宽限期,并且若所述任务在所述宽限期内还未关闭则在所述宽限期到期后取消所述任务。
13.如权利要求12所述的计算机系统,其特征在于,确定是否为所述任务提供宽限期包括确定宽限期字段是否被设为零值。
14.如权利要求12所述的计算机系统,其特征在于,确定是否为所述任务提供宽限期包括检查所述取消任务的命令以确定所述命令是否指示大于零的宽限期。
15.如权利要求12所述的计算机系统,其特征在于,所述计算机系统包括群集,以及其中所述至少一个处理器和所述存储器是在收到所述取消任务的命令前所述任务正在其中运行的群集的计算节点的部分。
16.如权利要求12所述的计算机系统,其特征在于,发送所述警告信号包括在剩余所述宽限期的至少一部分时发送所述警告信号。
17.如权利要求16所述的计算机系统,其特征在于,所述任务正在控制台内运行,以及其中向所述任务发送所述警告信号包括向所述控制台内的所述任务发送信号。
18.一种或多种具有收录于其上的计算机可执行指令的计算机可读存储介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行以下动作:
在群集的头节点处,确定正在运行的任务要被取消;
从所述头节点向正在运行所述任务的计算节点发送命令,所述命令指令所述计算节点取消所述任务;
向所述任务发送警告信号;以及
若所述任务在预定宽限期时间到期时还未关闭,则在所述宽限期到期后取消所述任务。
19.如权利要求18所述的一种或多种计算机可读存储介质,其特征在于,所述警告信号包括CTRL_BREAK信号。
20.如权利要求18所述的一种或多种计算机可读存储介质,其特征在于,所述计算节点是第一计算节点,并且所述任务还在正从在所述第一计算节点中运行的所述任务的一部分接收指令的一个或多个其他计算节点中运行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010536241XA CN102467373A (zh) | 2010-10-28 | 2010-10-28 | 任务取消宽限期 |
US13/101,156 US20120110581A1 (en) | 2010-10-28 | 2011-05-05 | Task cancellation grace periods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010536241XA CN102467373A (zh) | 2010-10-28 | 2010-10-28 | 任务取消宽限期 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102467373A true CN102467373A (zh) | 2012-05-23 |
Family
ID=45998114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010536241XA Pending CN102467373A (zh) | 2010-10-28 | 2010-10-28 | 任务取消宽限期 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120110581A1 (zh) |
CN (1) | CN102467373A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110878B2 (en) | 2012-01-18 | 2015-08-18 | International Business Machines Corporation | Use of a warning track interruption facility by a program |
US9104508B2 (en) * | 2012-01-18 | 2015-08-11 | International Business Machines Corporation | Providing by one program to another program access to a warning track facility |
US8850450B2 (en) | 2012-01-18 | 2014-09-30 | International Business Machines Corporation | Warning track interruption facility |
US9367357B2 (en) * | 2013-01-18 | 2016-06-14 | Nec Corporation | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
US9800519B2 (en) | 2014-08-21 | 2017-10-24 | Microsoft Technology Licensing, Llc | Equitable sharing of system resources in workflow execution |
US9658885B2 (en) * | 2014-09-04 | 2017-05-23 | Home Box Office, Inc. | Asynchronous task multiplexing and chaining |
US11340955B2 (en) * | 2020-01-02 | 2022-05-24 | International Business Machines Corporation | Thread pool management for multiple applications |
US11457073B1 (en) * | 2022-02-09 | 2022-09-27 | coretech It, UAB | Supernode graceful shutdown in a proxy infrastructure |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1910553A (zh) * | 2004-01-08 | 2007-02-07 | 皇家飞利浦电子股份有限公司 | 基于存储器要求在多处理器系统中进行任务调度的方法和设备 |
US20070061804A1 (en) * | 2005-09-02 | 2007-03-15 | Anzelde Thomas R | Apparatus, system, and method for managing task instances |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2124772C (en) * | 1994-05-31 | 2000-02-08 | Russell Francis Byers | Processor shelf controller |
US6625639B1 (en) * | 1999-10-20 | 2003-09-23 | International Business Machines Corporation | Apparatus and method for processing a task in a clustered computing environment |
GB2466604B (en) * | 2007-09-27 | 2012-09-12 | Ronald N Hilton | Apparatus,system,and method for cross-system proxy-based task offloading |
-
2010
- 2010-10-28 CN CN201010536241XA patent/CN102467373A/zh active Pending
-
2011
- 2011-05-05 US US13/101,156 patent/US20120110581A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1910553A (zh) * | 2004-01-08 | 2007-02-07 | 皇家飞利浦电子股份有限公司 | 基于存储器要求在多处理器系统中进行任务调度的方法和设备 |
US20070061804A1 (en) * | 2005-09-02 | 2007-03-15 | Anzelde Thomas R | Apparatus, system, and method for managing task instances |
Non-Patent Citations (1)
Title |
---|
LILOZHU: "Linux重启命令", 《HTTP://BLOG.CSDN.NET/ZWXRAIN/ARTICLE/DETAILS/2073244》, 30 January 2008 (2008-01-30), pages 1 - 2 * |
Also Published As
Publication number | Publication date |
---|---|
US20120110581A1 (en) | 2012-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102467373A (zh) | 任务取消宽限期 | |
US8566784B2 (en) | Business process change controller | |
CN112035858B (zh) | Api访问控制方法、装置、设备及介质 | |
US9201961B2 (en) | Concurrent web based multi-task support for computer system | |
KR101258834B1 (ko) | 보안 정책에 의한 모바일 기기 관리장치 및 방법, 그리고 모바일 기기 관리를 위한 관리 서버 | |
US20210256395A1 (en) | System and methods to provide seamless information exchange between certified and uncertified applications | |
US20070299795A1 (en) | Creating and managing activity-centric workflow | |
KR101982085B1 (ko) | 스크립트 엔진을 이용한 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램 | |
US20180260284A1 (en) | Backup data security classification | |
US20210248161A1 (en) | Deferred synchronization for work unit-related data | |
US11379268B1 (en) | Affinity-based routing and execution for workflow service | |
US9842221B2 (en) | Role analyzer and optimizer in database systems | |
US11934804B2 (en) | Method and system for generating and executing a software appliance | |
US20140317692A1 (en) | Information processing unit, client terminal device, information processing system, and authentication processing method | |
US20240103911A1 (en) | Intent-based orchestration of independent automations | |
CN102609310A (zh) | 一种计算机操作系统及其进程间通讯的方法 | |
US11783247B2 (en) | Machine learning platform for real time occupancy forecasting and resource planning | |
CN101523352A (zh) | 用于并发控制的持久锁/资源 | |
CN114168257A (zh) | 并口重定向方法、装置、系统和存储介质 | |
US20130318209A1 (en) | Distributed decision service | |
CN108459903A (zh) | 任务处理方法及装置、电子设备、存储介质 | |
US20140165067A1 (en) | Task Concurrency Limiter | |
AU2020362928B2 (en) | Providing virtual machines for centralized integration with peripherals including biometric devices | |
US5867671A (en) | Virtual device for performing an operation in response to a SCSI command different than the operation of a SCSI device responding to the SCSI command | |
US20230131762A1 (en) | Multi-Computer Tool for Tracking and Analysis of BOT Performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150730 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150730 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120523 |