业务管理方法和装置、以及设备的制作方法

文档序号:6607400阅读:118来源:国知局
专利名称:业务管理方法和装置、以及设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种业务管理方法和装置、以及设备。
背景技术
在通信设备的应用中,不同的数据流会具有不同的优先级,例如,可以将数据流中的数据分为媒体面数据和控制面数据。对于媒体面数据,其实时性要求较高,但媒体面数据的处理流程较简单,处理逻辑较固定,例如,对于媒体面数据的处理主要是对数据包进行分析,之后从一个网口转发到另一个网口 ;对于控制面数据,其实时性要求较低,但控制面处理逻辑较为复杂。针对不同优先级的不同数据的处理差异,目前主要在设备上采用多核异构的运行模式,从而达到不同业务流程在多核系统上运行的目的。在多核异构的运行模式下,一个物理设备上可以运行多个操作系统,不同的操作系统分配以不同的物理核以及物理内存资源,并且,通常会将媒体面数据运行在一个操作系统上,但控制面数据运行在另一个操作系统上,此时,不同的操作系统间的调试和定位过程较为复杂,而且,由于不同操作系统之间的接口存在差异,因此会给应用程序的开发和调试带来不便,此外,多个操作系统的启动和引导过程更加复杂,启动延迟较大,且版本管理和启动流程控制较单操作系统也更为复杂。针对相关技术中多核异构的运行模式采用多个操作系统进行操作导致处理复杂度高、操作系统之间通信不便的问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中多核异构的运行模式下由于采用了多个操作系统导致处理复杂度高、操作系统之间通信不便的问题,本发明提出一种业务管理方法和装置、以及设备,能够借助单个操作系统实现多核异构的运行模式,从而有效减少处理复杂度、避免了操作系统间的通信和定位。本发明的技术方案是这样实现的一种业务管理方法,包括操作系统调度设备的所有CPU,并对调度的全部或部分CPU进行分组,得到多个 CPU集合;所述操作系统根据业务的实时性要求,将业务绑定到CPU集合上;所述操作系统控制绑定有业务的CPU集合对各自的业务进行处理。其中,所述根据业务的实时性要求将业务绑定到所述多个CPU集合上的操作包括绑定到同一个CPU集合上的业务的实时性业务参数在预设范围内进一步地,上述方法还包括所述操作系统将实时性业务参数小于或等于预定值的业务的软中断绑定到实时性业务参数大于预定值的业务对应的CPU集合中。进一步地,上述方法还包括
对于绑定有实时性业务参数小于或等于预定值的业务的CPU集合,所述操作系统对该CPU集合中每个CPU的本地时钟的处理周期进行调整,使调整后的处理周期高于预定值。进一步地,上述方法还包括在所述设备的所有CPU中任一 CPU进行信息更新之后,所述操作系统将更新的信息发送给需要对所述信息进行更新的其他CPU。进一步地,上述方法还包括对于绑定有实时性业务参数小于或等于预定值的业务,所述操作系统对该业务所占用的内存执行巨页映射操作。其中,所述操作系统根据业务的实时性要求对所述多个CPU集合进行业务绑定之后,上述方法还包括所述操作系统为业务分配内存,其中,对于绑定有实时性业务参数小于或等于预定值的业务的CPU集合,在所述操作系统为该业务分配内存的同时建立内存的物理地址和虚拟地址的映射。其中,将所述操作系统进行业务绑定后,上述方法还包括所述操作系统将内存中的所有地址执行对齐操作。进一步地,上述方法还包括所述操作系统将实时性业务参数小于或等于预定值的业务的工作队列线程绑定到实时性业务参数大于预定值的业务对应的CPU集合中。其中,所述操作系统对所述多个CPU集合分配的业务包括以下至少之一媒体面业务、控制面业务。一种业务管理装置,包括调度模块,用于调度所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU 集合;业务绑定模块,用于根据业务的实时性要求,将业务绑定到所述多个CPU集合上;控制模块,用于控制绑定有业务的CPU集合对各自的业务进行处理。一种设备,包括业务管理装置和多个CPU,所述业务管理装置与所述多个CPU通信,其中,所述业务管理装置包括调度模块,用于调度所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU 集合;业务绑定模块,用于根据业务的实时性要求,将业务绑定到所述多个CPU集合上;控制模块,用于控制绑定有业务的CPU集合对各自的业务进行处理。借助于本发明的技术方案,通过单个操作系统对多个CPU集合实现了基于业务实时性要求的业务绑定(分配),能够实现单操作系统的多核异构的运行模式,从而有效减少处理复杂度(例如,能够有效降低系统启动、系统引导、版本管理、系统调试等处理的复杂度)、避免了操作系统间的通信和定位,降低应用开发的复杂度。


