CN1605988A - 增强调度线程的优先级引导的系统、设备和方法 - Google Patents

增强调度线程的优先级引导的系统、设备和方法 Download PDF

Info

Publication number
CN1605988A
CN1605988A CN200410055657.4A CN200410055657A CN1605988A CN 1605988 A CN1605988 A CN 1605988A CN 200410055657 A CN200410055657 A CN 200410055657A CN 1605988 A CN1605988 A CN 1605988A
Authority
CN
China
Prior art keywords
thread
cpu
priority
scheduled
guiding
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
CN200410055657.4A
Other languages
English (en)
Other versions
CN1316367C (zh
Inventor
巴苏·韦德亚纳撒
拉里·B·布伦纳
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 CN1605988A publication Critical patent/CN1605988A/zh
Application granted granted Critical
Publication of CN1316367C publication Critical patent/CN1316367C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

提供一种增强调度线程的优先级引导的系统、设备和方法。如果正由第二CPU执行,第二线程确定其需要等待锁定被调度为由第一CPU执行的第一线程占据的共享资源,则第二线程通过在其优先级高于第一线程的优先级情况下将第二线程的较高优先级传递给第一线程来引导第一线程的优先级。此外,为了增强第一线程的优先级引导,第二线程将第一线程重新调度为由第二CPU处理。通过在第二CPU上被重新调度,第二线程可以被调度为此后立即执行。

Description

增强调度线程的优先级引导的系统、设备和方法
技术领域
本发明涉及计算机系统中的资源分配。具体地说,本发明涉及一种增强调度线程(scheduled thread)的优先级引导的系统、设备和方法。
背景技术
在任意给定的处理时间,在计算机系统的处理器或CPU上都可能存在多个等待执行的过程或线程。为了最佳利用系统的CPU,需要采用将用于执行的过程或线程进行适当排队的有效机制。被大多数计算机系统用来完成该任务的机制是调度程序。
要注意过程是一种程序。在执行程序时,将该程序不确切地称为任务。在大多数操作系统中,任务和程序之间存在一对一的关系。但是,某些操作系统允许将一个程序分为多个任务或线程。这样的系统称为多线程操作系统。为简单起见,在此可互换地使用线程和过程。
调度程序是一种对计算机系统的共享资源(例如CPU)的使用进行协调的软件程序。调度程序在这样做的时候,通常采用诸如先进先出(即FIFO)、循环复用(round robin)或后进先出(LIFO)、优先级队列、树等算法或其中的组合。基本上,如果计算机系统具有3个CPU(CPU1,CPU2和CPU3),则每个CPU将因此具有准备处理的队列或运行队列。如果用于给运行队列分配过程的算法是循环复用算法,并且如果将所创建的最后一个过程分配给与CPU2关联的队列,则所创建的下一个过程将分配给CPU3的队列。然后,将下一个创建的过程分配给与CPU1关联的队列等等。由此,将调度程序设计为使每个过程公平地共享计算机系统的资源。
例如,有时系统管理员可能希望不同的过程来接收不同的CPU共享时间。在这种情况下,工作负荷管理器(WLM)与调度程序结合使用。WLM给每个过程分配优先级数。一个过程每次消耗一些CPU时间时,其优先级数就减少。该机制允许具有较低优先级数的过程也能接收一些CPU时间。
当一个过程正被CPU处理并由于某个原因而需要在处理之前等待一个事件的发生时,为效率起见,该过程可能将其在CPU上的其余机会让给另一个过程而进入休眠。如果该过程锁定了共享的内核资源,它在进入休眠之前不会放弃该锁定。例如,当第一过程正使用诸如缓冲器的共享内核资源时,它将锁定该缓冲器以防止任何其它过程使用该缓冲器。如果第一过程正执行盘输入/输出(I/O),则它可以允许另一个过程使用CPU,并在完成盘I/O的同时进入休眠。一旦盘I/O完成,第一过程就可以醒来。如果具有较高优先级数的第二过程需要同时使用该缓冲器,则它需要等待一段时间,直到第一过程获得一些CPU时间来完成其任务并释放对该缓冲器的锁定。
为了减少第二过程可能需要等待的时间,采用了优先级引导。当具有较高优先级数的第二过程将其优先级数传递给具有较低优先级数、且锁定所需要的共享资源的第一过程,以增加第一过程成为下一个被选为接收一定CPU时间的过程的可能性时,就发生优先级引导。如后面将要解释的,尽管现在第一过程具有较高的优先级数,如果当前还有另一个过程正在使用CPU,则第一过程还是不能马上获得CPU。
因此,需要用于增强优先级引导的系统和方法,使得锁定共享资源、且其优先级已被引导的过程可以尽快获得一些CPU时间。
发明内容
本发明提供了一种增强调度线程的优先级引导的系统、设备和方法。如果正由第二CPU执行,第二线程确定自己必须等待锁定被调度为由第一CPU执行的第一线程占据的共享资源,则第二线程可以在其优先级高于第一线程优先级的情况下通过将其优先级传递给第一线程而引导第一线程的优先级。此外,为了增强第一线程的优先级引导,第二线程可以将第一线程重新调度为由第二CPU处理。通过在第二CPU上重新调度,将第二线程调度为随后立即执行。
附图说明
在所附权利要求中说明了本发明的新颖性特点。通过参考下面结合附图对实施例的详细描述,可以最佳理解本发明自身以及优选使用模式、其它目的和优点,其中:
图1a示出多处理器计算机系统的运行队列。
图1b示出在调度了Th1之后多处理器系统的运行队列。
图1c示出在调度了Th4之后多处理器的运行队列。
图1d示出在调度了Th2之后多处理器的运行队列。
图1e示出在将醒来的Th1放入CPU1的运行队列之后多处理器的运行队列。
图1f示出在Th1释放了TH2所需的锁定(即TH2已醒来)之后、并假定TH2的优先级仍然高于TH5的优先级时多处理器的运行队列。
图2是可以用于实施本发明的过程的流程图。
图3是实施本发明的数据处理系统的框图。
具体实施方式
参考附图,图1a示出多处理器计算机系统的运行队列。计算机系统包含3个处理器,CPU0 110、CPU1 112、CPU2 114。CPU0 110具有运行队列102。线程TH1、TH4、TH7等调度为在CPU0 110上运行,并由此在运行队列102中。类似的,CPU1 112具有运行队列103,其中放置了调度为在CPU1 112上运行的线程TH2、TH5等,并且CPU2 114具有运行队列104,其中放置了调度为在CPU2 114上运行的线程TH3、TH6等。将这些线程调度为按照它们在运行队列中的次序执行,除非在运行队列中放置了更高优先级的新线程。
当CPU0 110准备好处理TH1时,将TH1调度为执行。现在,假定TH1的任务是将数据加载到缓冲器(未示出)中,则TH1锁定该缓冲器,以防止其它线程使用该缓冲器。由于盘I/O是相对较慢的过程,因此当正在执行盘I/O时,TH1可以进入休眠,并放弃CPU0 110。由于TH1当前没有使用CPU0 110,因此TH4现在可以调度为由CPU0 110处理。进一步假定TH2在CPU1 112上被调度并需要使用缓冲器,因此不处理TH2,因为TH2需要等待TH1释放对缓冲器的锁定。TH1为了释放该锁定,需要首先获得一些处理时间。为了完成其任务并释放对缓冲器的锁定,TH1可以从计算机系统中的任何可用处理器那里接收处理时间。但是,为了解释本发明的缘故,假定TH1需要在CPU0 110上接收一些处理时间。因此,TH1在其可以继续之前可能需要等待,直到TH4获得其在CPU0 110上的处理机会为止。
如前所述,为了增加在TH4获得CPU0时间的共享之后使TH1成为下一个被选为在CPU0 110上运行的线程的可能性,可以采用优先级引导。在这种情况下,当TH2意识到它需要等待TH1释放锁定时,TH2将其优先级数传递给TH1。但问题是,除非CPU0 110正在执行可以注意到优先级引导的核心代码,否则当发生时间片中断时,CPU0 110在此后的最大10毫秒(ms)内不能注意到优先级引导。在大多数基于Unix的系统中,时间片中断周期性地发生(例如每10ms),并由内核用于检查在CPU处理具有较低优先级的线程时具有较高优先级的线程是否准备好运行。
为了继续上述例子,在线程TH1接收了优先级引导之后,它可能仍然需要在由CPU0 110再次处理之前等待最大10ms。在计算机系统中10ms是很长的时间。本发明提供一种可用于增强调度线程的优先级引导的算法。
根据本发明,在将其优先级传递给TH1之后,TH2还可以通过在其进入休眠之前将TH1放入CPU1的运行队列中来将TH2的CPU时间交给TH1。根据这一优先级,如果TH1已经醒来(即盘I/O已完成),则它可以在进入CPU1的运行队列之后立即调度为执行。由此,下一个调度为在CPU1上运行的线程TH5现在需要在调度为执行之前等待。
图1b示出在调度TH1之后多处理器系统的运行队列。图1c示出在调度了Th4之后多处理器的运行队列。图1d示出在调度了Th2之后多处理器的运行队列。图1e示出在将醒来的Th1放入CPU1 112的运行队列之后多处理器的运行队列。
图1f示出在Th1释放了锁定(即TH2已醒来)之后、并假定TH2的优先级仍然高于TH5的优先级时多处理器的运行队列。
图2是可以用于实施本发明的过程的流程图。该过程在将一个线程(即第二线程)调度给第二CPU执行时开始(步骤200和202)。如果正在执行,第二线程意识到需要锁定正由第一线程占据的共享资源,第二线程可以检查第一线程是否具有低于自己的优先级。如果是,则第二线程可以通过将它自己的优先级传递给第一线程来引导第一线程的优先级。这样,第一线程可以更快地调度为执行。在将其优先级传递给第一线程之后,第二线程可以再次检查第一线程是调度为在第一CPU上或在第二CPU上运行。如果将第一线程调度为在第一CPU上运行,则在过程结束之前可以将第一线程重新调度为在第二CPU上执行(步骤204、208、210、212、214和216)。
如果第二线程不需要锁定共享资源,或如果第二线程不具有比第一线程更高的优先级,或如果将第一线程调度为由第二CPU处理,则过程可以在结束前按惯常继续(分别是步骤204、206和216或208、206和216或212、206和216)。
图3是实施本发明的数据处理系统的框图。数据处理系统300可以是对称多处理器(SMP)系统,其包括多个连接到系统总线306的处理器302、303和304。向本地存储器309提供接口的存储控制器/高速缓存308也连接到系统总线306。I/O总线桥310连接到系统总线306,并向I/O总线312提供接口。可如图所示集成存储控制器/高速缓存308和I/O总线桥310。
连接到I/O总线312的周边元件扩展接口(PCI)总线桥314向PCI本地总线216提供接口。多个调制解调器可以连接到PCI本地总线316。典型的PCI总线实现可以支持4个PCI扩展槽或附件连接器。可以通过经由附件连接器板连接到PCI本地总线316的调制解调器318和网络适配器320提供网络通信。附加PCI总线桥322和324向附加PCI本地总线326和328提供接口,可以从该接口支持附加调制解调器或网络适配器。通过这种方式,数据处理系统300允许连接到多个网络计算机。如图所示,存储器映射图形适配卡330和硬盘332也可以直接或间接连接到I/O总线312。
本领域的普通技术人员理解,图3中所示的硬件可以变化。例如,其它外围设备,例如光盘驱动器等等,也可以被另外使用或代替所示的硬盘。所示例子并不意味着对本发明的结构限制。
图3所示的数据处理系统可以是例如IBM e-Server pSeries系统,这是纽约Armonk的国际商业机器公司的一种产品,其运行高级交互执行(AIX)操作系统或LINUX操作系统。
为了说明和描述目的而展示了本发明的说明,但不意欲穷尽或限制为这里公开的本发明。很多修改和变形对本领域的技术人员来说都是显而易见的。例如,可以使用固定优先级的线程而非可变优先级的线程。因此,选择和描述了上述实施例,以最佳解释本发明的原理、实际应用,并使本领域的其他技术人员可以理解本发明具有各种适合实际应用的预期变化的诸多实施例。

Claims (20)

1.一种增强调度线程的优先级引导的方法,包括步骤:
由正在第二CPU上执行的第二线程确定是否等待锁定被调度为由第一CPU执行的第一线程占据的共享资源,该第二线程具有高于第一线程的优先级;
通过将第二线程的较高优先级传递给第一线程来引导第一线程的优先级;和
通过将第一线程重新调度为在第二CPU上运行来增强第一线程的优先级引导。
2.根据权利要求1所述的方法,其中在增强所述第一线程的优先级引导时,该第一线程成为下一个被调度为执行的线程。
3.根据权利要求2所述的方法,其中在增强了所述第一线程的优先级引导之后,第二线程通过进入休眠来放弃第二CPU,以等待该第一线程释放所述锁定。
4.根据权利要求3所述的方法,其中在第一线程释放了所述锁定之后,第二线程醒来,并被重新调度为由第二CPU执行。
5.根据权利要求4所述的方法,其中在被重新调度为由第二CPU执行之后,所述第二线程可能是下一个被调度为执行的线程。
6.一种在计算机可读介质上的计算机程序产品,用于增强调度线程的优先级引导,包括:
用于由正在第二CPU上执行的第二线程确定是否等待锁定被调度为由第一CPU执行的第一线程占据的共享资源的代码装置,该第二线程具有高于第一线程的优先级;
用于通过将第二线程的较高优先级传递给第一线程来引导第一线程的优先级的代码装置;和
用于通过将第一线程重新调度为在第二CPU上运行来增强第一线程的优先级引导的代码装置。
7.根据权利要求6所述的计算机程序产品,其中当增强所述第一线程的优先级引导时,该第一线程成为下一个被调度为执行的线程。
8.根据权利要求7所述的计算机程序产品,其中在增强了所述第一线程的优先级引导之后,第二线程通过进入休眠来放弃第二CPU,以等待该第一线程释放所述锁定。
9.根据权利要求8所述的计算机程序产品,其中在第一线程释放了所述锁定之后,第二线程醒来,并被重新调度为由第二CPU执行。
10.根据权利要求9所述的计算机程序产品,其中在被重新调度为由第二CPU执行之后,所述第二线程可能是下一个被调度为执行的线程。
11.一种用于增强调度线程的优先级引导的设备,包括:
用于由正在第二CPU上执行的第二线程确定是否等待锁定被调度为由第一CPU执行的第一线程占据的共享资源的装置,该第二线程具有高于第一线程的优先级;
用于通过将第二线程的较高优先级传递给第一线程来引导第一线程的优先级的装置;和
用于通过将第一线程重新调度为在第二CPU上运行来增强第一线程的优先级引导的装置。
12.根据权利要求11所述的设备,其中当增强所述第一线程的优先级引导时,该第一线程成为下一个被调度为执行的线程。
13.根据权利要求12所述的设备,其中在增强了所述第一线程的优先级引导之后,第二线程通过进入休眠来放弃第二CPU,以等待该第一线程释放所述锁定。
14.根据权利要求13所述的设备,其中在第一线程释放了所述锁定之后,第二线程醒来,并被重新调度为由第二CPU执行。
15.根据权利要求14所述的设备,其中在被重新调度为由第二CPU执行之后,所述第二线程可能是下一个被调度为执行的线程。
16,一种用于增强调度线程的优先级引导的系统,包括:
至少一个用于存储代码数据的存储器件;和
至少两个CPU,该至少两个CPU中的一个用于处理代码数据,以由正在至少一个CPU上执行的第二线程确定是否等待锁定被调度为由另一个CPU执行的第一线程占据的共享资源,该第二线程具有高于第一线程的优先级;通过将第二线程的较高优先级传递给第一线程来引导第一线程的优先级;和通过将第一线程重新调度为在第二CPU上运行来增强第一线程的优先级引导。
17.根据权利要求16所述的系统,其中当增强所述第一线程的优先级引导时,该第一线程成为下一个被调度为执行的线程。
18.根据权利要求17所述的系统,其中在增强了所述第一线程的优先级引导之后,第二线程通过进入休眠来放弃第二CPU,以等待该第一线程释放所述锁定。
19.根据权利要求18所述的系统,其中在第一线程释放了所述锁定之后,第二线程醒来,并被重新调度为由第二CPU执行。
20.根据权利要求19所述的系统,其中在被重新调度为由第二CPU执行之后,所述第二线程可能是下一个被调度为执行的线程。
CNB2004100556574A 2003-10-09 2004-08-02 增强调度线程的优先级引导的系统、设备和方法 Expired - Fee Related CN1316367C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/682,387 US7676809B2 (en) 2003-10-09 2003-10-09 System, apparatus and method of enhancing priority boosting of scheduled threads
US10/682,387 2003-10-09

Publications (2)

Publication Number Publication Date
CN1605988A true CN1605988A (zh) 2005-04-13
CN1316367C CN1316367C (zh) 2007-05-16

Family

ID=34422510

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100556574A Expired - Fee Related CN1316367C (zh) 2003-10-09 2004-08-02 增强调度线程的优先级引导的系统、设备和方法

Country Status (3)

Country Link
US (1) US7676809B2 (zh)
CN (1) CN1316367C (zh)
TW (1) TWI321278B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101946235B (zh) * 2008-02-27 2013-09-18 国际商业机器公司 用于在共享处理器分区环境中移动线程的方法及装置
CN103608775A (zh) * 2011-06-29 2014-02-26 华为技术有限公司 利用线程处理数据的方法及装置
WO2023193527A1 (zh) * 2022-04-07 2023-10-12 深圳Tcl新技术有限公司 线程执行方法、装置、电子设备及计算机可读存储介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2412761C (en) * 2004-04-02 2011-01-05 Nokia Corp Improvements in or relating to an operating system for a computing device
US20070039000A1 (en) * 2005-08-10 2007-02-15 Hewlett-Packard Development Company, L.P. Lock order determination method and system
US20070061805A1 (en) * 2005-09-15 2007-03-15 Brenner Larry B Method and apparatus for improving thread posting efficiency in a multiprocessor data processing system
GB0519981D0 (en) * 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US20080015601A1 (en) * 2006-06-14 2008-01-17 Michael Castro Reduction device and method of use
US7734879B2 (en) * 2006-07-27 2010-06-08 International Business Machines Corporation Efficiently boosting priority of read-copy update readers in a real-time data processing system
US7886300B1 (en) * 2006-09-26 2011-02-08 Oracle America, Inc. Formerly Known As Sun Microsystems, Inc. Mechanism for implementing thread synchronization in a priority-correct, low-memory safe manner
US8533696B1 (en) * 2006-09-29 2013-09-10 Emc Corporation Methods and systems for allocating hardware resources to instances of software images
DE102007028730A1 (de) * 2007-06-21 2008-12-24 Siemens Ag Verfahren und Vorrichtung zum Betreiben eines technischen Systems
US8495641B2 (en) * 2007-06-29 2013-07-23 International Business Machines Corporation Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes
US8806491B2 (en) 2007-12-31 2014-08-12 Intel Corporation Thread migration to improve power efficiency in a parallel processing environment
US7930574B2 (en) * 2007-12-31 2011-04-19 Intel Corporation Thread migration to improve power efficiency in a parallel processing environment
JP5452125B2 (ja) * 2009-08-11 2014-03-26 クラリオン株式会社 データ処理装置及びデータ処理方法
WO2011051011A1 (en) 2009-10-29 2011-05-05 International Business Machines Corporation A method, system and program to manage scheduling of processes
CN101984414B (zh) * 2010-11-05 2013-08-07 中兴通讯股份有限公司 Cpu资源的调度方法及装置
US8601220B1 (en) * 2011-04-29 2013-12-03 Netapp, Inc. Transparent data migration in a storage system environment
US20130124805A1 (en) * 2011-11-10 2013-05-16 Advanced Micro Devices, Inc. Apparatus and method for servicing latency-sensitive memory requests
US8707326B2 (en) * 2012-07-17 2014-04-22 Concurix Corporation Pattern matching process scheduler in message passing environment
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
US9400677B2 (en) * 2013-01-02 2016-07-26 Apple Inc. Adaptive handling of priority inversions using transactions
GB2532424B (en) 2014-11-18 2016-10-26 Ibm An almost fair busy lock
CN109522101B (zh) * 2017-09-20 2023-11-14 三星电子株式会社 用于调度多个操作系统任务的方法、系统和/或装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630128A (en) * 1991-08-09 1997-05-13 International Business Machines Corporation Controlled scheduling of program threads in a multitasking operating system
AU731871B2 (en) * 1996-11-04 2001-04-05 Sun Microsystems, Inc. Method and apparatus for thread synchronization in object-based systems
US7673304B2 (en) * 2003-02-18 2010-03-02 Microsoft Corporation Multithreaded kernel for graphics processing unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101946235B (zh) * 2008-02-27 2013-09-18 国际商业机器公司 用于在共享处理器分区环境中移动线程的方法及装置
CN103608775A (zh) * 2011-06-29 2014-02-26 华为技术有限公司 利用线程处理数据的方法及装置
CN103608775B (zh) * 2011-06-29 2017-02-22 华为技术有限公司 利用线程处理数据的方法及装置
WO2023193527A1 (zh) * 2022-04-07 2023-10-12 深圳Tcl新技术有限公司 线程执行方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN1316367C (zh) 2007-05-16
US20050080824A1 (en) 2005-04-14
TW200519605A (en) 2005-06-16
US7676809B2 (en) 2010-03-09
TWI321278B (en) 2010-03-01

Similar Documents

Publication Publication Date Title
CN1316367C (zh) 增强调度线程的优先级引导的系统、设备和方法
CN1112636C (zh) 在多线程处理器中选择线程切换事件的方法和装置
CN1117319C (zh) 在多线程处理器中改变线程优先级的方法和装置
US20060037017A1 (en) System, apparatus and method of reducing adverse performance impact due to migration of processes from one CPU to another
CN111736987B (zh) 一种基于gpu空间资源共享的任务调度方法
Stankovic et al. What is predictability for real-time systems?
US8612986B2 (en) Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value
US5394547A (en) Data processing system and method having selectable scheduler
Ramos-Thuel et al. On-line scheduling of hard deadline aperiodic tasks in fixed-priority systems
US7448036B2 (en) System and method for thread scheduling with weak preemption policy
CN1276887A (zh) 多线程处理器系统中的线程切换控制
Agrawal et al. Adaptive scheduling with parallelism feedback
US20090178045A1 (en) Scheduling Memory Usage Of A Workload
US20060037021A1 (en) System, apparatus and method of adaptively queueing processes for execution scheduling
CN1825286A (zh) 嵌入式sram操作系统线程实现和线程状态转换的方法
EP1393175A2 (en) A resource management method
CN118210632A (zh) 内存分配方法、装置、电子设备及存储介质
CN1926514A (zh) 从处理器中的并发物理线程的数目中去耦合逻辑线程的数目
Horowitz A run-time execution model for referential integrity maintenance
KR101377195B1 (ko) 컴퓨터 마이크로 작업
KR20050057834A (ko) 멀티프로세서 시스템에서 스케줄러를 이용한 대규모데이터 처리 방법
US11144353B2 (en) Soft watermarking in thread shared resources implemented through thread mediation
Rothberg Interrupt handling in Linux
Singla et al. Task Scheduling Algorithms for Grid Computing with Static Jobs: A Review
Sodré et al. Making the most of what you pay for by delaying tasks to improve overall cloud instance 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
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: 20070516

Termination date: 20150802

EXPY Termination of patent right or utility model