一种时钟任务处理方法、装置及设备的制造方法_2

文档序号:9929438阅读:来源:国知局
时钟任务处理设备,所述设备包括多核处理器,存储器,时钟源和通信总线,所述多核处理器、时钟源以及存储器通过所述通信总线连接,所述多核处理器包括多个数据核和多个控制核,
[0028]所述时钟源用于产生时钟中断,并将时钟中断同步至所述多核处理器中的核,所述多核处理器用于调用所述存储器中的指令,执行上述方法设计中的时钟任务处理方法。
[0029]采用本发明提供的时钟任务处理方法,所述操作系统在通过所述多个数据核中的至少一个数据核运行待处理业务的业务进程之前或过程中,关闭运行所述业务进程的所述至少一个数据核的时钟中断,这样,所述方法可以保证所述至少一个数据核在后续运行所述业务进程时,不会出现时钟中断,因此,减少了业务的抖动,降低了业务的延时,提高了所述操作系统的处理效率,另外,所述操作系统通过所述多个控制核中的至少一个控制核处理业务进程提交的时钟任务,如所述业务进程提交的至少一个第一时钟任务,可以保证所述操作系统的业务功能正常运行,使时钟任务的处理不会出现延迟和阻塞的情况。
【附图说明】
[0030]图1为本发明实施例提供的一种多核计算机的结构示意图;
[0031 ]图2为本发明实施例提供的一种时钟任务处理方法的流程图;
[0032]图3为本发明实施例提供的一种控制核上报状态信息的时机示意图;
[0033]图4为本发明实施例提供的一种业务处理实例流程图;
[0034]图5为本发明实施例提供的一种时钟任务处理装置的结构示意图;
[0035]图6为本发明实施例提供的一种时钟任务处理装置实例图;
[0036]图7为本发明实施例提供的另一种时钟任务处理装置实例图;
[0037]图8为本发明实施例提供的再一种时钟任务处理装置实例图;
[0038]图9为本发明实施例提供的再一种时钟任务处理装置实例图;
[0039]图10为本发明实施例提供的再一种时钟任务处理装置实例图;
[0040]图11为本发明实施例提供的再一种时钟任务处理装置实例图;
[0041]图12为本发明实施例提供的一种时钟任务处理设备的结构示意图。
【具体实施方式】
[0042]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0043]本发明实施例提供一种时钟任务处理方法、装置及设备,用以解决传统的操作系统中的数据核在处理业务数据时,业务的延时或者抖动较严重,影响业务的处理效率的问题。其中,本发明所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
[0044]以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
[0045]“多个”是指两个或两个以上。
[0046]“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符一般表示前后关联对象是一种“或”的关系。
[0047]本发明实施例中,多核计算机的操作系统通过多个数据核中的至少一个数据核运行待处理业务的至少一个业务进程,并关闭所述至少一个数据核的时钟中断;再通过多个控制核中的至少一个控制核处理所述至少一个业务进程提交的时钟任务。其中,所述操作系统开始通过所述至少一个数据核运行所述至少一个业务进程和关闭所述至少一个数据核的时钟中断两个步骤之间不存在先后顺序,这样,由于所述操作系统在通过所述至少一个数据核运行所述至少一个业务进程之前或过程中,关闭了所述至少一个数据核的时钟中断,因此,所述至少一个数据核在后续运行所述至少一个业务进程时,不会出现时钟中断,减少了业务的抖动,降低了业务的延时,提高了所述操作系统的处理效率,并且由于所述操作系统通过不会处理业务数据的控制核处理所述至少一个业务进程提交的时钟任务,可以使时钟任务的处理不会出现延迟和阻塞的情况,保证所述操作系统的业务功能正常运行。
[0048]本发明实施例提供的时钟任务处理方法,适用于多核计算机的操作系统,所述多核计算机的硬件层中包括多个核,所述多核计算机的结构如图1所示,其中,所述多个核可以分为两类,数据核和控制核,所述数据核用于处理待处理业务的业务数据,构成所述多核操作系统的数据面;所述控制核用于实现控制、维护和系统管理等功能,构成所述多核操作系统的控制面。
[0049]在有待处理业务需要所述多核计算机的操作系统处理时,所述操作系统通过多个数据核中的至少一个数据核运行该待处理业务的至少一个业务进程,并关闭所述至少一个数据核的时钟中断,然后通过多个控制核中的部分或全部控制核处理所述至少一个业务进程提交的至少一个第一时钟任务,即将所述至少一个第一时钟任务提交到设定的任务队列中,以及将所述至少一个数据核中的至少一个第二时钟任务迀移到所述设定的任务队列中,所述第一时钟任务和所述第二时钟任务可以为延时任务、读拷贝修改锁(Read-CopyUpdate,RCU)回调(cal Iback)任务等依赖时钟中断才能完成的任务。所述设定的任务队列根据时钟任务的任务类型不同而具体设定。
[0050]其中,所述数据核和所述控制核的数目可以通过用户配置,或者所述操作系统设置,且在所述操作系统通过所述至少一个数据核运行所述待处理业务的所述至少一个业务进程中,所述操作系统可以检测所述待处理业务的数据包的数目,根据所述数据包的数目,调整数据核和控制核的数目,提高核的资源利用率和所述操作系统的扩展性。
[0051]采用所述如图1所示的多核计算机处理业务,由于所述操作系统可以在通过所述至少一个数据核运行所述至少一个业务进程之前或过程中,关闭运行所述至少一个业务进程的数据核的时钟中断,因此,所述至少一个数据核在后续运行所述至少一个业务进程时,不会出现时钟中断,减少了业务的抖动,降低了业务的延时,提高了所述操作系统的处理效率,并且由于所述操作系统通过不会处理业务数据的控制核处理所述至少一个业务进程提交的时钟任务,可以使时钟任务的处理不会出现延迟和阻塞的情况,保证所述操作系统的业务功能正常运行。
[0052]参阅图2所示,本发明实施例提供的一种时钟任务处理方法,应用于如图1所示的多核计算机的操作系统,该操作系统运行于包括多个控制核和多个数据核的物理主机。其中,所述多个控制核和所述多个数据核的数目(所述多个数据核和所述多个控制核的比例)可以通过用户设置,或者所述操作系统预设,该方法的处理流程包括:
[0053]步骤201:多核计算机的操作系统通过多个数据核中的至少一个数据核运行待运行业务的至少一个业务进程。
[0054]所述操作系统可以控制运行所述待运行业务的所述至少一个业务进程的数据核的数目,可选的,可以通过所述多个数据核中的所有数据核来运行所述至少一个业务进程,也可以通过所述多个数据核中的部分数据核来运行所述至少一个业务进程,具体的,运行所述至少一个业务进程的数据核的数目可以通过所述操作系统预估所述业务进程的数据包的数目来确定,以及结合所述多个数据核中每个数据核的空闲资源和负载情况等,设定具体由哪个数据核运行所述至少一个业务进程。
[0055]可选的,在所述至少一个数据核还运行有其他进程的情况下,在所述操作系统通过所述至少一个数据核运行所述至少一个业务进程,且关闭所述至少一个数据核的时钟中断之前,所述方法还包括:
[0056]所述操作系统将所述至少一个数据核中的所述其他进程迀移至所述多个控制核,或将所述至少一个数据核中的所述其他进程迀移至所述多个数据核中除所述至少一个数据核以外的数据核中。
[0057]传统的,每个数据核均可以运行至少一个进程,因此,在所述操作系统确定存在待处理业务的情况下,所述至少一个数据核中可能会有其他进程,例如服务线程、后台线程,以及处理所述操作系统工作的进程等,这些进程中某些进程有可能在所述至少一个数据核的时钟中断关闭后,运行异常,并且所述至少一个数据核同时运行其他进程和待处理业务的业务进程,也降低了所述至少一个数据核的业务处理效率,因此,将所述至少一个数据核中的所有其他进程迀移至所述多个控制核,或所述多个数据核中除所述至少一个数据核以外的数据核中。这样,可以将所述至少一个数据核中的进程清空,直接运行所述待处理业务的至少一个业务进程,提高所述至少一个数据核处理所述待处理业务的效率,同时保证了所述操作系统的安全性。
[0058]其中,所述操作系统在将所述至少一个数据核中的所有其他进程迀移至所述控制核,或除所述至少一个数据核以外的数据核中时,可以通过控制分组化(Contro I group,Cgroup)CPU配置(cpuset)子系统实现,或者通过控制内核参数(isolcpus)实现。
[0059]在步骤201中,所述操作系统通过所述至少一个数据核运行所述至少一个业务进程,需要所述操作系统对所述至少一个数据核进行业务配置,即将所述待处理业务的所述至少一个业务进程与所述至少一个数据核进行绑定,这样,所述待处理业务的所述至少一个业务进程仅运行在所述至少一个数据核中,避免所述待处理业务的业务进程发生迀移。
[0060]步骤202:所述操作系统关闭所述至少一个数据核的时钟中断。
[0061]步骤202与步骤201之间不存在先后顺序,即所述操作系统可以先开始通过所述至少一个数据核运行所述业务进程,并在所述至少一个数据核运行所述至少一个业务进程的过程中,关闭所述至少一个数据核的时钟中断;或者
[0062]所述操作系统先关闭所述至少一个数据核的时钟中断,再开始通过所述至少一个数据核运行所述至少一个业务进程。
[0063]这样,由于所述操作系统在所述至少一个数据核在运行所述至少一个业务进程之前或过程中,关闭所述至少一个数据核的时钟中断,因此,所述至少一个数据核在后续运行所述至少一个业务进程时,不会出现时钟中断,减少了业务的抖动,降低了业务的延时,提高了所述操作系统的处理效率。由于在第一种场景中,所述至少一个数据核开始运行所述业务进程到关闭时钟中断的过程中,还会出现较少的时钟中断,因此,在第二种场景中,所述操作系统可以最大限度降低业务的时延,以及避免业务的抖动,提高了所述操作系统的业务性能、稳定性以及实时性。
[0064]在步骤202中,所述操作系统可以通过控制接口,接收用户或者其他设备发出的时钟中断控制指令(即关闭时钟中断指令),并根据所述关闭时钟
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1