图1是根据本发明实施例的业务管理方法的流程图;图2是根据本发明实施例的整体架构示意图;图3是根据本发明实施例的任务绑定的示意图;图4是根据本发明实施例的巨页映射示意图;图5是根据本发明实施例的业务管理装置的结构框图;图6是根据本发明实施例的设备的结构框图。
具体实施例方式图1是本发明实施例的业务管理方法的流程图,如图1所示,该方法包括步骤S101,操作系统调度设备的所有CPU,并对调度的全部或部分CPU进行分组, 得到多个CPU集合;步骤S103,操作系统根据业务的实时性要求将业务绑定到多个CPU集合上,其中, 绑定到同一个CPU集合上的业务的实时性业务参数在预设范围内;步骤S105,操作系统控制绑定有业务的CPU集合对各自的业务进行处理。例如,数据流可以分为控制流数据(对应于控制面业务)和媒体流数据(对应于媒体面业务)。对于控制流数据,网络驱动接收控制流数据之后,操作系统将控制流数据转发给绑定有控制面业务的CPU集合中的CPU,该CPU分析和解析控制流数据后执行具体的控制命令;对于媒体流数据,网卡驱动接收媒体流数据之后,操作系统将媒体流数据转发给绑定有媒体面业务的CPU集合中的CPU,该CPU解析和处理媒体流数据后执行具体的控制命令。借助于上述处理,通过单个操作系统对多个CPU集合实现了基于业务实时性要求的业务绑定,能够实现单操作系统的多核异构的运行模式,并且,由于仅采用了一个操作系统,因此能够使用统一的调试工具进行问题定位,且版本管理和系统引导的对象也仅是一个操作系统,因此能够减少管理和引导的复杂度;此外,单操作系统下的编程接口是统一的,仅使用一个宿主操作系统提供的编程原语,有助于应用程序的开发和维护。下面以实时性业务参数为业务的时延为例进行说明。假设实时性业务参数可以通过整数1至5来表示,假设有5个业务,业务1的实时性业务参数为1,业务2的实时性业务参数为2,业务3的实时性业务参数为3,业务4的实时性业务参数为4,业务5的实时性业务参数为5,在进行绑定时,如果CPU集合1对应的实时性业务参数范围为1至3,CPU集合2对应的实时性业务参数范围为4,CPU集合3对应的实时性业务参数范围为5,则在进行绑定时,需要将业务1至3绑定至CPU集合1,将业务 4绑定至CPU集合2,将业务5绑定至CPU集合3。例如,实时性业务参数可以为业务的时延,一般来说,业务的时延越小,业务的实时性要求越高,业务的时延越大,业务的实时性要求越低。为了清楚描述本发明实施例,下面以媒体面业务和控制面业务为例对本发明实施例进行说明,其中,媒体面业务为实时性要求高的业务,控制面业务为实时性要求低的业务,但并不限于此,其他业务的分配、以及利用其他方式划分后得到的不同类型的业务的分配,仍在本发明的保护范围内。假设设备设置有4个CPU,CPU 1、CPU 2、CPU 3和CPU 4,可以将CPUl作为一个 CPU集合,将CPU 2和CPU 3作为另一个CPU集合,之后,可以将媒体面业务绑定到CPU 1上,控制面业务绑定到CPU 2和CPU 3上,在具体实施过程中,在将不同的业务绑定到一个 CPU集合之后,操作系统还可以执行以下操作至少之一操作1、对于绑定有实时性业务参数小于或等于预定值的业务的CPU集合,操作系统禁止处理该CPU集合中的软中断,即,操作系统将实时性业务参数小于或等于预定值的业务的软中断绑定到实时性业务参数大于预定值的业务对应的CPU集合中。例如,对于绑定有实时性要求最高(或较高)的业务的CPU集合,操作系统可以优先禁止处理该CPU 集合中的软中断,例如,操作系统禁止处理CPU 1中的软中断(例如,禁止处理CPU 1中的 net-rx、net-tx、定时器软中断、tasklet软中断等),也可以减少该CPU 1中软中断的处理时间。操作2、对于绑定有实时性业务参数小于或等于预定值的业务的CPU集合,操作系统对该CPU集合中每个CPU的本地时钟的处理周期进行调整,使调整后的处理周期高于预定值。例如,对于绑定有实时性要求最高(或较高)的业务的CPU集合,操作系统对该CPU 集合中每个CPU的本地时钟的处理周期进行调整,使调整后的处理周期高于预定值。由于本地时钟中断周期性的产生,时钟中断处理函数会消耗CPU的指令周期,导致CPU的负荷加大,为了降低时钟中断的影响,可以对本地时钟中断进行优化,操作系统可以增大本地时钟的处理周期。操作3、在设备的所有CPU中任一 CPU进行信息更新之后,操作系统将更新的信息发送给需要对信息进行更新的其他CPU。为了减少无关核间中断的影响,在多核(即,多个 CPU,本文中将一个核视为一个CPU,对于目前具有多个核的CPU同样视为一个CPU)的环境下,不同的核之间会进行通信,主要是通过核间中断方式。例如,多核情况下cache的刷新、 任务创建和任务切换以及内存映射等操作,都需要将内存的修改同步反映到其它核上,具体可以通过核间中断通知其他核刷新cache,这时会发送大量的核间中断,媒体面核(绑定到媒体面的CPU,例如CPU 1)响应核间中断时会消耗CPU指令周期,导致CPU的负荷加大。 因此,需要操作系统区分必要与不必要的cache刷新,对于必要的cache刷新,需要进行核间中断,应当将cache发送给需要对cache进行刷新的核,而对于不必要的刷新操作,则可以不进行发送,从而减少IPI对媒体面的核性能影响。操作4、对于绑定有实时性业务参数小于或等于预定值的业务,操作系统对该业务所占用的内存执行巨页映射操作,例如,对于绑定有实时性要求最高(或较高)的业务,操作系统对该业务所占用的内存执行巨页操作,以禁止TLB表项的缺失。操作5,操作系统根据业务的实时性要求对多个CPU集合进行业务绑定之后,操作系统为业务分配内存,其中,对于绑定有实时性业务参数小于或等于预定值的业务的CPU 集合,在操作系统为该业务分配内存的同时建立内存的物理地址和虚拟地址的映射。例如, 操作系统根据业务的实时性要求对多个CPU集合进行业务绑定之后,操作系统需要为业务分配内存,其中,对于实时性要求最高(或较高)的业务,在操作系统为该业务分配内存的同时建立内存的物理地址和虚拟地址的映射,以禁止缺页异常。操作6,将操作系统进行业务绑定后,操作系统将内存中的所有地址执行对齐操作。操作7、操作系统将实时性业务参数小于或等于预定值的业务的工作队列线程绑定到实时性业务参数大于预定值的业务对应的CPU集合中,例如,操作系统将实时性要求最高(或较高)的业务的工作队列线程绑定到实时性要求最低的业务对应的CPU集合中。 通常,每个核都会对应一个工作队列线程,并且工作队列提供一种机制,允许其中一个核上同步等待其它核上的工作队列都执行完毕(称为flush work),例如,在数据面和媒体面的业务划分前提下,数据面上的工作队列线程由于优先级等原因可能无法即时得到调度,就需要将媒体面的工作队列线程绑定到控制面核上。其中,上述操作的操作4至操作6的目的均是为了减少内核异常的影响。媒体面应用运行在用户态,在运行过程中为了减少陷入内核的次数,造成额外处理器指令周期损耗(寄存器压栈,恢复,异常处理),应该考虑减少发生异常的次数,例如,TLB miss异常,缺页异常,未对齐异常,对于这三种异常,可以通过操作4至6来避免。此外,在上述操作1、2、4、5和7中,在进行操作之前,还可以设置一个实时性业务参数的预定值,且对于绑定有实时性业务参数小于或等于该预定值的业务的CPU集合,才执行操作1、2、4、5和7。并且,操作1、2、4、5和7中所采用的实时性业务参数的预定值可以彼此相同,也可以彼此不同。本发明提供一种多核异构运行的方法,根据业务的实时性要求,将不同的业务绑定分配到不同的CPU集合中,从而保证高实时性要求的业务能够充分利用CPU资源,优化 CPU的资源利用,减少低实时性要求的业务对高实时性要求的业务的影响。例如,可以将数据面应用的数据和媒体面应用的数据分配到不同的CPU集合中,从而使得媒体面应用能够充分利用CPU资源,有效避免媒体面应用的运行过程被无关事件打断的问题,减少了控制面的执行对媒体面的影响。下面结合具体的应用场景对本发明实施例进行详细说明。图2是根据本发明实施例的整体架构图,多核异构运行方法本质上是利用了操作系统的基本功能,在此基础上为了减少核间的相互影响,针对具体影响点进行优化,从而满足多核异构运行的性能需求。如图2所示,操作系统对物理核进行了绑定将控制面任务绑定到核1和核2上,将媒体面任务绑定到核3上,假设两种任务都作为操作系统的一个普通任务运行在用户态进程空间。它们通过的系统调用接口与内核进行通信,并获得内核的服务。内核主要包括内存管理,中断管理,调度管理,IPC管理,任务管理,文件管理等子模块。 通过对这些子模块的修改达到减少媒体面任务和控制面任务相互影响的目的,下面将具体描述实施过程。一、应用任务的绑定根据处理业务的类型,将任务分为控制面应用和媒体面应用。通过操作系统提供的CPU亲和性设置接口,将任务分别绑定到不同的核上,具体的绑定方式可以参见图3。如图3所示,设备包括4个CPU(即,4个核),即,COREl、C0RE 2,CORE 3和CORE 4,CORE 1上具有线程1至3,CORE 2上具有线程4和5,CORE 3上具有线程6和7,CORE 4上具有线程 8和n,在绑定应用时,可以将控制面应用的处理(即,控制面处理)绑定到CORE 1和CORE 2的CPU集合上,将媒体面应用的处理(即,媒体面处理)绑定到C0RE3、CORE 4上。二、工作队列内核线程的绑定将媒体面核(即上文所述的CORE 3和CORE 4)对应的工作队列内核线程(线程 6、7、8、n)绑定到控制面核(即,上文所述的CORE 1和/或C0RE2)上。工作队列线程名字为events,该队列是由系统创建的工作队列线程,每个CPU对应一个工作线程,默认绑定到该CPU上。通过调用schedule_work将一个回调函数结构体work_struce挂接到当前运行的CPU对应的工作队列链表中,并唤醒当前CPU对应的工作者线程。在正常情况下,工作队列线程处理各自队列上挂接的函数,互不影响,但是,在出现工作队列之间的同步的情况下,例如,在调用flush_w0rkqueue函数的时候,会等待所有工作队列上挂起的任务执行完毕。如果flushjorkqueue由控制面上的任务发起,而媒体面工作队列有挂起的工作,则控制面就会在flush_w0rkqueue发生阻塞,一直等待到媒体面工作队列处理完毕。但是如果媒体面线程的应用优先级高于控制面线程的应用优先级,就会造成其无法调度执行,出现控制面核死锁状态。为了避免这一情况,需要将媒体面核上的工作队列进行绑定。通过操作系统的CPU绑定接口,将其绑定到控制面核上,避免死锁发生,由于在控制面核上绑定的业务对实时性要求不高,工作队列控制面核上运行不会被高优先级任务一直抢占,因此可以保证在进行flushjorkqueue的时候不会发生死锁。三、中断的绑定操作系统提供接口可以将中断绑定到一个或多个核上。很多使用中断的设备驱动程序(例如,网卡驱动)通常会在中断处理函数中完成收包工作,然后调度软中断任务处理协议栈相关的工作,而在操作系统中每个核对应一个软中断处理线程,为了避免中断出现在高实时性要求的业务所对应的核(CPU或CPU集合)上,例如,为了避免媒体面核处理无关的中断和软中断,需要进行中断亲和性的设置,将媒体面核不需要处理的中断绑定到控制面核上,这样就能够在媒体面核运行的媒体面业务的过程中,避免媒体面业务被无关事件打扰。四、时钟中断的优化操作系统对于主核(第一个引导的核)存在一个全局时钟,其他的核分别有一个本地时钟。为了达到减少媒体面核在处理时钟中断消耗的指令周期的目的,可以降低媒体面核上本地时钟中断的产生频率。降低本地时钟中断频率需要根据不同架构修改内核时钟中断相关代码。例如,为了降低本地时钟中断的频率,在定时器初始化过程中,需要设置定时器的硬件寄存器,以控制硬件产生定时中断的频率,增加中断产生的时间间隔(具体设置的值与硬件相关)。对于没有高精度定时器的情况,可以通过对本地时钟进行调整,对时钟中断产生频率进行重新设置,例如,可以直接降低时钟的频率;对于配置了高精度定时器的设备,可以在每次时钟中断发生的时候对定时器进行调整(例如,编程),根据当前时间设置下一次触发时钟中断的间隔,通过增大这个间隔值达到调慢本地时钟的目的。五、内存及时映射通常,默认的内存分配采用的是请求分页策略,S卩,分配的虚拟内存不会立即建立物理页面的映射,而是在访问到这些页面的时候,才会触发缺页异常,并在异常处理中完成物理页面的分配和映射。由于从用户态到核心态的模式切换还会带来开销,为了减少在媒体面应用在运行过程中发生上述的请求分页过程,需要对内核的内存管理部分进行修改, 使其支持内存即时映射。用户态程序主要通过mmap或brk系统调用分配内存,在分配内存的时候,可以立即建立到物理页面的映射。六、应用程序巨页方式进行内存映射,减少TLB Miss ( S卩,上文所述的TLB表项的缺失)异常
在操作系统加载应用程序的时候,会解析ELF文件,并为代码段、数据段分配虚拟地址空间。在程序执行的时候,访问代码段或数据段的内容时,会触发缺页异常,在缺页异常处理函数中会完成物理页面的分配和读取。默认情况下,操作系统会对物理内存按照4K 大小进行分页。4K的页面大小是一种折中的选择,因为如果页面大小分得更小,则管理这些页面需要消耗更多的内存,相应地,TLB表项的数目是硬件确定的,在页面减小后TLB映射的物理内存会减小,这样会造成更多的TLB MISS发生,对性能产生影响;另一方面,如果页面太大,由于内存分配以页为单位,在仅需要小块内存的情况下也需要分配整个页面,会引起较大浪费。对于媒体面应用来说,为了优化系统性能,需要减少发生TLB MISS异常的次数。具体地,可以执行以下操作加载应用程序,内核调用elf_map映射代码段和数据段;计算代码段或数据段的大小,并根据大小确定合适的页大小,其中,页面大小的确定原则是 代码段和数据段能容纳在一个页面范围内,不需要跨多个页面;根据页大小计算需要分配的内存大小(按巨页大小对齐,如图4所示,可以将16K作为巨页);为代码段或数据段分配物理页面(此时分配的物理页面仍然可以采用默认的4K大小的物理页);在第一次访问代码段或数据段内容的时候触发缺页异常;将对应的页表项写入tlb中。七、减少未对齐异常在操作系统中,异常处理会发生从用户态到内核态的切换。为了减少媒体面应用进入内核异常的次数,需要对应用程序进行优化,优选地,可以对程序中的变量进行对齐, 并使用编译器中的宏进行控制。八、核间中断的优化核间中断在多核系统中主要用于不同核之间的通信,例如,在cache的同步中,会大量使用了核间中断。具体地,可以执行以下操作其中一个核修改页表项;刷新本地CPU 的cache ;判断当前任务的内存空间是否被其它任务引用。如果没有引用则只刷新当前CPU 的cache,并标记当前任务在其它CPU上的cache失效;如果当前任务内存空间被其它任务引用,则需要发送核间中断,通知其它CPU刷新cache。但不是所有情况都需要发送,还需进一步判断该任务在其它核上是否已经标记了 cache无效;如果已经标记则不需再发送核间中断。进行任务切换的时候,调度器会自动为其分配新的cache上下文。图5是根据本发明实施例的业务管理装置的结构框图,如图5所示,该装置包括调度模块51,用于调度所有CPU,并对调度的全部或部分CPU进行分组,得到多个 CPU集合;业务绑定模块52,连接至调度模块51,用于根据业务的实时性要求将业务绑定到所述多个CPU集合上,其中,绑定到同一个CPU集合上的业务的实时性业务参数在预设范围内;控制模块53,连接至业务分配模块52,用于控制绑定有业务的CPU集合对各自的业务进行处理。图6是根据本发明实施例的设备的结构框图,如图6所示,该设备包括业务管理装置和多个CPU,业务管理装置与多个CPU通信,其中,业务管理装置包括调度模块51,用于调度所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU集合;业务绑定模块52, 连接至调度模块51,用于根据业务的实时性要求将业务绑定到所述多个CPU集合上,其中, 绑定到同一个CPU集合上的业务的实时性业务参数在预设范围内;控制模块53,连接至业务分配模块52,用于控制绑定有业务的CPU集合对各自的业务进行处理。综上所述,借助于本发明的上述技术方案,通过单个操作系统对多个CPU集合实现了基于业务实时性要求的业务绑定,能够实现单操作系统的多核异构的运行模式,并且, 由于仅采用了一个操作系统,因此能够使用统一的调试工具进行问题定位,且版本管理和系统引导的对象也仅是一个操作系统,因此能够减少管理和引导的复杂度;此外,单操作系统下的编程接口是统一的,仅使用一个宿主操作系统提供的编程原语,有助于应用程序的开发和维护,并且能够避免操作系统间复杂的通信和定位。图5、图6是与前面方法对应的装置和设备,装置和设备的工作过程以及工作原理在方法部分已经进行了详细描述,在此不再赘述,参照方法中相应部分的描述即可。需要说明的是,对于其他的实时性业务参数,如果该实时性业务参数对实时性要求的表示方式为实时性业务参数值越大,业务的实时性要求越高(相应地,如果该实时性业务参数值越小,业务的实时性要求越低),则需要执行以下操作操作系统将实时性业务参数大于或等于预定值的业务的软中断绑定到实时性业务参数小于预定值的业务对应的 CPU集合中;对于绑定有实时性业务参数大于或等于预定值的业务的CPU集合,操作系统对该CPU集合中每个CPU的本地时钟的处理周期进行调整,使调整后的处理周期高于预定值; 对于绑定有实时性业务参数大于或等于预定值的业务,操作系统对该业务所占用的内存执行巨页映射操作;操作系统根据业务的实时性要求对多个CPU集合进行业务绑定之后,操作系统为业务分配内存,其中,对于绑定有实时性业务参数大于或等于预定值的业务的CPU 集合,在操作系统为该业务分配内存的同时建立内存的物理地址和虚拟地址的映射;操作系统将实时性业务参数大于或等于预定值的业务的工作队列线程绑定到实时性业务参数小于预定值的业务对应的CPU集合中。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种业务管理方法,其特征在于,包括操作系统调度设备的所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU集合;所述操作系统根据业务的实时性要求,将业务绑定到所述多个CPU集合上; 所述操作系统控制绑定有业务的CPU集合对各自的业务进行处理。
2.根据权利要求1所述的业务管理方法,其特征在于,所述根据业务的实时性要求将业务绑定到所述多个CPU集合上的操作包括绑定到同一个CPU集合上的业务的实时性业务参数在预设范围内。
3.根据权利要求2所述的业务管理方法,其特征在于,还包括所述操作系统将实时性业务参数小于或等于预定值的业务的软中断绑定到实时性业务参数大于预定值的业务对应的CPU集合中。
4.根据权利要求2所述的业务管理方法,其特征在于,还包括对于绑定有实时性业务参数小于或等于预定值的业务的CPU集合,所述操作系统对该 CPU集合中每个CPU的本地时钟的处理周期进行调整,使调整后的处理周期高于预定值。
5.根据权利要求2所述的业务管理方法,其特征在于,还包括在所述设备的所有CPU中任一 CPU进行信息更新之后,所述操作系统将更新的信息发送给需要对所述信息进行更新的其他CPU。
6.根据权利要求2所述的业务管理方法,其特征在于,还包括对于绑定有实时性业务参数小于或等于预定值的业务,所述操作系统对该业务所占用的内存执行巨页映射操作。
7.根据权利要求2所述的业务管理方法,其特征在于,所述操作系统根据业务的实时性要求对所述多个CPU集合进行业务绑定之后,所述方法还包括所述操作系统为业务分配内存,其中,对于绑定有实时性业务参数小于或等于预定值的业务的CPU集合,在所述操作系统为该业务分配内存的同时建立内存的物理地址和虚拟地址的映射。
8.根据权利要求2所述的业务管理方法,其特征在于,将所述操作系统进行业务绑定后,所述方法还包括所述操作系统将内存中的所有地址执行对齐操作。
9.根据权利要求2所述的业务管理方法,其特征在于,还包括所述操作系统将实时性业务参数小于或等于预定值的业务的工作队列线程绑定到实时性业务参数大于预定值的业务对应的CPU集合中。
10.根据权利要求1至9中任一项所述的业务管理方法,其特征在于,所述操作系统对所述多个CPU集合分配的业务包括以下至少之一媒体面业务、控制面业务。
11.一种业务管理装置,其特征在于,包括调度模块,用于调度所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU集合;业务绑定模块,用于根据业务的实时性要求,将业务绑定到所述多个CPU集合上; 控制模块,用于控制绑定有业务的CPU集合对各自的业务进行处理。
12.—种设备,其特征在于,包括业务管理装置和多个CPU,所述业务管理装置与所述多个CPU通信,其中,所述业务管理装置包括调度模块,用于调度所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU集合;业务绑定模块,用于根据业务的实时性要求,将业务绑定到所述多个CPU集合上; 控制模块,用于控制绑定有业务的CPU集合对各自的业务进行处理。
全文摘要
本发明公开了一种业务管理方法和装置、以及设备,其中,该方法包括操作系统调度设备的所有CPU,并对调度的全部或部分CPU进行分组,得到多个CPU集合;操作系统根据业务的实时性要求,将业务绑定到CPU集合上;操作系统控制绑定有业务的CPU集合对各自的业务进行处理。本发明通过单个操作系统对多个CPU集合实现了基于业务实时性要求的业务分配,能够实现单操作系统的多核异构的运行模式,从而有效减少处理复杂度(例如,能够有效降低系统启动、系统引导、版本管理、系统调试等处理的复杂度)、避免了操作系统间的通信和定位,降低应用开发的复杂度。
文档编号G06F9/50GK102375761SQ20101024805
公开日2012年3月14日 申请日期2010年8月6日 优先权日2010年8月6日
发明者向红, 李翌, 谢宝友 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1