CN105284084B - 用于调度通信可调度单元的方法和装置 - Google Patents
用于调度通信可调度单元的方法和装置 Download PDFInfo
- Publication number
- CN105284084B CN105284084B CN201380074949.XA CN201380074949A CN105284084B CN 105284084 B CN105284084 B CN 105284084B CN 201380074949 A CN201380074949 A CN 201380074949A CN 105284084 B CN105284084 B CN 105284084B
- Authority
- CN
- China
- Prior art keywords
- csu
- owner
- index
- time stamp
- list
- 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.)
- Active
Links
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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1215—Wireless traffic scheduling for collaboration of different radio technologies
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
实施例公开了在使用多个处理器的无线电通信装置中调度属于不同拥有者的CSU的方法。在不同拥有者下的CSU能够由不同处理器并行处理。方法包括:保持全局CSU列表和拥有者等待列表;全局CSU列表可包括等待处理的CSU,并且CSU根据CSU的时戳进行排序;拥有者等待列表可包括没有由处理器处理的CSU的拥有者,并且拥有者根据在全局CSU列表中等待处理的其相应最早CSU的时戳进行排序。并且在处理器之一处理完第一拥有者的第一CSU时,基于全局CSU列表和拥有者等待列表,根据CSU时间顺序和CSU亲和性,调度接下来要由处理器处理的CSU。
Description
技术领域
所述技术涉及在使用多个处理器的无线电通信装置中调度属于不同拥有者的通信可调度单元的方法。技术也涉及无线电通信装置、计算机程序产品、计算机程序和记录存储介质。
背景技术
今天,诸如基站等无线电通信装置越来越多地采用两个或甚至多个处理器以便改进处理效率,其中信号处理通常通过派生并行运行的多个通信可调度单元(CSU)来执行以实现高性能。然而,不同于例如在传统台式操作系统(OS)中的常见并行处理环境,在无线电通信环境中仍存在需要小心处理的几个挑战:
1. CSU之间的同步
通常,为使相同拥有者的CSU能够同时访问相同数据源,将涉及信号量机制以通过强化多个CSU串行执行,保证数据完整性。然而,它可造成不必要的CSU上下文交换。因此,在无线电通信环境中,需要考虑另一机制以保证在CSU之间的同步。
2. 处理器资源消耗的控制
在无线电通信环境中,通常采用非抢占式调度以避免不必要的上下文交换,然而,这带来的副效应是,一旦处理器由低优先级CSU占用,在低优先级CSU自行中止处理器前,处理器便不能被释放。因此,需要限制处理器使用以避免由那些低优先级CSU的过多消耗。
3. CSU之间的亲和性
普通CSU调度准则能够基于CSU的优先级或时戳。然而,由于代码和数据高速缓存缺失的开销原因,CSU之间的亲和性也是要考虑的因素。通常,亲和性指为实现一些目的而在执行单元(例如,CSU)与处理器之间的某种捆绑关系。例如,执行单元可访问相同数据上下文,并且预期由相同处理器处理。这样,在处理器连续处理有亲和性的执行单元时,在高速缓存中存储的此类数据上下文能够得到再使用而不涉及在高速缓存中代码的交换。如果某个CSU与当前执行CSU具有亲和性,例如,此CSU和当前执行CSU属于相同拥有者,并且相应地它们可访问相同数据上下文,则虽然此CSU比在等待处理的其它拥有者的另一更早CSU更迟创建,但由于亲和性可减轻代码和数据高速缓存缺失的开销,因此,只要该CSU在创建时戳上与当前执行CSU足够密切(例如,时间间隔小于阈值),便能够在更早的CSU前调度它。
当前,在无线电通信环境中有两种已知CSU调度解决方案:基于CSU的解决方案和基于拥有者的解决方案。
如图1所示,基于CSU的解决方案在等待列表中将所有就绪CSU排队。一旦处理器可用,它便能够获取第一CSU以供执行。然而,如前面提及的一样,如果相同拥有者下的另一CSU在运行,则由于同步原因,不可允许在列表头端(列表的开始)的CSU运行。因此,需要从头浏览列表,以逐一检查随后的CSU,直至发现闲置拥有者的第一CSU。随后,从列表取消链接该CSU并且随后在处理器上执行该CSU。下次另一处理器闲置时,再次从头开始上述浏览过程。换而言之,CSU调度涉及在等待列表上的线性搜索,这产生指示线性运行时间的O(N)的搜索时间复杂度,这在实时方面具有更高要求的无线电通信环境中是低效率的。此外,由于基于CSU的解决方案沿列表采用线性搜索以查找要调度的适当CSU,避免太多的调度开销,因此,一旦遇到适当的CSU,它便停止,并且在列表中进一步查找。这样,忽略在CSU之间的亲和性时,只考虑CSU的时间顺序,如果分派在不同拥有者下的CSU,这可在高速缓存中造成代码的频繁交换。
相反,如图2所示,基于拥有者的解决方案始终为处理器连续调度在单个拥有者下的CSU,并且在已处理在该单个拥有者下的所有CSU前,将不调度在其它拥有者下的CSU。如所示一样,基于拥有者的解决方案在CSU调度中不涉及线性搜索,然而,它只能看到在相同拥有者下的CSU而无在不同拥有者下的CSU的全局视图。换而言之,与基于CSU的解决方案不同,在忽略CSU的时间顺序的同时,它只考虑在CSU之间的亲和性。因此,在考虑在其它拥有者下的CSU之前,它始终完成在一个拥有者下的所有CSU,这可造成在拥有者之间的不平衡的资源消耗。在极端情况下,如果运行拥有者始终具有进入的CSU,则不能调度其它拥有者的CSU。
另外,在相同拥有者下的一些CSU实际上也可相互无关,这是因为它们访问相同数据上下文的不同部分。它们仍能够分派在多个处理器上以并行运行。在此情况下,这些独立的CSU需要编组到不同“子拥有者”。然而,当前这两种解决方案均禁止此类模式,并且由于在多个“子拥有者”之间数据正交分割的不可能性而强制在相同拥有者下的所有CSU必须串行运行。“始终”有一些CSU插入其它子拥有者的地带,换而言之,在一个拥有者下的CSU可访问其它拥有者使用的数据上下文的部分,由此阻止在其它,甚至所有子拥有者中的CSU执行。
发明内容
本文中公开的发明的一方面是在无线电通信装置中调度属于不同拥有者的CSU的方法。在不同拥有者下的CSU能够由不同处理器并行处理。方法包括:保持全局CSU列表和拥有者等待列表;全局CSU列表可包括等待处理的CSU,并且CSU根据CSU的时戳进行排序;拥有者等待列表可包括没有由处理器处理的CSU的拥有者,并且拥有者根据在全局CSU列表中等待处理的其相应最早CSU的时戳进行排序。并且在处理器之一处理完第一拥有者的第一CSU时,基于全局CSU列表和拥有者等待列表,根据CSU时间顺序和CSU亲和性,调度接下来要由处理器处理的CSU。
本发明的另一方面是具有多个处理器并且适用于调度属于不同拥有者的CSU的无线电通信装置。在不同拥有者下的CSU能够由不同处理器并行处理。无线电通信装置可包括第一保持单元和调度单元。第一保持单元适用于保持全局CSU列表和拥有者等待列表;全局CSU列表可包括等待处理的CSU,并且CSU根据CSU的时戳进行排序;拥有者等待列表可包括没有由处理器处理的CSU的拥有者,并且拥有者根据在全局CSU列表中等待处理的其相应最早CSU的时戳进行排序。调度单元适用于在处理器处理完第一拥有者的第一CSU时,基于全局CSU列表和拥有者等待列表,根据CSU时间顺序和CSU亲和性,调度接下来要由处理器处理的CSU。
本发明的又一方面是计算机程序产品,包括在提供有多个处理器的无线电通信装置上运行时,促使无线电通信装置如上所述执行方法的步骤的指令。
本发明还有的又一方面是计算机可读存储介质,存储包括在提供有多个处理器的无线电通信装置上运行时,促使无线电通信装置如上所述执行方法的步骤的指令。
通过引入全局CSU列表和拥有者等待列表,实施例在无线电通信装置使用的CSU调度中创造性地将CSU时间顺序和CSU亲和性均考虑在内。这样,通过将CSU时间顺序和CSU亲和性均考虑在内,可更合理地调度CSU。另外,实施例可在每个CSU调度中不要求线性搜索。
附图说明
现在将基于参照附图的实施例,通过示例描述技术,其中:
图1以示意图方式示出用于CSU调度的基于CSU的解决方案的示例结构;
图2以示意图方式示出用于CSU调度的基于拥有者的解决方案的示例结构;
图3以示意图方式示出根据一实施例,在使用多个处理器的无线电通信装置中调度CSU的流程图;
图4以示意图方式示出根据另一实施例,在使用多个处理器的无线电通信装置中调度CSU的流程图;
图5以示意图方式示出根据该另一实施例,将拥有者插回拥有者等待列表的流程图;
图6以示意图方式示出根据该另一实施例,在CSU-拥有者索引列表中更新索引项的流程图;
图7以示意图方式示出根据该另一实施例,调度被阻止CSU以便使调度与这些CSU的时间顺序对齐的流程图;
图8以示意图方式示出根据实施例的全局CSU列表和拥有者等待列表的示例结构;
图9以示意图方式示出根据该另一实施例的CSU-拥有者索引列表的示例结构;
图10以示意图方式示出根据该另一实施例在不同子拥有者下在CSU之间的处理依赖性;
图11以示意图方式示出根据该另一实施例,与全局CSU列表和拥有者等待列表组合的阻止列表的示例;
图12以示意图方式示出根据该另一实施例,与全局CSU列表和拥有者等待列表组合的阻止列表的另一示例;
图13是根据一实施例,用于调度CSU的无线电通信装置的框图;以及
图14以示意图方式示出根据一实施例,用于在使用多个处理器的无线电通信装置中调度CSU的计算机可读存储介质和计算机程序。
具体实施方式
下面将参照附图,更全面地描述在本文中的实施例。然而,本文中的实施例可体现为许多不同形式,因而不应视为限于随附权利要求的范围。图中的元素彼此之间不必按比例画出。类似的标号指所有图形中类似的要素。
在本文使用的术语只用于描述特殊的实施例,无意于限制。在本文使用时,除非上下文有明确指示,否则,单数形式还将包括复数形式。还可理解,术语“包括”在本文使用时用于表示所述特征、整体、步骤、操作、元素和/或组件的存在,而不排除存在或添加一个或多个其它特征、整体、步骤、操作、元素、组件和/或其组合。
此外,权利要求中诸如“第一”、“第二”、“第三”等修改权利要求元素的序数词的使用本身不暗示一个权利要求元素优于另一权利要求元素的任何优先级、优先顺序或顺序或执行方法的动作的时间顺序,而是只用作区分具有某个名称的一个权利要求元素与具有相同名称的另一元素的标签(但用于序数词的使用),以区分权利要求元素。
除非另有规定,否则,本文使用的所有术语(包括技术和科学术语)具有与通常理解相同的含意。还将理解,除非在本文中有明确定义,否则,本文使用的术语应理解为具有与本说明书和相关技术上下文中含意一致的含意,并且不以理想化或过分正式的方式理解。
下面将参照根据所述实施例的方法、设备(系统)和/或计算机程序的框图和/或流程图图示描述所述技术。要理解的是,框图和/或流程图示的框和框图和/或流程图示中框的组合可通过计算机程序指令实现。这些计算机程序指令可提供到通用计算机、专用计算机和/或其它可编程数据处理设备的处理器、控制器或控制单元以产生一种机器,使得经计算机和/或其它可编程数据处理设备的处理器执行的指令形成用于实现框图和/或流程图方框中指定的功能/动作。
相应地,所述技术可在硬件和/或软件(包括固件、常驻软件、微代码等)中实施。此外,所述技术可采用计算机可用或计算机可读存储介质上的计算机程序形式,介质中包含有计算机可用或计算机可读程序代码以供指令执行系统使用或与其结合使用,如图14所示。在本文档的上下文中,计算机可用或计算机可读存储介质可以是可包含、存储或者适用于传递程序以供指令执行系统、设备或装置使用或与其结合使用的任何介质。
下面将参照图形描述实施例。
图3以示意图方式示出根据一实施例,在使用多个处理器(或核)的无线电通信装置中调度CSU的流程图。通常,无线电通信装置能够被视为受“实时约束”影响的实时处理系统,例如,从事件到系统响应的可操作截止时间。它必须保证在严格时间约束内的响应。实时响应时间经常被理解成是大约几毫秒或有时几微秒。
现在将参照图3,详细描述实施例的过程。
在诸如基站等无线电通信装置中,CSU可属于不同拥有者。CSU表示要由无线电通信装置处理的各种通信任务,如指派用于用户设备的信令资源,在用户设备之间建立呼叫会话,处理内部计时器截止,更新路由选择信息及诸如此类。拥有者是拥有访问数据源(或上下文)的相同部分的CSU。例如,拥有者能够表示用户设备(UE),并且也可能单个UE能够在逻辑上由几个拥有者表示。在此情况下,在相同拥有者下的CSU应进行串行处理以确保数据完整性。另外,属于不同拥有者的CSU可访问数据源(或上下文)的不同部分,因此,这些CSU能够由不同处理器并行处理。
首先,无线电通信装置可保持(步骤30)全局CSU列表和拥有者等待列表。
全局CSU列表包括等待处理的CSU。在全局CSU列表中,根据CSU的时戳将CSU排序。通常,时戳是识别某个事件何时发生的字符的序列或编码信息,通常提供日期和时间,有时准确到一秒的很小部分。本文中,CSU的时戳可表示创建CSU的时间或CSU加入全局CSU列表的时间。
拥有者等待列表包括没有在由处理器处理的CSU的拥有者。换而言之,将从拥有者等待列表删除具有由处理器处理的一个或更多个CSU的拥有者。在拥有者等待列表中,根据在全局CSU列表中等待处理的其相应最早CSU的时戳(即,带有最小时戳的CSU),将拥有者排序。
在处理器处理完在某个拥有者下的某个CSU时,无线电通信装置可基于全局CSU列表和拥有者等待列表,根据CSU时间顺序和CSU亲和性,调度(步骤40)接下来要由处理器处理的CSU。
CSU时间顺序能够由CSU的时戳确定。例如,如果CSU A的时戳早于CSU B的时戳,则在全局CSU列表中,CSU A被排序在CSU B之前。CSU亲和性表示一个CSU与已经缓存此CSU需要的必需代码或数据的处理器具有亲和性。如上提及的一样,在相同拥有者下的CSU可访问上下文的相同部分。在此情况下,如果处理器刚完成处理CSU A,则鉴于CSU亲和性,最好是处理器处理与前一CSU A在相同拥有者下的另一CSU B,这是因为由于刚处理CSU A,CSU B访问的数据上下文已经在高速缓冲存储器中存储。这样,它不必执行数据上下文交换。然而,在相反情况下,如果处理器要处理器与CSU A在不同拥有者下的另一CSU C,则需要从高速缓冲存储器清除CSU A使用的数据上下文,并且随后将CSU C使用的数据上下文读入高速缓冲存储器中。
随后,将参照图4和图8,描述示范实现。
在步骤401中,在处理器刚处理完在某个拥有者下的某个CSU时,无线电通信装置可尝试获得在属于此拥有者的等待处理的CSU之间具有最小时戳的另一CSU,即,最早CSU。在一实施例中,此拥有者可指向等待处理的所有其CSU。因此,无线电通信装置可通过此拥有者定位所有CSU,并且比较在它们之间的时戳以确定带有最小时戳的CSU。在另一实施例中,保持同属(sibling) CSU列表以适应在此拥有者下等待处理的所有CSU,并且此拥有者可指向同属CSU列表的头端。例如,如图8所示,拥有者4具有CSU 41和CSU 42。两个CSU在同属CSU列表中链接在一起,并且拥有者4指向同属列表的头端,即,CSU 41。优选的是,CSU在同属CSU列表中根据其时戳以升序列出。换而言之,带有最小时戳的CSU将是同属CSU列表的头端。这样,无线电通信装置将定位在同属CSU列表中由此拥有者指向的头端CSU。如图所示,此头端CSU与刚处理的CSU具有亲和性,这是因为它们属于相同拥有者。
在步骤402中,无线电通信装置可从排序的拥有者等待列表中直接定位头端拥有者。等待处理的头端拥有者的最早CSU在拥有者等待列表中的拥有者之间具有所述最小时戳。例如,如图8所示,在拥有者等待列表中,有四个成员:拥有者1、拥有者4、拥有者5和拥有者6。并且四个拥有者根据等待处理的其最早CSU的时戳,在拥有者等待列表中以升序列出。也就是说,具有最小CSU时戳的拥有者将在拥有者等待列表的头端中列出。因此,无线电通信装置可在拥有者等待列表中直接定位此头端拥有者,例如,CSU 11。
在步骤403中,无线电通信装置可定位在全局CSU列表中在步骤402中定位的头端拥有者下等待处理的最早CSU。一般情况下,拥有者等待列表中的拥有者可指向全局CSU列表中的其最早CSU。例如,如图8所示,拥有者1指向全局CSU列表中的其最早CSU,CSU 11;拥有者4指向CSU 41;拥有者5指向CSU 51,及诸如此类。这样,无线电通信装置也可在全局CSU列表中直接定位预期CSU。如上提及的一样,仅没有CSU在处理的拥有者在拥有者等待列表中列出,换而言之,拥有者等待列表中未列出的拥有者可已获得处理器资源。因此,定位的头端拥有者应是有获得处理器资源的最高优先级的拥有者;相应地,在步骤403中定位的CSU应是要处理的带顶部时间顺序的候选CSU。
在步骤404中,无线电通信装置可比较带最密切亲和性的CSU(在步骤401中定位)的时戳和带顶部时间顺序的CSU(在步骤403中定准)的时戳,并且计算在两个时戳之间的差异。
在步骤405中,如果带最密切亲和性的CSU的时戳迟于(或大于)带顶部时间顺序的CSU的时戳,并且差异超过预确定的阈值,即,时间间隔,则它表示带顶部时间顺序的CSU优先于带最密切亲和性的CSU,由此具有带最密切亲和性的CSU的拥有者要让出处理器,并且具有带顶部时间顺序的CSU的拥有者将获得处理器。在此情况下,无线电通信装置可采取以下动作:
首先,无线电通信装置可将中止处理器的拥有者插回拥有者等待列表,并且拥有者等待列表中拥有者的位置能够由全局CSU列表中列出的其最早CSU的时戳确定。详细的插入实现将在后面描述。接着,无线电通信装置可从拥有者等待列表删除获得处理器的拥有者。最后,带顶部时间顺序的CSU将由处理器处理。
另一方面,如果带最密切亲和性的CSU的时戳早于(或小于)带顶部时间顺序的CSU的时戳,或者差异小于预确定的阈值,则它表示带最密切亲和性的CSU优先于带顶部时间顺序的CSU。因此,无线电通信装置可指示处理器继续处理带最密切亲和性的CSU,即,刚处理的CSU的下一同属CSU。
在实施例中,能够根据需要调整预确定的阈值。实际上,如果阈值设置成0,则CSU亲和性因素被忽略,并且它可表现得象基于CSU的解决方案一样;如果阈值设置成∞,则CSU时间顺序因素被忽略,并且它可表现得象基于拥有者的解决方案一样。
应领会的是,上述CSU调度只作为示例描述,执行所有步骤或以上述顺序执行可以不是必需的,同时,其它适合的实现也可应用到实施例。
如所示一样,通过引入全局CSU列表和拥有者等待列表,在无线电通信装置使用的CSU调度中,能够以统一方式将CSU时间顺序和CSU亲和性均考虑在内。这样,能够更合理地调度CSU。另外,实施例可在每个CSU调度中不要求线性搜索。
另外,通常在全局CSU列表中将适应等待处理的所有CSU,然而,可调节的是,在属于相同拥有者的CSU在排序的全局CSU列表中直接相邻时,将除在属于相同拥有者的CSU之间具有最小时戳的CSU(即,最早CSU)外的CSU从全局CSU列表取消链接,但在此拥有者的同属CSU列表中仍可保持这些取消链接的CSU。例如,如图8所示,拥有者1拥有CSU 11、CSU 12和CSU 13。三个CSU原来在全局CSU列表中列出,并且CSU 12直接在CSU 11后列出(在它们之间无其它CSU)。在此情况下,能够如图8所示,将CSU 12从全局CSU列表取消链接。此处,CSU12直接位于CSU 11后,这表示在处理CSU 11后,接下来必然将处理CSU 12,这是因为CSU 12拥有最密切亲和性和顶部时间顺序。因此,在全局CSU列表中可不必保持此CSU,由此能够减短全局CSU列表的长度,这可降低在诸如遍历全局CSU列表等操作全局CSU列表上的成本。
现在,将讨论将让出处理器的拥有者插回拥有者等待列表的过程。以参照图8为例,假设拥有者2是让出处理器的拥有者,并且它将被插回拥有者等待列表,因此,无线电通信装置可浏览全局CSU列表以定位在全局CSU列表中的其最早CSU。如图8所示,CSU 22是在拥有者2下的此类最早CSU,并且CSU 22定位在CSU 11后,但在CSU 41之前,其中,CSU 11是等待拥有者1的最早CSU,并且CSU 41是等待拥有者4的最早CSU。因此,能够确定的是,拥有者2在拥有者等待列表中被插在拥有者1与拥有者4之间。
在上述实施例中,为将拥有者插入拥有者等待列表中,要求进行全局CSU列表的线性搜索,这可造成低效插入。在另一实施例中,引入了CSU-拥有者索引列表以避免在拥有者插入期间的线性搜索。此实施例将参照图5和图9描述。
在实施例中,无线电通信装置可保持链接拥有者等待列表和全局CSU列表的CSU-拥有者索引列表。如图9所示,CSU-拥有者索引列表中的单独索引项根据全局CSU列表中的CSU顺序,按全局CSU列表中CSU的相应连续范围有序编排索引。具体而言,如果在全局CSU列表中的特定CSU为CSU-拥有者索引列表中的特定索引项编排索引,则在全局CSU列表中特定CSU后列出的CSU只能够为该特定索引项或在CSU-拥有者索引列表中此特定索引项后列出的索引项编排索引。另外,在全局CSU列表中,所有CSU只为CSU-拥有者索引列表中的一个且仅一个索引项编排索引。例如,索引项6按CSU 33编排索引,并且索引8按CSU 42和CSU 61编排索引。
另一方面,单独索引项根据拥有者等待列表中的拥有者顺序,为拥有者等待列表中的一个或更多个连续拥有者有序编排索引。具体而言,如果在CSU-拥有者索引列表中的特定索引项为拥有者等待列表中的特定拥有者编排索引,则在CSU-拥有者列表中特定索引项后列出的索引项只能够为该特定拥有者或在拥有者等待列表中此特定拥有者后列出的拥有者编排索引。另外,一个索引项只为一个且只一个拥有者编排索引。例如,拥有者1按索引项1和2编排索引。拥有者4按索引项3、4和5编排索引。
此外,特定拥有者和包括特定拥有者的最早CSU的CSU范围按相同索引项编排索引。具体而言,如果全局CSU列表中一个拥有者的最早CSU为CSU-拥有者索引列表中的索引项编排索引,则索引项需要为此拥有者编排索引。例如,如图9所示,CSU 41是在全局CSU列表中在拥有者4下的最早CSU。因此,在CSU 41为索引项4编排索引时,索引项4要为拥有者4编排索引。
通过利用CSU-拥有者索引列表,例如能够如下所述执行根据其最早CSU的时戳,将拥有者插回拥有者等待列表:
首先,在步骤4501中,无线电通信装置可直接查找按要插入的拥有者A编排索引的最早CSU,并且随后定位按此最早CSU编排索引的索引项。随后,在步骤4502中,无线电通信装置可直接定位按此索引项编排索引的拥有者B。如果拥有者A的最早CSU的时戳迟于(或大于)全局CSU列表中拥有者B的最早CSU的时戳,则在步骤4503中,无线电通信装置可在拥有者等待列表中拥有者B后直接插入拥有者A。否则,在步骤4504中,无线电通信装置可直接在拥有者B之前插入拥有者A。
例如,拥有者2将被插回拥有者等待列表。如图9所示,CSU 22是在全局CSU列表中拥有者2下的最早CSU,并且CSU 22为CSU-拥有者索引列表中的索引项2编排索引,并且索引项2进一步为拥有者1编排索引。因此,无线电通信装置将比较CSU 22的时戳和作为在拥有者1下最早CSU的CSU 11的时戳。因此,CSU 22迟于CSU 11,因此,拥有者2将被直接插在拥有者等待列表中拥有者1后。
如图所示,通过引入CSU-拥有者索引列表,在拥有者插入中避免了线性搜索,相应地将插入效率大幅改进到时间复杂度O(1)。
可选的,在将拥有者插回拥有者等待列表后,无线电通信装置可根据为拥有者编排索引的索引项的准则,相应地更新CSU-拥有者索引列表中的索引项。具体而言,将参照图6和图9,描述示范更新过程。
在将例如拥有者2等拥有者插回拥有者等待列表后,无线电通信装置可确定例如索引项2等按插入的拥有者的最早CSU编排索引的索引项是否以前已像此一样用于将另一拥有者插回拥有者等待列表,这可通过此索引项的标志暗示。如果没有,则在步骤70,无线电通信装置可更新CSU-拥有者索引列表中的相关索引项。例如,索引项2可将其拥有者索引从例如拥有者1等前一拥有者交换到拥有者2。另外,如果在索引项2后的任何索引项原来也为拥有者1编排索引,则这些索引项也将为拥有者2编排索引。否则,例如,如果索引项2以前已将此一样用于将另一拥有者插回拥有者等待列表,则在步骤60,无线电通信装置可先创建新索引项。随后,如果拥有者2的最早CSU(即,CSU 22)迟于拥有者1的最早CSU(即,CSU11),则无线电通信装置将直接在CSU-拥有者索引列表中索引项2后插入(步骤62)新创建的索引项,另外,如果在全局CSU列表中CSU 22后的任何CSU也为索引项2编排索引,则这些CSU将索引从索引项2交换到新创建的索引。否则,无线电通信装置将直接在索引项2前插入(步骤61)新创建的索引项,另外,如果在全局CSU列表中CSU 22前的任何CSU也为索引项2编排索引,则这些CSU将索引从索引项2交换到新创建的索引。此时,无线电通信装置可相应地更新(步骤70)CSU-拥有者索引列表中的相关索引项。特别是,例如新创建的索引项将为拥有者2编排索引。
备选,为改进用于CSU-拥有者索引列表的更新效率,为相同索引项编排索引的CSU范围的长度能够统一设成K,其中,K是正整数。这样,在CSU-拥有者索引列表中的索引项数量是大约全局CSU列表中CSU的数量的1/K,相应地不同于索引项的数量等于CSU的数量的情况,更新效率增大了K倍。
另外,通过利用二分法,具体而言,将为拥有者等待列表中两个相邻拥有者之一编排索引的连续索引项分成两部分,索引项的第一半为前一拥有者编排索引,并且索引项的第二半为后一拥有者节点编排索引,能够进一步优化更新过程。例如,索引项1-4为两个相邻拥有者(拥有者1和拥有者2)编排索引。优选的是,第一半索引项(即,索引项1和2)将为拥有者1编排索引,并且第二半索引项(即,索引项3和4)将为拥有者4编排索引。在此情况下,从上述更新过程中能够知道,在索引项的任何一半中的索引项用于将拥有者插回拥有者等待列表时,只需要考虑更新此一半的索引项,并且根本不需要更新另一半的索引项,因此,节省了一半的更新成本。
在另一实施例中,方法可还支持在相同拥有者下CSU之间的并发处理,这需要将拥有者划分成几个正交“子拥有者”,并且子拥有者将得到处理,好像普通拥有者一样。因此,必然在子拥有者之间可存在非正交CSU,换而言之,在属于不同子拥有者的CSU之间存在处理依赖性,这是因为属于不同子拥有者的CSU可访问数据上下文的相同部分。而在以前,处理信赖性只在相同拥有者下的CSU之间存在。为支持在相同拥有者下CSU之间的并发处理,并且同时确保能够以正确的顺序处理非正交CSU,在CSU调度期间引入了阻止列表。现在,将参照图7、图10和图11描述在相同拥有者下的CSU之间支持并发处理的实施例。
首先,无线电通信装置可从特定拥有者推导(步骤80)一个或更多个子拥有者,其中,每个子拥有者拥有原来属于特定拥有者的CSU的不同部分。通常,将尽可能地指访问数据上下文的相同部分的CSU派到相同子拥有者。备选,能够将可访问在不同子拥有者下不同CSU访问的数据上下文的多个部分的CSU指派到单独的子拥有者。因此,可并行处理属于不同子拥有者的CSU的至少一部分。如图10所示,例如,将在特定拥有者下的12个CSU分别指派到四个分割的子拥有者,其中,CSU 1、2和3在子拥有者A下,CSU 4、6、9和10在子拥有者B下,CSU 5、7、11和12在子拥有者C下,以及CSU 8在子拥有者D下。
在推导子拥有者后,无线电通信装置可检查这些子拥有者的CSU以确定在属于不同子拥有者的CSU之间是否具有处理依赖性。同样地,如图10所示,例如,在子拥有者B下的CSU 4和在子拥有者C下的CSU 5对在子拥有者A下的CSU 3具有处理依赖性。又如,在子拥有者D下的CSU 8对在子拥有者B下的CSU 6具有依赖性。
为处理此类处理依赖性,无线电通信装置可保持(步骤81)包括阻止节点的阻止列表,每个节点表示等待处理的被阻止CSU。而且例如以升序根据对应被阻止CSU的时戳,将阻止节点排序。通常,如果CSU对在与此CSU的拥有者不同的拥有者下的另一CSU具有处理依赖性,则可将此CSU视为被阻止CSU,并且在阻止列表中创建对应阻止节点以表示此CSU,例如,指向此CSU。备选,为在阻止列表中尽可能少地创建阻止节点以改进执行效率,可调节的是,在属于不同子拥有者的多个CSU对相同前任CSU具有处理依赖性时,只能够将除多个CSU之间具有最小时戳的CSU(即,最早CSU)外的CSU视为被阻止CSU,相应地,无线电通信装置可只创建用于这些被阻止CSU的阻止节点。根据上述CSU调度机制,在处理前任CSU后,接下来将立即处理其直接后继者,即,在依赖前任CSU的那些CSU之间的最早CSU。因此,不必将此CSU视为被阻止CSU。例如,如图10所示,在子拥有者B下的CSU 4和在子拥有者C下的CSU 5均对在子拥有者A下的CSU 3具有处理依赖性,并且CSU 4的时戳早于(或小于)CSU 5的时戳。在此情况下,无线电通信装置可将CSU 5视为被阻止CSU,并且创建用于它的阻止节点,而不再将CSU 4视为被阻止CSU。
随后,无论何时处理器处理完CSU,无线电通信装置可检查被阻止CSU以确定是否已处理被阻止CSU对其具有处理依赖性的所有前任CSU。如果是,则无线电通信装置可从阻止列表删除(步骤82)对应于被阻止CSU的阻止节点。例如,如图11所示,在子拥有者4下的CSU 42、在子拥有者2下的CSU 21和在子拥有者1下的CSU 14对在子拥有者3下的CSU 31全部具有处理依赖性。如前面提及的一样,在此情况下,最早CSU(即,CSU 42)将不被视为被阻止CSU,而CSU 21和CSU 14将被视为被阻止CSU,并且存在指向它们的对应阻止节点。CSU 31已由处理器处理时,无线电通信装置可检查被阻止CSU,并且确定CSU 21对其具有处理依赖性的所有前任CSU已被处理(即,CSU 31是其最后处理的前任CSU),并且到现在为止,仍存在CSU 14对其具有处理依赖性的其它前任CSU。基于该确定,无线电通信装置将从阻止列表删除指向CSU 21的阻止节点,而留下只指向CSU 14的阻止节点。
一旦被阻止CSU与阻止列表中对应阻止节点的链接取消,并且准备就绪,可被处理,无线电通信装置便可需要确定是否存在可用的闲置处理器。如果可用,则无线电通信装置可直接指示闲置处理器直接处理此被阻止CSU(步骤83)。否则,无线电通信装置可查找被阻止CSU的子拥有者,并且如上所述根据在全局CSU列表中被阻止CSU的位置,将此子拥有者插回(步骤84)拥有者等待列表。在此情况下,将根据上面讨论的CSU调度机制在以后处理此被阻止CSU。
通过引入阻止列表,实施例不但能够管理那些被阻止CSU,而且保持那些被阻止CSU的原时间顺序。一旦这些被阻止CSU变得就绪,可供调度,便能够仍根据其原时戳将其拥有者插入拥有者等待列表,由此仍能够考虑其时戳调度被阻止CSU,这甚至是最商用化的OS所不能实现的。在常见商业化OS中,CS调度机制始终在所有其它就绪CSU结束处附加未被阻止CSU,这使得在调度此CSU中将不再考虑未被阻止CSU的时戳。
备选,在将处理全局CSU列表内列出的特定CSU时,能够适当地执行CSU从全局CSU列表的取消链接,如以串行或非串行方式。为此,无线电通信装置可先确定取消链接操作是否需要以串行方式执行。具体而言,无线电通信装置可获得拥有者等待列表中头端拥有者的等待处理的最早CSU的第一时戳和在阻止列表中所有被阻止CSU之间带有最小时戳的头端被阻止CSU的第二时戳;随后,无线电通信装置可将要处理的CSU的时戳和第一时戳与第二时戳进行比较。要处理的CSU的时戳大于(或迟于)第一时戳或第二时戳时,确定应以串行方式执行取消链接操作,以便保持全局CSU列表中被阻止CSU和就绪调度CSU两者的时间顺序,否则,不必执行取消链接操作,这是因为准备就绪,可供调度的CSU比全局CSU列表和阻止列表中两个头端CSU的时戳更早的时戳意味着准备就绪,可供调度的CSU已经退出全局列表。例如,如图12所示,CSU 14是头端被阻止CSU,并且CSU 61是在头端拥有者6下的更早CSU。调度处理在全局CSU列表中列出的CSU 52时,可触发无线电通信装置比较CSU 52的时戳和CSU 14与CSU 61的时戳,并且确定CSU 52迟于CSU 14,但早于CSU 61。因此,需要进行关于CSU 52的取消链接操作,并且无线电通信装置可将CSU 52从全局CSU列表取消链接,并且以串行方式链接CSU 14和CSU 61,例如,通过在取消链接操作期间在全局CSU列表上施加信号量。
如技术领域中熟知的一样,串行操作可降低执行效率,而实施例能够最小化串行取消链接操作而不失去在全局CSU列表中被阻止CSU和就绪调度CSU两者的时间顺序的记录。
图13是根据一实施例,用于调度CSU,包括多个处理器的无线电通信装置的框图。如图13所示,无线电通信装置1300包括处理器1到N、第一保持单元1310和调度单元1320。本文中,无线电通信装置可表示但不限于基站、毫微微基站、NodeB、e-NodeB、接入点(AP)等。此外,此无线电通信装置可适用于诸如时分同步码分多址(TD-SCDMA)、无线保真(WiFi)、蓝牙、通用移动电信系统(UMTS)、微波接入全球互操作性(WiMAX)、码分多址(CDMA)、宽带码分多址高速分组接入(WCDMA-HSPA)、长期演进(LTE)等各种现有通信协议/标准和将来开发的通信协议/标准。现在将参照图13,详细描述各个单元的功能。
无线电通信装置1300中的第一保持单元1310可保持全局CSU列表和拥有者等待列表。
全局CSU列表包括等待处理的CSU。在全局CSU列表中,根据CSU的时戳将CSU排序。通常,时戳是识别某个事件何时发生的字符的序列或编码信息,通常提供日期和时间,有时准确到一秒的很小部分。本文中,CSU的时戳可表示创建CSU的时间或CSU加入全局CSU列表的时间。
拥有者等待列表包括没有在由处理器处理的CSU的拥有者。换而言之,将从拥有者等待列表删除具有由处理器处理的一个或更多个CSU的拥有者。在拥有者等待列表中,根据在全局CSU列表中等待处理的其相应最早CSU的时戳(即,带有最小时戳的CSU),将拥有者排序。
在处理器处理完在某个拥有者下的某个CSU时,调度单元1320可基于全局CSU列表和拥有者等待列表,根据CSU时间顺序和CSU亲和性,调度接下来要由处理器处理的CSU。
CSU时间顺序能够由CSU的时戳确定。例如,如果CSU A的时戳早于CSU B的时戳,则在全局CSU列表中,CSU A被排序在CSU B之前。CSU亲和性表示一个CSU与已经缓存此CSU需要的必需代码或数据的处理器具有亲和性。如上提及的一样,在相同拥有者下的CSU可访问上下文的相同部分。在此情况下,如果处理器刚完成处理CSU A,则鉴于CSU亲和性,最好是处理器处理与前一CSU A在相同拥有者下的另一CSU B,这是因为由于刚处理CSU A,CSU B访问的数据上下文已经在高速缓冲存储器中存储。这样,它不必执行数据上下文交换。然而,在相反情况下,如果处理器要处理器与CSU A在不同拥有者下的另一CSU C,则需要从高速缓冲存储器清除CSU A使用的数据上下文,并且随后将CSU C使用的数据上下文读入高速缓冲存储器中。
随后,将参照图8,描述示范实现。
在处理器刚处理完在某个拥有者下的某个CSU时,调度单元1320可尝试获得在属于此拥有者的等待处理的CSU之间具有最小时戳的另一CSU,即,最早CSU。在一实施例中,此拥有者可指向等待处理的所有其CSU。因此,调度单元1320可通过此拥有者定位所有CSU,并且比较在它们之间的时戳以确定带有最小时戳的CSU。在另一实施例中,保持同属(sibling) CSU列表以适应在此拥有者下等待处理的所有CSU,并且此拥有者可指向同属CSU列表的头端。例如,如图8所示,拥有者4具有CSU 41和CSU 42。两个CSU在同属CSU列表中链接在一起,并且拥有者4指向同属列表的头端,即,CSU 41。优选的是,CSU在同属CSU列表中根据其时戳以升序列出。换而言之,带有最小时戳的CSU将是同属CSU列表的头端。这样,调度单元1320将定位在同属CSU列表中由此拥有者指向的头端CSU。如图所示,此头端CSU与刚处理的CSU具有亲和性,这是因为它们属于相同拥有者。
随后,调度单元1320可从排序的拥有者等待列表中直接定位头端拥有者。等待处理的头端拥有者的最早CSU在拥有者等待列表中的拥有者之间具有所述最小时戳。例如,如图8所示,在拥有者等待列表中,有四个成员:拥有者1、拥有者4、拥有者5和拥有者6。并且四个拥有者根据等待处理的其最早CSU的时戳,在拥有者等待列表中以升序列出。也就是说,具有最小CSU时戳的拥有者将在拥有者等待列表的头端中列出。因此,调度单元1320可在拥有者等待列表中直接定位此头端拥有者,例如,CSU 11。
接着,调度单元1320可定位在全局CSU列表中在前面定位的头端拥有者下等待处理的最早CSU。一般情况下,拥有者等待列表中的拥有者可指向全局CSU列表中的其最早CSU。例如,如图8所示,拥有者1指向全局CSU列表中的其最早CSU,CSU 11;拥有者4指向CSU41;拥有者5指向CSU 51,及诸如此类。这样,调度单元1320也可在全局CSU列表中直接定位预期CSU。如上提及的一样,仅没有CSU在处理的拥有者在拥有者等待列表中列出,换而言之,拥有者等待列表中未列出的拥有者可已获得处理器资源。因此,定位的头端拥有者应是有获得处理器资源的最高优先级的拥有者;相应地,刚定位的CSU应是要处理的带顶部时间顺序的候选CSU。
随后,调度单元1320可比较带最密切亲和性的CSU的时戳和带顶部时间顺序的CSU的时戳,并且计算在两个时戳之间的差异。
如果带最密切亲和性的CSU的时戳迟于(或大于)带顶部时间顺序的CSU的时戳,并且差异超过预确定的阈值,即,时间间隔,则它表示带顶部时间顺序的CSU优先于带最密切亲和性的CSU,由此具有带最密切亲和性的CSU的拥有者要让出处理器,并且具有带顶部时间顺序的CSU的拥有者将获得处理器。在此情况下,调度单元1320可采取以下动作:
首先,调度单元1320可将让出处理器的拥有者插回拥有者等待列表,并且拥有者等待列表中拥有者的位置能够由全局CSU列表中列出的其最早CSU的时戳确定。详细的插入实现将在后面描述。接着,调度单元1320可从拥有者等待列表删除获得处理器的拥有者。最后,调度单元1320可指示处理器处理带顶部时间顺序的CSU。
另一方面,如果带最密切亲和性的CSU的时戳早于(或小于)带顶部时间顺序的CSU的时戳,或者差异小于预确定的阈值,则它表示带最密切亲和性的CSU优先于带顶部时间顺序的CSU。因此,调度单元1320可指示处理器继续处理带最密切亲和性的CSU,即,刚处理的CSU的下一同属CSU。
在实施例中,能够根据需要调整预确定的阈值。实际上,如果阈值设置成0,则CSU亲和性因素被忽略,并且它可表现得象基于CSU的解决方案一样;如果阈值设置成∞,则CSU时间顺序因素被忽略,并且它可表现得象基于拥有者的解决方案一样。
如所示一样,通过引入全局CSU列表和拥有者等待列表,在无线电通信装置使用的CSU调度中,能够以统一方式将CSU时间顺序和CSU亲和性均考虑在内。这样,能够更合理地调度CSU。另外,实施例可在每个CSU调度中不要求线性搜索。
另外,通常在全局CSU列表中将适应等待处理的所有CSU,然而,在属于相同拥有者的CSU在排序的全局CSU列表中直接相邻时,第一取消链接单元能够将除在属于相同拥有者的CSU之间具有最小时戳的CSU(即,最早CSU)外的CSU从全局CSU列表取消链接,但在此拥有者的同属CSU列表中仍可保持这些取消链接的CSU。例如,如图8所示,拥有者1拥有CSU 11、CSU 12和CSU 13。三个CSU原来在全局CSU列表中列出,并且CSU 12直接在CSU 11后列出(在它们之间无其它CSU)。在此情况下,能够如图8所示,将CSU 12从全局CSU列表取消链接。此处,CSU 12直接位于CSU 11后,这表示在处理CSU 11后,接下来必然将处理CSU 12,这是因为CSU 12拥有最密切亲和性和顶部时间顺序。因此,在全局CSU列表中可不必保持此CSU,由此能够减短全局CSU列表的长度,这可降低在诸如遍历全局CSU列表等操作全局CSU列表上的成本。
现在,将讨论调度单元1320将让出处理器的拥有者插回拥有者等待列表。以参照图8为例,假设拥有者2是让出处理器的拥有者,并且它将被插回拥有者等待列表,因此,调度单元1320可浏览全局CSU列表以定位在全局CSU列表中的其最早CSU。如图8所示,CSU 22是在拥有者2下的此类最早CSU,并且CSU 22定位在CSU 11后,但在CSU 41之前,其中,CSU11是等待拥有者1的最早CSU,并且CSU 41是等待拥有者4的最早CSU。因此,能够确定的是,拥有者2在拥有者等待列表中被插在拥有者1与拥有者4之间。
在上述实施例中,为将拥有者插入拥有者等待列表中,要求进行全局CSU列表的线性搜索,这可造成低效插入。在另一实施例中,引入了CSU-拥有者索引列表以避免在拥有者插入期间的线性搜索。此实施例将参照图9描述。
在实施例中,无线电通信装置1300中的第二保持单元(未示出)可保持链接拥有者等待列表和全局CSU列表的CSU-拥有者索引列表。如图9所示,CSU-拥有者索引列表中的单独索引项根据全局CSU列表中的CSU顺序,按全局CSU列表中CSU的相应连续范围有序编排索引。具体而言,如果在全局CSU列表中的特定CSU为CSU-拥有者索引列表中的特定索引项编排索引,则在全局CSU列表中特定CSU后列出的CSU只能够为该特定索引项或在CSU-拥有者索引列表中此特定索引项后列出的索引项编排索引。另外,在全局CSU列表中,所有CSU只为CSU-拥有者索引列表中的一个且仅一个索引项编排索引。例如,索引项6按CSU 33编排索引,并且索引8按CSU 42和CSU 61编排索引。
另一方面,单独索引项根据拥有者等待列表中的拥有者顺序,为拥有者等待列表中的一个或更多个连续拥有者有序编排索引。具体而言,如果在CSU-拥有者索引列表中的特定索引项为拥有者等待列表中的特定拥有者编排索引,则在CSU-拥有者列表中特定索引项后列出的索引项只能够为该特定拥有者或在拥有者等待列表中此特定拥有者后列出的拥有者编排索引。另外,一个索引项只为一个且只一个拥有者编排索引。例如,拥有者1按索引项1和2编排索引。拥有者4按索引项3、4和5编排索引。
此外,特定拥有者和包括特定拥有者的最早CSU的CSU范围按相同索引项编排索引。具体而言,如果全局CSU列表中一个拥有者的最早CSU为CSU-拥有者索引列表中的索引项编排索引,则索引项需要为此拥有者编排索引。例如,如图9所示,CSU 41是在全局CSU列表中在拥有者4下的最早CSU。因此,在CSU 41为索引项4编排索引时,索引项4要为拥有者4编排索引。
通过利用CSU-拥有者索引列表,例如能够如下所述执行根据其最早CSU的时戳,将拥有者插回拥有者等待列表:
首先,调度单元1320可直接查找按要插入的拥有者A编排索引的最早CSU,并且随后定位按此最早CSU编排索引的索引项。随后,调度单元1320可直接定位按此索引项编排索引的拥有者B。如果拥有者A的最早CSU的时戳迟于(或大于)全局CSU列表中拥有者B的最早CSU的时戳,则调度单元1320可在拥有者等待列表中拥有者B后直接插入拥有者A。否则,调度单元1320可直接在拥有者B之前插入拥有者A。
例如,拥有者2将被插回拥有者等待列表。如图9所示,CSU 22是在全局CSU列表中拥有者2下的最早CSU,并且CSU 22为CSU-拥有者索引列表中的索引项2编排索引,并且索引项2进一步为拥有者1编排索引。因此,调度单元1320将比较CSU 22的时戳和作为在拥有者1下最早CSU的CSU 11的时戳。因此,CSU 22迟于CSU 11,因此,拥有者2将被直接插在拥有者等待列表中拥有者1后。
如图所示,通过引入CSU-拥有者索引列表,在拥有者插入中避免了线性搜索,相应地将插入效率大幅改进到时间复杂度O(1)。
可选的同,在调度单元1320将拥有者插回拥有者等待列表后,无线电通信装置1300中的更新单元(未示出)可根据为拥有者编排索引的索引项的准则,相应地更新CSU-拥有者索引列表中的索引项。具体而言,将参照图9,详细描述更新单元的功能。
在调度单元1320将例如拥有者2等拥有者插回拥有者等待列表后,更新单元可确定例如索引项2等按插入的拥有者的最早CSU编排索引的索引项是否以前已象此一样用于将另一拥有者插回拥有者等待列表,这可通过此索引项的标志暗示。如果没有,则更新单元可更新CSU-拥有者索引列表中的相关索引项。例如,索引项2可将其拥有者索引从例如拥有者1等前一拥有者交换到拥有者2。另外,如果在索引项2后的任何索引项原来也为拥有者1编排索引,则这些索引项也将为拥有者2编排索引。否则,例如,如果索引项2以前已将此一样用于将另一拥有者插回拥有者等待列表,则更新单元可先创建新索引项。随后,如果拥有者2的最早CSU(即,CSU 22)迟于拥有者1的最早CSU(即,CSU 11),则更新单元将直接在CSU-拥有者索引列表中索引项2后插入新创建的索引项,另外,如果在全局CSU列表中CSU 22后的任何CSU也为索引项2编排索引,则这些CSU将索引从索引项2交换到新创建的索引。否则,更新单元将直接在索引项2前插入新创建的索引项,另外,如果在全局CSU列表中CSU 22前的任何CSU也为索引项2编排索引,则这些CSU将索引从索引项2交换到新创建的索引。此时,更新单元可相应地更新CSU-拥有者索引列表中的相关索引项。特别是,例如新创建的索引项将为拥有者2编排索引。
备选,为改进用于CSU-拥有者索引列表的更新效率,为相同索引项编排索引的CSU范围的长度能够统一设成K,其中,K是正整数。这样,在CSU-拥有者索引列表中的索引项数量是大约全局CSU列表中CSU的数量的1/K,相应地不同于索引项的数量等于CSU的数量的情况,更新效率增大了K倍。
另外,通过利用二分法,具体而言,将为拥有者等待列表中两个相邻拥有者之一编排索引的连续索引项分成两部分,索引项的第一半为前一拥有者编排索引,并且索引项的第二半为后一拥有者节点编排索引,更新单元可进一步优化更新过程。例如,索引项1-4为两个相邻拥有者(拥有者1和拥有者2)编排索引。优选的是,第一半索引项(即,索引项1和2)将为拥有者1编排索引,并且第二半索引项(即,索引项3和4)将为拥有者4编排索引。在此情况下,能够知道的是,在索引项的任何一半中的索引项用于将拥有者插回拥有者等待列表时,只需要考虑更新此一半的索引项,并且根本不需要更新另一半的索引项,因此,节省了一半的更新成本。
在另一实施例中,无线电通信装置1300可还支持在相同拥有者下CSU之间的并发处理,这需要将拥有者划分成几个正交“子拥有者”,并且子拥有者将得到处理,好像普通拥有者一样。因此,必然在子拥有者之间可存在非正交CSU,换而言之,在属于不同子拥有者的CSU之间存在处理依赖性,这是因为属于不同子拥有者的CSU可访问数据上下文的相同部分。而在以前,处理信赖性只在相同拥有者下的CSU之间存在。为支持在相同拥有者下CSU之间的并发处理,并且同时确保能够以正确的顺序处理非正交CSU,在CSU调度期间引入了阻止列表。现在,将参照图10和图11描述在相同拥有者下的CSU之间支持并发处理的实施例。
首先,无线电通信装置1300中的推导单元(未示出)可从特定拥有者推导一个或更多个子拥有者,其中,每个子拥有者拥有原来属于特定拥有者的CSU的不同部分。通常,将尽可能地指访问数据上下文的相同部分的CSU派到相同子拥有者。备选,能够将可访问在不同子拥有者下不同CSU访问的数据上下文的多个部分的CSU指派到单独的子拥有者。因此,可并行处理属于不同子拥有者的CSU的至少一部分。如图10所示,例如,将在特定拥有者下的12个CSU分别指派到四个分割的子拥有者,其中,CSU 1、2和3在子拥有者A下,CSU 4、6、9和10在子拥有者B下,CSU 5、7、11和12在子拥有者C下,以及CSU 8在子拥有者D下。
在推导单元推导子拥有者后,无线电通信装置1300中的阻止单元(未示出)可检查这些子拥有者的CSU以确定在属于不同子拥有者的CSU之间是否具有处理依赖性。同样地,如图10所示,例如,在子拥有者B下的CSU 4和在子拥有者C下的CSU 5对在子拥有者A下的CSU 3具有处理依赖性。又如,在子拥有者D下的CSU 8对在子拥有者B下的CSU 6具有依赖性。
为处理此类处理依赖性,阻止单元可保持包括阻止节点的阻止列表,每个节点表示等待处理的被阻止CSU。而且例如以升序根据对应被阻止CSU的时戳,将阻止节点排序。通常,如果CSU对在与此CSU的拥有者不同的拥有者下的另一CSU具有处理依赖性,则可将此CSU视为被阻止CSU,并且在阻止列表中创建对应阻止节点以表示此CSU,例如,指向此CSU。备选,为在阻止列表中尽可能少地创建阻止节点以改进执行效率,可调节的是,在属于不同子拥有者的多个CSU对相同前任CSU具有处理依赖性时,只能够将除多个CSU之间具有最小时戳的CSU(即,最早CSU)外的CSU视为被阻止CSU,相应地,阻止单元可只创建用于这些被阻止CSU的阻止节点。根据上述CSU调度机制,在处理前任CSU后,接下来将立即处理其直接后继者,即,在依赖前任CSU的那些CSU之间的最早CSU。因此,不必将此CSU视为被阻止CSU。例如,如图10所示,在子拥有者B下的CSU 4和在子拥有者C下的CSU 5均对在子拥有者A下的CSU 3具有处理依赖性,并且CSU 4的时戳早于(或小于)CSU 5的时戳。在此情况下,阻止单元可将CSU 5视为被阻止CSU,并且创建用于它的阻止节点,而不再将CSU 4视为被阻止CSU。
随后,无论何时处理器处理完CSU,阻止单元可检查被阻止CSU以确定是否已处理被阻止CSU对其具有处理依赖性的所有前任CSU。如果是,则阻止单元可从阻止列表删除对应于被阻止CSU的阻止节点。例如,如图11所示,在子拥有者4下的CSU 42、在子拥有者2下的CSU 21和在子拥有者1下的CSU 14对在子拥有者3下的CSU 31全部具有处理依赖性。如前面提及的一样,在此情况下,最早CSU(即,CSU 42)将不被视为被阻止CSU,而CSU 21和CSU 14将被视为被阻止CSU,并且存在指向它们的对应阻止节点。CSU 31已由处理器处理时,阻止单元可检查被阻止CSU,并且确定CSU 21对其具有处理依赖性的所有前任CSU已被处理(即,CSU 31是其最后处理的前任CSU),并且到现在为止,仍存在CSU 14对其具有处理依赖性的其它前任CSU。基于该确定,阻止单元将从阻止列表删除指向CSU 21的阻止节点,而留下只指向CSU 14的阻止节点。
一旦被阻止CSU与阻止列表中对应阻止节点的链接取消,并且准备就绪,可被处理,阻止单元便可需要确定是否存在可用的闲置处理器。如果可用,则阻止单元可直接指示闲置处理器直接处理此被阻止CSU。否则,阻止单元可查找被阻止CSU的子拥有者,并且如上所述根据在全局CSU列表中被阻止CSU的位置,将此子拥有者插回拥有者等待列表,如上由调度单元1320执行的插入一样。在此情况下,将根据上面讨论的CSU调度机制在以后处理此被阻止CSU。
通过引入阻止列表,实施例不但能够管理那些被阻止CSU,而且保持那些被阻止CSU的原时间顺序。一旦这些被阻止CSU变得就绪,可供调度,便能够仍根据其原时戳将其拥有者插入拥有者等待列表,由此仍能够考虑其时戳调度被阻止CSU,这甚至是最商用化的OS所不能实现的。在常见商业化OS中,CS调度机制始终在所有其它就绪CSU结束处附加未被阻止CSU,这使得在调度此CSU中将不再考虑未被阻止CSU的时戳。
备选,在将处理全局CSU列表内列出的特定CSU时,能够适当地执行CSU从全局CSU列表的取消链接,如以串行或非串行方式。为此,无线电通信装置1300中的第二取消链接单元(未示出)可先确定取消链接操作是否要求以串行方式执行。具体而言,第二取消链接单元可获得拥有者等待列表中头端拥有者的等待处理的最早CSU的第一时戳和在阻止列表中所有被阻止CSU之间带有最小时戳的头端被阻止CSU的第二时戳;随后,第二取消链接单元可将要处理的CSU的时戳和第一时戳与第二时戳进行比较。要处理的CSU的时戳大于(或迟于)第一时戳或第二时戳时,确定应以串行方式执行取消链接操作,以便保持全局CSU列表中被阻止CSU和就绪调度CSU两者的时间顺序。例如,如图12所示,CSU 14是头端被阻止CSU,并且CSU 61是在头端拥有者6下的更早CSU。调度处理在全局CSU列表中列出的CSU 52时,可触发第二取消链接单元比较CSU 52的时戳和CSU 14与CSU 61的时戳,并且确定CSU 52迟于CSU 14,但早于CSU 61。因此,应以串行方式执行关于CSU 52的取消链接操作,并且第二取消链接单元可将CSU 52从全局CSU列表取消链接,并且以串行方式链接CSU 14和CSU 61,例如,通过在取消链接操作期间在全局CSU列表上施加信号量。
如技术领域中熟知的一样,串行操作可降低执行效率,而实施例能够最小化串行取消链接操作而不失去在全局CSU列表中被阻止CSU和就绪调度CSU两者的时间顺序的记录。
此外,提议了使用多个处理器,可包括例如无线电通信装置1300等无线电通信装置的通信装置,以便在实时多处理环境中调度CSU。
虽然实施例已在本文中示出和描述,但本领域技术人员将理解,在不脱离所述技术的真正范围的情况下,可进行各种更改和修改,并且等效物可替代其中的元素。另外,在不脱离其中心范围的情况下,可进行许多修改以适应特定情况和本文中的教导。因此,所述实施例无意限于为执行所述技术而考虑的公开为最佳模式的特定实施例,相反,所述实施例包括在所附权利要求的范围内的所有实施例。
Claims (23)
1.一种在使用多个处理器的无线电通信装置中调度属于不同拥有者的通信可调度单元CSU的方法,其中所述CSU能够由所述处理器中的至少两个处理器并行处理,包括:
-保持(30)全局CSU列表和拥有者等待列表,其中所述全局CSU列表包括等待处理的CSU,并且在所述全局CSU列表中,根据所述等待处理的CSU的时戳对所述等待处理的CSU进行排序,其中所述拥有者等待列表包括没有CSU正被所述处理器处理的拥有者,并且在所述拥有者等待列表中,根据在所述全局CSU列表中没有CSU正被处理的拥有者的等待处理的最早CSU的时戳对相应没有CSU正被处理的拥有者进行排序;
-在所述处理器之一处理完第一拥有者的第一CSU时,基于按照所述全局CSU列表和所述拥有者等待列表中的时戳的、CSU的顺序,调度(40)接下来要由所述处理器处理的CSU,
其中所述调度(40)包括:
-获得(401)属于所述第一拥有者的等待处理的第二CSU,所述第二CSU在属于所述第一拥有者的等待处理的CSU之中具有最小时戳;
-从所述拥有者等待列表定位(402)头端拥有者,所述头端拥有者的等待处理的最早CSU在所述拥有者等待列表中的拥有者之中具有最小时戳;
-在所述全局CSU列表中定位(403)是所述头端拥有者的等待处理的最早CSU的第三CSU;
-计算(404)在所述第二CSU的第一时戳与所述第三CSU的第二时戳之间的差异;
-在所述第一时戳迟于所述第二时戳的所述差异超过预定义的阈值时,根据所述第一时戳将所述第一拥有者插回(405)到所述拥有者等待列表,从所述拥有者等待列表删除(406)所述头端拥有者,并且由所述处理器处理(407)所述头端拥有者的所述第三CSU,否则,由所述处理器处理(408)所述第二CSU。
2.如权利要求1所述的方法,其中所述全局CSU列表中属于相同拥有者的CSU链接在一起。
3.如权利要求2所述的方法,包括:
-在属于相同拥有者的CSU在所述全局CSU列表中直接相邻时,从所述全局CSU列表中取消链接除了在属于相同拥有者的CSU之中具有最小时戳的CSU之外的CSU。
4.如权利要求1所述的方法,包括保持(50)链接所述拥有者等待列表和所述全局CSU列表的CSU-拥有者索引列表,其中根据所述全局CSU列表中的CSU顺序,按所述全局CSU列表中CSU的相应连续范围对所述CSU-拥有者索引列表中单独的索引项有序编排索引,并且所述全局CSU列表中一个CSU只对一个索引项编排索引,
其中所述单独的索引项根据所述拥有者等待列表中的拥有者顺序,对所述拥有者等待列表中的一个或更多个连续拥有者有序编排索引,并且一个索引项只对所述拥有者等待列表中的所述拥有者之一编排索引,
其中按相同索引项对特定拥有者和包括所述特定拥有者的最早CSU的CSU范围编排索引;
其中根据所述第一时戳将所述第一拥有者插回(405)到所述拥有者等待列表包括:在所述CSU-拥有者索引列表中直接定位(4051)按所述第一拥有者的所述第二CSU编排索引的第一索引项,直接定位(4052)按所述第一索引项编排索引的第三拥有者,如果所述第一拥有者的等待处理的最早CSU的时戳迟于所述第三拥有者的等待处理的最早CSU的时戳,则将所述第一拥有者直接放置(4053)在所述拥有者等待列表中所述第三拥有者之后;否则,直接在所述第三拥有者之前放置(4054)所述第一拥有者。
5.如权利要求4所述的方法,其中对所述拥有者等待列表中两个相邻拥有者之一编排索引的连续索引项被分成两个部分,索引项的第一部分对所述两个相邻拥有者的前者编排索引,并且索引项的第二部分对所述两个相邻拥有者的后者编排索引。
6.如权利要求4所述的方法,其中对应于每个索引项的CSU范围的长度统一设成K,K是正整数。
7.如权利要求4所述的方法,所述方法包括:
-在将所述第一拥有者插回(405)所述拥有者等待列表后,更新(70)所述CSU-拥有者索引列表中的索引项,其中所述第一索引项将对所述第一拥有者编排索引。
8.如权利要求7所述的方法,其中在将所述第一拥有者插回(405)所述拥有者等待列表后,如果所述第一索引项以前已用于将另一拥有者插回所述拥有者等待列表,则创建(60)新索引项,并且如果所述第一拥有者的等待处理的最早CSU的时戳迟于所述第三拥有者的等待处理的最早CSU的时戳,则直接在所述第一索引项后将所述新索引项插入(62)所述CSU-拥有者索引列表;否则直接在所述第一拥有者之前插入(61)新创建的索引项,随后更新(70)所述CSU-拥有者索引列表中的索引项,其中所述新索引将对所述第一拥有者编排索引。
9.如权利要求1所述的方法,所述方法包括:
-从特定拥有者推导(80)一个或更多个子拥有者,其中每个子拥有者拥有原来属于所述特定拥有者的CSU的不同部分,能够并行处理属于不同子拥有者的CSU的至少部分;以及
如果在相应属于所述不同子拥有者的CSU之间存在处理依赖性,则:
-保持(81)包括阻止节点的阻止列表,每个阻止节点表示等待处理的被阻止CSU,根据被阻止CSU的时戳对相应的阻止节点排序;
-在被阻止CSU具有处理依赖性的所有CSU已被处理时,从所述阻止列表中删除(82)对应于所述被阻止CSU的阻止节点,并且如果在所述多个处理器之中无闲置处理器可用于处理所述被阻止CSU,则基于所述全局CSU列表中所述被阻止CSU的位置,将拥有所述被阻止CSU的子拥有者插回(84)所述拥有者等待列表,否则,通过使用闲置处理器,直接处理(83)所述被阻止CSU。
10.如权利要求9所述的方法,其中在属于不同子拥有者的多个CSU对相同前任CSU具有处理依赖性时,将除了在所述多个CSU之中具有最小时戳的CSU之外的CSU作为被阻止CSU添加到所述阻止列表中。
11.如权利要求9所述的方法,所述方法包括如果在所述全局CSU列表内链接将被调度处理的特定CSU,则:
-获得所述拥有者等待列表中所述头端拥有者的等待处理的最早CSU的第三时戳;
-获得在所述阻止列表中所有被阻止CSU之中带有最小时戳的头端被阻止CSU的第四时戳;
-比较所述特定CSU的时戳和在所述第三时戳与所述第四时戳之中的更早时戳;
-在所述特定CSU的所述时戳迟于上面所述更早时戳时,以串行方式从所述全局CSU列表中取消链接所述特定CSU。
12.一种具有多个处理器并且适用于调度属于不同拥有者的通信可调度单元CSU的无线电通信装置(1300),其中所述CSU能够由所述处理器中的至少两个处理器并行处理,包括:
第一保持单元(1310),适用于保持全局CSU列表和拥有者等待列表,其中所述全局CSU列表包括等待处理的CSU,并且在所述全局CSU列表中,根据所述等待处理的CSU的时戳对所述等待处理的CSU进行排序,其中所述拥有者等待列表包括没有CSU正被所述处理器处理的拥有者,并且在所述拥有者等待列表中,根据在所述全局CSU列表中没有CSU正被处理的拥有者的等待处理的最早CSU的时戳对相应没有CSU正被处理的拥有者进行排序;
调度单元(1320),适用于在所述处理器之一处理完第一拥有者的第一CSU时,基于按照所述全局CSU列表和所述拥有者等待列表中的时戳的、CSU的顺序,调度接下来要由所述处理器处理的CSU,
其中所述调度单元(1320)还适用于:
-获得属于所述第一拥有者的等待处理的第二CSU,所述第二CSU在属于所述第一拥有者的等待处理的CSU之中具有最小时戳;
-从所述拥有者等待列表定位头端拥有者,所述头端拥有者的等待处理的最早CSU在所述拥有者等待列表中的拥有者之中具有最小时戳;
-在所述全局CSU列表中定位是所述头端拥有者的等待处理的最早CSU的第三CSU;
-计算在所述第二CSU的第一时戳与所述第三CSU的第二时戳之间的差异;
-在所述第一时戳迟于所述第二时戳的所述差异超过预定义的阈值时,根据所述第一时戳将所述第一拥有者插回到所述拥有者等待列表,从所述拥有者等待列表删除所述头端拥有者,并且由所述处理器处理所述头端拥有者的所述第三CSU,否则,由所述处理器处理所述第二CSU。
13.如权利要求12所述的无线电通信装置,其中所述全局CSU列表中属于相同拥有者的CSU链接在一起。
14.如权利要求13所述的无线电通信装置,包括:
第一取消链接单元,在属于相同拥有者的CSU在所述全局CSU列表中直接相邻时,适用于从所述全局CSU列表中取消链接除了在属于相同拥有者的CSU之中具有最小时戳的CSU之外的CSU。
15.如权利要求12所述的无线电通信装置,包括:
第二保持单元,适用于保持链接所述拥有者等待列表和所述全局CSU列表的CSU-拥有者索引列表,其中根据所述全局CSU列表中的CSU顺序,按所述全局CSU列表中CSU的相应连续范围对所述CSU-拥有者索引列表中单独的索引项有序编排索引,并且所述全局CSU列表中一个CSU只对一个索引项编排索引,
其中所述单独的索引项根据所述拥有者等待列表中的拥有者顺序,对所述拥有者等待列表中的一个或更多个连续拥有者有序编排索引,并且一个索引项只对所述拥有者等待列表中的拥有者之一编排索引,
其中按相同索引项对特定拥有者和包括所述特定拥有者的最早CSU的CSU范围编排索引;
其中所述调度单元(1320)适用于通过以下操作,根据所述第一时戳将所述第一拥有者插回到所述拥有者等待列表:在所述CSU-拥有者索引列表中直接定位按所述第一拥有者的所述第二CSU编排索引的第一索引项,直接定位按所述第一索引项编排索引的第三拥有者,如果所述第一拥有者的等待处理的最早CSU的时戳迟于所述第三拥有者的等待处理的最早CSU的时戳,则将所述第一拥有者直接放置在所述拥有者等待列表中所述第三拥有者之后;否则,直接在所述第三拥有者之前放置所述第一拥有者。
16.如权利要求15所述的无线电通信装置,其中对所述拥有者等待列表中两个相邻拥有者之一编排索引的连续索引项被分成两个部分,索引项的第一部分对所述两个相邻拥有者的前者编排索引,并且索引项的第二部分对所述两个相邻拥有者的后者编排索引。
17.如权利要求15所述的无线电通信装置,其中对应于每个索引项的CSU范围的长度统一设成K,K是正整数。
18.如权利要求15所述的无线电通信装置,包括:
更新单元,在将所述第一拥有者插回所述拥有者等待列表后,适用于更新所述CSU-拥有者索引列表中的索引项,其中所述第一索引项将对所述第一拥有者编排索引。
19.如权利要求18所述的无线电通信装置,其中在将所述第一拥有者插回所述拥有者等待列表后,如果所述第一索引项以前已用于将另一拥有者插回所述拥有者等待列表,则所述更新单元适用于创建新索引项,并且如果所述第一拥有者的等待处理的最早CSU的时戳迟于所述第三拥有者的等待处理的最早CSU的时戳,则直接在所述第一索引项后将所述新索引项插入所述CSU-拥有者索引列表;否则直接在所述第一拥有者之前插入新创建的索引项,并且随后更新所述CSU-拥有者索引列表中的索引项,其中所述新索引将对所述第一拥有者编排索引。
20.如权利要求12所述的无线电通信装置,包括:
推导单元,适用于从特定拥有者推导一个或更多个子拥有者,其中每个子拥有者拥有原来属于所述特定拥有者的CSU的不同部分,能够并行处理属于不同子拥有者的CSU的至少部分;以及
阻止单元,适用于如果在相应属于所述不同子拥有者的CSU之间存在处理依赖性,则执行以下操作:
-保持包括阻止节点的阻止列表,每个阻止节点表示等待处理的被阻止CSU,根据被阻止CSU的时戳对相应的阻止节点排序;
-在被阻止CSU具有处理依赖性的所有CSU已被处理时,从所述阻止列表中删除对应于所述被阻止CSU的阻止节点,并且如果在所述多个处理器之中无闲置处理器可用于处理所述被阻止CSU,则基于所述全局CSU列表中所述被阻止CSU的位置,将拥有所述被阻止CSU的子拥有者插回所述拥有者等待列表,否则,通过使用闲置处理器,直接处理所述被阻止CSU。
21.如权利要求20所述的无线电通信装置,其中所述阻止单元适用于在属于不同子拥有者的多个CSU对相同前任CSU具有处理依赖性时,将除了在所述多个CSU之中具有最小时戳的CSU之外的CSU作为被阻止CSU添加到所述阻止列表中。
22.如权利要求20所述的无线电通信装置,包括:
第二取消链接单元,适用于如果在所述全局CSU列表内链接将被调度处理的特定CSU,则执行以下操作:
-获得所述拥有者等待列表中所述头端拥有者的等待处理的最早CSU的第三时戳;
-获得在所述阻止列表中所有被阻止CSU之中带有最小时戳的头端被阻止CSU的第四时戳;
-比较所述特定CSU的时戳和在所述第三时戳与所述第四时戳之中的更早时戳;
-在所述特定CSU的所述时戳迟于上面所述更早时戳时,以串行方式从所述全局CSU列表中取消链接所述特定CSU。
23.一种存储指令的计算机可读存储介质(1410),所述指令在设有多个处理器的无线电通信装置上运行时促使所述无线电通信装置执行如权利要求1-11任一项所述方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/073003 WO2014146279A1 (en) | 2013-03-21 | 2013-03-21 | Method and device for scheduling communication schedulable unit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105284084A CN105284084A (zh) | 2016-01-27 |
CN105284084B true CN105284084B (zh) | 2018-11-06 |
Family
ID=51579295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380074949.XA Active CN105284084B (zh) | 2013-03-21 | 2013-03-21 | 用于调度通信可调度单元的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9471372B2 (zh) |
EP (1) | EP2976861B1 (zh) |
CN (1) | CN105284084B (zh) |
WO (1) | WO2014146279A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261592A (zh) * | 2007-03-07 | 2008-09-10 | 国际商业机器公司 | 用于对任务请求进行调度的方法和设备 |
US7941645B1 (en) * | 2004-07-28 | 2011-05-10 | Nvidia Corporation | Isochronous pipelined processor with deterministic control |
CN102902587A (zh) * | 2011-07-28 | 2013-01-30 | 中国移动通信集团四川有限公司 | 分布式任务调度方法、系统和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128654A1 (en) * | 2002-12-30 | 2004-07-01 | Dichter Carl R. | Method and apparatus for measuring variation in thread wait time |
US20050071438A1 (en) * | 2003-09-30 | 2005-03-31 | Shih-Wei Liao | Methods and apparatuses for compiler-creating helper threads for multi-threading |
KR100800997B1 (ko) | 2005-10-13 | 2008-02-11 | 삼성전자주식회사 | 통신 스케쥴링 장치 및 방법 |
US20090010202A1 (en) * | 2006-09-27 | 2009-01-08 | Hitachi Kokusai Electric Inc. | Wireless base station |
US8521993B2 (en) | 2007-04-09 | 2013-08-27 | Intel Corporation | Providing thread fairness by biasing selection away from a stalling thread using a stall-cycle counter in a hyper-threaded microprocessor |
CN101400137B (zh) | 2007-09-27 | 2010-04-21 | 鼎桥通信技术有限公司 | 一种用户设备的调度方法及装置 |
US20090160863A1 (en) * | 2007-12-21 | 2009-06-25 | Michael Frank | Unified Processor Architecture For Processing General and Graphics Workload |
WO2009099573A1 (en) * | 2008-02-08 | 2009-08-13 | Rmi Corporation | System and method for parsing and allocating a plurality of packets to processor core threads |
US9220111B2 (en) * | 2010-10-18 | 2015-12-22 | Telefonaktiebolaget L M Ericsson (Publ) | Communication scheduling |
-
2013
- 2013-03-21 CN CN201380074949.XA patent/CN105284084B/zh active Active
- 2013-03-21 WO PCT/CN2013/073003 patent/WO2014146279A1/en active Application Filing
- 2013-03-21 EP EP13878618.1A patent/EP2976861B1/en active Active
- 2013-03-21 US US14/778,033 patent/US9471372B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941645B1 (en) * | 2004-07-28 | 2011-05-10 | Nvidia Corporation | Isochronous pipelined processor with deterministic control |
CN101261592A (zh) * | 2007-03-07 | 2008-09-10 | 国际商业机器公司 | 用于对任务请求进行调度的方法和设备 |
CN102902587A (zh) * | 2011-07-28 | 2013-01-30 | 中国移动通信集团四川有限公司 | 分布式任务调度方法、系统和装置 |
Non-Patent Citations (1)
Title |
---|
《芯片多线程处理器线程调度的性能测试与优化研究》;唐夷简;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215(第S1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP2976861A4 (en) | 2016-03-09 |
CN105284084A (zh) | 2016-01-27 |
WO2014146279A1 (en) | 2014-09-25 |
US9471372B2 (en) | 2016-10-18 |
EP2976861B1 (en) | 2017-05-17 |
US20160179571A1 (en) | 2016-06-23 |
EP2976861A1 (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729480B (zh) | 一种多核实时操作系统多个就绪任务快速查找及调度方法 | |
US20070022100A1 (en) | Database management system and method | |
WO2006059543A1 (ja) | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム | |
CN109753493A (zh) | 数据库间进行数据迁移的方法、装置以及设备 | |
US10002023B2 (en) | Method and apparatus for managing one or more tasks of a many-core system using one or more task descriptor entries | |
Jiang et al. | Symbiosis: Network-aware task scheduling in data-parallel frameworks | |
CN107609061A (zh) | 一种数据同步的方法和装置 | |
CN103488536B (zh) | 任务调度方法、装置及操作系统 | |
US10481957B2 (en) | Processor and task processing method therefor, and storage medium | |
CN106886450A (zh) | 任务调度方法和系统 | |
WO2009144821A1 (ja) | 装置構成情報最適配置方法及び装置構成情報最適配置システム | |
CN104834505A (zh) | 一种多核多线程环境下numa感知的同步方法 | |
CN104731722B (zh) | 一种针对缓存页面的页面管理方法及装置 | |
CN106850825A (zh) | 一种移动透明计算环境下客户端块级缓存优化方法 | |
JP6002832B2 (ja) | 計算機システム、データ管理方法及びプログラムを格納する記録媒体 | |
CN105284084B (zh) | 用于调度通信可调度单元的方法和装置 | |
JPH11259318A (ja) | ディスパッチ方式 | |
JPH04219844A (ja) | 高速媒体優先解放型排他方式 | |
CN101833585A (zh) | 数据库服务器操作控制系统、方法及设备 | |
US20140297956A1 (en) | Arithmetic processing apparatus, information processing apparatus and control method of arithmetic processing apparatus | |
CN105930100B (zh) | 一种优化usim卡文件读写速度及频率的实现方法 | |
US20160196211A1 (en) | Cache Device, Cache System, and Cache Method | |
KR101771183B1 (ko) | 인메모리 캐시를 관리하는 방법 | |
CN105072048B (zh) | 一种报文存储调度方法及装置 | |
CN103377085B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |