用于动态地重新配置多核系统的操作系统的设备和方法

文档序号:6397448阅读:129来源:国知局
专利名称:用于动态地重新配置多核系统的操作系统的设备和方法
技术领域
下面描述的一个或多个示例性实施例涉及一种用于动态地重新配置多核系统的操作系统(OS)的设备和方法,其中,所述设备和方法可提供动态并且有效地管理可重新配置的资源的方案。
背景技术
由于对应用的低功率和高性能的需求的增加,采用多个处理核的多核系统呈上升趋势。为了有效地管理多核系统的资源,经常使用一种将多核系统划分为相对小的分区并将分区分配到单独的应用的方法。图1A和图1B分别示出传统的基于管理程序的多核OS和传统的基于微内核的多核OS的示图。参照图1A,可使用管理程序110对资源进行划分,并且可对于每个划分的资源执行OS 120和应用130。然而,缺点在于:划分的资源在系统和OS 120的初始化期间保持不变。参照图1B,仅可提供OS 150的最小功能(例如,资源管理或多核之间的通信),并且可在单独的分区中提供其他功能作为服务。另外,可基于应用的需求动态地分配分区。然而,由于OS的分 区需要被固定和分配,因此多核的可用性会减小。换句话说,由于部分或全部核的固定功能,传统的设计会具有核的低可用性问题。另外,缺点在于:由于添加层(例如微内核、管理程序等),OS系统调用的响应时间被延长。

发明内容
前述和/或其他方面通过提供一种用于动态地重新配置多核系统的操作系统
(OS)的设备来实现,所述设备包括:应用类型确定单元,用于确定执行的应用的类型;os重新配置单元,用于基于确定的应用的类型禁用OS中的至少一个功能,并用于重新配置OS。前述和/或其他方面通过提供一种动态地重新配置多核系统的OS的方法来实现,所述方法包括确定执行的应用的类型,基于确定的应用的类型禁用OS中的至少一个功能,并且重新配置OS。前述和/或其他方面通过提供一种动态地重新配置多核系统的OS的方法来实现。所述方法包括确定多核系统中将被执行的应用的类型,确定与将被执行的应用的类型相关的功能是必要的还是不必要的,并且当所述功能被确定是不必要的时,禁用与确定将被执行的应用的类型相关的功能。示例性实施例的其他方面、特征和/或优点将在下面的描述中部分地阐明,并且从描述中部分是清楚的,或者通过本公开的实施可以被理解。


从结合附图对示例性实施例的以下描述中,这些和/或其他方面及优点将变得清楚,并且更易于理解,其中:图1A和图1B分别示出传统的基于管理程序的多核操作系统(OS)和传统的基于微内核的多核OS的示图;图2示出根据示例性实施例的用于解释通过使用OS重新配置设备获得的效果的示图;图3示出根据示例性实施例的应用于用于动态地重新配置多核系统的OS的设备的16核系统的示图;图4示出根据示例性实施例的使用用于动态地重新配置多核系统的OS的设备来基于应用的类型设置OS分区的示例的示图;图5示出根据示例性实施例的使用用于动态地重新配置多核系统的OS的设备的应用的类型的示图;图6示出根据示例性实施例的使用用于动态地重新配置多核系统的OS的设备终止现有的应用并且启动新的应用的示例的示图;图7示出根据示例性实施例的动态地重新配置多核系统的OS的方法的流程图;图8A和图8B示出根据示例性实施例的用于解释通过使用动态地重新配置多核系统的OS的方法和设备 获得的效果的示图。
具体实施例方式现在将详细描述示例性实施例,其示例在附图中示出,其中,相同的标号始终指示相同的部件。下面通过参照附图来描述示例性实施例以解释本公开。根据示例性实施例的用于动态地重新配置多核系统的操作系统(OS)的设备可包括:应用类型确定单元,用于确定执行的应用的类型;os重新配置单元,用于基于确定的应用的类型,仅激活OS中的至少一个功能,并且用于重新配置OS。在下文中,所述用于动态地重新配置多核系统的OS的设备可被称为“OS重新配置设备”。OS重新配置设备可基于应用的类型禁用应用中未被使用的OS的功能,并且可去除系统开销,以提高整体的系统性能。在下文中,将进一步描述根据示例性实施例的用于动态地重新配置多核系统的OS的设备和方法。图2示出根据示例性实施例的用于解释通过使用OS重新配置设备获得的效果的示图。当使用OS重新配置设备时,所有的核可被分配用来执行应用,因此,所述核可具有高可用性。另外,由于OS重新配置设备不需要单独的层,因此不会需要对于OS系统调用的长响应时间。此外,当使用OS重新配置设备时,可基于将被执行的应用的特征,对于每个分区动态地重设OS 230的功能。例如,参照图2,在用于执行流应用210的分区中,对于每个核仅可分配单任务220,并且可通过排除多任务功能等来减少OS执行开销。图3示出根据示例性实施例的应用于OS重新配置设备的16核系统的示图。虽然假定图3的系统310包括16个核和四个动态随机存取存储器(DRAM),但是示例性实施例不应该受限于特定数量的资源。图3的16核系统可基于下面描述的情形进行操作。用户可启动应用O 320。应用0320的类型可由包括在OS重新配置设备中的应用类型确定单元来确定。作为示例,应用O 320可被确定为流处理类型。例如,应用类型确定单元可验证执行的应用,并且可将验证的应用的类型确定为流处理类型、数据并行处理类型和多线程类型中的至少一个。包括在OS重新配置设备中的OS重新配置单元可基于确定的应用的类型分配系统中可分配的OS分区,并且可重新配置分配的OS分区。例如,OS重新配置单元可为应用0320分配资源分区。可由用户或加载器(loader)确定和请求所需求的资源量,例如,核的数量、存储器大小等,并且OS重新配置单元可分析系统的可用资源,并且可适当地分配可用资源。在这个例子中,四个核(即核O、核1、核4、核5)和邻近所述四个核的DRAMO可被分配。所述四个核和DRAM O可被用作OS分区O 330的资源。OS重新配置单元可基于应用的类型(例如,流处理类型)设置将被用于流水线的相应OS分区。以同样的方式,当用户以多线程类型启动应用I 340时,资源(例如,核2、核3、和6、核7和DRAM I)可被分配,与应用I 340相应的OS分区I 350可被设置为用于对称多处理(SMP)。 例如,OS重新配置单元可将分配的OS分区设置为用于流水线、分散-收集、SMP中的至少一个,并且可重新配置OS。图4示出根据示例性实施例的使用OS重新配置设备基于应用的类型来设置OS分区的示例的示图。另外,图5示出根据示例性实施例的用于解释使用OS重新配置设备的应用的类型的示图。如图4的410行所示,包括在OS重新配置设备中的应用类型确定单元可如上所述验证执行的应用,并且可将验证的应用的类型确定为流处理类型、数据并行处理类型和多线程类型中的至少一个。随后,如图4的420行所示,包括在OS重新配置设备中的OS重新配置单元可验证确定的应用的类型,并且可将分配的OS分区设置为用于流水线、分散-收集、SMP中的至少一个,并且可重新配置OS。再次参照图4,可根据由OS重新配置设备分配的OS分区,激活或者禁用各种功能。所述各种功能(如图4的430行所示)包括时钟处理(tick handling)、多任务、负载平衡、IPC和同步,但是其他未被列出的功能可同样被激活或禁用。在图4中,“X”表示禁用的功能,而“O”表示激活的功能。在一个示例中,当分配的OS分区被设置为用于流水线时,OS重新配置单元可仅激活OS中任务之间的数据分布功能和任务之间的负载平衡功能,并且可重新配置OS。在另一示例中,当分配的OS分区被设置为用于分散-收集时,OS重新配置单元可仅激活OS中任务之间的通信功能和任务之间的同步功能,并且可重新配置OS。在另一示例中,当分配的OS分区被设置为用于SMP时,OS重新配置单元可激活OS的所有功能,并且可重新配置OS。具体地,如图4的440列所示,当应用具有图5的流处理类型510时,OS重新配置单元可将分配的OS分区设置为用于流水线。在这种情况下,参照图4,如图4的440列所示,OS重新配置单元可对于每个核执行单任务,并且可禁用除了任务之间的通信功能和任务之间的同步功能以外的功能,其中,时钟处理功能、多任务功能和负载平衡功能均被指示为禁用,IPC和同步功能被指示为激活。当预定功能被禁用时,会减少所述预定功能的运行时间开销,并且因此可提高应用的性能。例如,当应用具有图5的数据并行处理类型520时,OS重新配置单元可将分配的OS分区设置为用于分散-收集。当分配的OS分区被设置为用于分散-收集时,OS重新配置单元可激活OS中任务之间的通信功能和任务之间的同步功能,并且可重新配置OS。另外,当分配的OS分区被设置为用于分散-收集时,对于每个核可执行单工作任务,并且数据可在任务之间动态地分布,并且因此会额外地需要负载平衡功能。其他功能可被禁用。如图4的450列所示,时钟处理功能和多任务功能均被指示为禁用,并且,负载平衡功能、IPC和同步功能均被指示为激活。另外,当应用具有图5的多线程类型530时,OS重新配置单元可将分配的OS分区设置为用于SMP。如图4的460列所`示,当分配的OS分区被设置为用于SMP时,OS重新配置单元可激活OS的所有功能,其中,时钟处理功能、多任务功能、负载平衡功能、IPC和同步功能均被指示为激活。因此,当基于应用的类型,OS的功能被确定为不必要的或者不需要的时,可通过去除相应的开销提高系统的性能。所述功能可包括开销功能。更具体地说,所述功能可包括以下功能中的一个或多个:时钟处理功能、多任务功能、负载平衡功能、IPC和同步功能。在一个实施例中,当功能对于特定应用的适当执行而言是不需要的或者当所述功能在特定应用中未被使用时,所述功能被确定为不必要的或者不需要的。图6示出根据示例性实施例的使用OS重新配置设备终止现有的应用并且启动新的应用的示例的示图。参照图6,当在系统610中,应用O被终止并且应用2620被启动时,OS分区O的资源(例如核O、核1、核4、核5和DRAM O)可被返回,OS分区2 630的资源可被分配。所述OS分区2 630的资源可包括例如核O、核1、核4、核5、核8、核9、核12、核13、DRAMO和DRAM2。如上所述,资源可按照情形的需求被有效地使用,而不是被固定于预定应用和OS。相应的OS分区可基于应用的类型(例如数据并行处理类型)被设置为用于分散-收集。图7示出根据示例性实施例的动态地重新配置多核系统的OS的方法的流程图。参照图7,在操作701中,当先前的应用被终止时,资源可返回到OS。
在操作702中,可选择新的应用。在操作703中,可启动选择的应用。在操作704中,通过OS,资源可被分配给启动的应用,即,当前执行的应用。所述资源可包括例如核、DRAM等。在操作705中,可基于先前的应用的类型确定当前执行的应用的类型是否被改变。当在操作705中当前执行的应用的类型被确定为已改变时,在操作706中,可确定当前执行的应用的类型,并且在操作707中,可基于确定的类型重新配置OS。相反地,当在操作705中当前执行的应用的类型被确定为保持不变时,可处理当前执行的应用而不是重新配置OS。图8A和图8B示出根据示例性实施例的用于解释通过使用用于动态地重新配置多核系统的OS的设备和方法获得的效果的示图。将参考图8A和图8B描述当使用用于动态地重新配置多核系统的OS的方法和设备时预期的效果。为了提供各种系统服务,OS会造成周期性的开销,例如如图8A所示的时钟处理810、负载监控820等。例如,当基于应用的类型,OS的上述功能是不需要的时,可通过去除相应的开销提高系统的性能。另外,如图SB所示,当应用的当前执行的任务由于问题(诸如等待数据或同步等)被阻止时,可发生任务切换830。随后,当阻止的任务恢复时,也可发生任务切换830。当基于应用的类型可执行的任 务的数量被限定为一个时,通过阻止任务切换830,相应的开销可被去除并且可实现更快的任务响应时间。根据上述示例性实施例的用于动态地重新配置多核系统的OS的方法可被记录在非临时性计算机可读介质中,其中,所述非临时性计算机可读介质包括由计算机实施的用于实现各种操作的程序指令。所述介质也可单独包括数据文件和数据结构等,或者包括与程序指令结合的数据文件和数据结构等。记录在介质上的程序指令可以是为了示例性实施例的目的特别设计和构造的,或者它们可以是计算机软件领域的技术人员熟知的且可得的。非临时性计算机可读介质的示例包括:磁介质(诸如硬盘、软盘和磁带)、光介质(诸如⑶-ROM盘和DVD)、磁光介质(诸如光盘)以及专门配置为用于存储和执行程序指令的硬件装置(诸如只读存储器(ROM),随机存取存储器(RAM)、闪存等)。程序指令的示例包括机器代码(诸如由编译器产生的机器代码)和文件(包含可由计算机使用解释器执行的更高级代码)两者。描述的硬件设备可被配置为充当一个或多个软件模块,以便执行上述示例性实施例的操作,反之亦然。本文描述的任何一个或多个软件模块可由该单元特有的专用处理器执行,或者由一个或多个模块共同的处理器执行。描述的方法可在通用计算机或处理器上执行,或者可在特定机器(诸如本文描述的用于动态地重新配置多核系统的OS的设备)上执行。虽然已经示出并描述了示例性实施例,但是本领域的技术人员将认识到:在不脱离本公开的原理和精神的情况下,可以对这些示例性实施例进行改变其中,本公开的范围由权利要求及其等同物限定。
权利要求
1.一种用于动态地重新配置多核系统的操作系统(OS)的设备,所述设备包括: 应用类型确定单元,用于确定执行的应用的类型; OS重新配置单元,用于基于确定的应用的类型禁用OS中的至少一个功能,并且用于重新配置OS。
2.如权利要求1所述的设备,其中,应用类型确定单元验证执行的应用,并将验证的应用的类型确定为流处理类型、数据并行处理类型和多线程类型中的至少一个。
3.如权利要求1所述的设备,其中,OS重新配置单元基于确定的应用的类型分配在多核系统中可分配的OS分区,并且重新配置分配的OS分区。
4.如权利要求3所述的设备,其中,OS重新配置单元将分配的OS分区设置为用于流水线、分散-收集和对称多处理(SMP)中的至少一个,并且重新配置OS。
5.如权利要求4所述的设备,其中,当分配的OS分区被设置为用于流水线时,OS重新配置单元激活OS中任务之间的数据分布功能和任务之间的负载平衡功能,同时禁用OS中的所述至少一个功能,并且重新配置OS。
6.如权利要求4所述的设备,其中,当分配的OS分区被设置为用于分散-收集时,OS重新配置单元激活OS中任务之间的通信功能和任务之间的同步功能,同时禁用OS中的所述至少一个功能,并且重新配置OS。
7.如权利要求4所述的设备,其中,当所述至少一个功能被确定为对于执行的应用的类型的适当执行是不必要的时,禁用所述至少一个功能。
8.一种动态地重新配置多核系统的操作系统(OS)的方法,所述方法包括: 确定执行的应用的类型;` 基于确定的应用的类型禁用OS中的至少一个功能,并且重新配置OS。
9.如权利要求8所述的方法,其中,所述确定包括验证执行的应用,并将验证的应用的类型确定为流处理类型、数据并行处理类型和多线程类型中的至少一个。
10.如权利要求8所述的方法,其中,基于确定的应用的类型禁用OS中的至少一个功能,并且重新配置OS的步骤包括: 基于确定的应用的类型,分配在多核系统中可分配的OS分区; 重新配置分配的OS分区。
11.一种用于动态地重新配置多核系统的操作系统(OS)的方法,所述方法包括: 确定多核系统中将被执行的应用的类型; 确定与将被执行的应用的类型相关的功能是必要的还是不必要的; 当确定所述功能是不必要的时,禁用与将被执行的应用的类型相关的功能。
12.如权利要求11所述的方法,其中,所述功能包括开销功能。
13.如权利要求11所述的方法,其中,所述功能包括以下功能中的一个或多个:时钟处理功能、多任务功能、负载平衡功能、IPC和同步功能。
14.如权利要求11所述的方法,其中,当功能对于将被执行的应用的类型的适当执行是不必要的时,将所述功能确定为不必要的。
全文摘要
本发明提供了一种用于动态地重新配置多核系统的操作系统(OS)的设备和方法。所述设备可包括应用类型确定单元,用于确定执行的应用的类型;OS重新配置单元,用于基于确定的应用的类型仅激活OS中的至少一个功能,并且用于重新配置OS。
文档编号G06F9/445GK103226480SQ20131000261
公开日2013年7月31日 申请日期2013年1月5日 优先权日2012年1月5日
发明者林采石, 李承远, 李时和, 李在敦, 郑旻奎 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1