CN100524286C - 一种多核处理系统及其管理方法 - Google Patents

一种多核处理系统及其管理方法 Download PDF

Info

Publication number
CN100524286C
CN100524286C CNB2007101764934A CN200710176493A CN100524286C CN 100524286 C CN100524286 C CN 100524286C CN B2007101764934 A CNB2007101764934 A CN B2007101764934A CN 200710176493 A CN200710176493 A CN 200710176493A CN 100524286 C CN100524286 C CN 100524286C
Authority
CN
China
Prior art keywords
operation system
privileged operation
module
processor
privileged
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
Application number
CNB2007101764934A
Other languages
English (en)
Other versions
CN101149728A (zh
Inventor
苗艳超
马捷
张翔
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2007101764934A priority Critical patent/CN100524286C/zh
Publication of CN101149728A publication Critical patent/CN101149728A/zh
Application granted granted Critical
Publication of CN100524286C publication Critical patent/CN100524286C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

本发明公开了一种解决对称多处理系统可扩展性问题的多核处理系统及其管理方法。该系统,包括多个处理器核和/或多个处理器、分区模块和启动模块:所述分区模块,用于解析由用户指定的各个分区的资源配置参数和启动参数并保存;所述分区包括至少一个处理器和/或一个处理器核;所述启动模块,用于启动特权操作系统和受特权操作系统管理的非特权操作系统。该管理方法,包括以下步骤:步骤S100,分区模块解析用户指定各个分区的资源配置参数,并保存;步骤S200,根据分区模块解析的分区资源配置参数,启动特权操作系统和受特权操作系统管理的非特权操作系统。本发明有效利用处理器资源,解决了对称多处理系统的可扩展性问题。

Description

一种多核处理系统及其管理方法
技术领域
本发明涉及计算机技术领域,特别涉及一种解决对称多处理系统(Symmetric Multi-Processing,SMP)可扩展性的多核处理系统及其管理方法。
背景技术
随着摩尔定律和多核技术的发展,对称多处理系统的可扩展性问题越来越突出,即由于处理器或处理器核间同步互斥的原因,整个系统的性能不能随着处理器或处理器核数目的增长而线性增长,甚至当处理器或处理器核数目过多时,系统性能会有逐渐下降的趋势。
SMP的全称是″对称多处理″(Symmetrical Multi-Processing)技术,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。它是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器之上。
图1表示现有技术的对称多处理系统结构,其中框4表示整个多核和/或多处理器系统的硬件平台,配置了多处理器核或多个处理器,图中表示出有8个处理器,分别用P1-P8表示,且图1中只标出处理器资源,其它资源省略。
如图1所示,标号3表示其中的一个处理器。
标号2表示传统对称多处理操作系统,它同时管理8个处理器和所有其它硬件资源,如输入输出资源。
标号1表示运行在对称多处理操作系统2上的应用程序。
但是,由于对称多处理系统的可扩展性问题,对称多处理操作系统2不能管理过多的处理器或处理器核,否则系统性能就会下降,并影响上层应用程序1的性能。
因此,如何更有效的利用多核和多处理器,并解决对称多处理系统的可扩展性问题,已经成为急需解决的问题。
发明内容
本发明要解决对称多处理系统的可扩展性问题,使整个系统的性能随着处理器和/或处理器核数目的增长而不断增长,从而提供一种扩展性好的多核处理系统及其管理方法。
为此目的,本发明采取如下技术方案:
一种多核处理系统,包括多个处理器核和/或多个处理器;其还包括分区模块和启动模块,其中:
所述分区模块,用于解析由用户指定的各个分区的资源配置参数和启动参数并保存;所述分区包括至少一个处理器和/或至少一个处理器核;
所述启动模块,用于根据所述分区模块解析的分区资源配置参数,启动用于访问硬件资源,负责输入输出,并和用户交互,以及给其它非特权操作系统分配任务的特权操作系统和受特权操作系统管理的用于执行所述特权操作系统分配的任务的非特权操作系统。
优选地,所述启动模块包括特权操作系统启动模块、非特权操作系统启动处理模块和非特权操作系统启动模块,其中:
所述特权操作系统启动模块,用于根据所述分区模块的分区配置,在一个分区的内存资源中保留所述特权操作系统的用于所述特权操作系统和所述非特权操作系统之间的通信缓冲区,完成所述特权操作系统的初始化,并加载非特权操作系统启动处理模块,完成特权操作系统启动;
所述非特权操作系统启动处理模块,用于在启动非特权操作系统时,根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,在用户指定的用于启动非特权操作系统的分区的内存资源中设置非特权操作系统代码映像和非特权操作系统的启动参数;
所述非特权操作系统启动模块在所述非特权操作系统启动处理模块之后执行,用于向所述用户指定的用于启动非特权操作系统的分区中的处理器和/或处理器核发出启动命令,使该处理器和/或处理器核在非特权操作系统代码映像处执行启动操作,并且在所述用户指定的用于启动非特权操作系统的分区的内存资源中保留非特权操作系统的通信缓冲区,完成非特权操作系统初始化,完成非特权操作系统启动。
优选地,所述特权操作系统启动模块使得所述特权操作系统在初始化完成后,还加载虚拟网卡模块;
所述非特权操作系统启动模块使得所述非特权操作系统在初始化完成后,还加载虚拟网卡模块;
所述虚拟网卡模块,用于操作系统间通信。
优选地,所述非特权操作系统启动处理模块,在启动非特权操作系统之前,还在所述用户指定的用于启动非特权操作系统的分区内的内存资源中设置跳板模块的跳板代码;
所述跳板模块,用于执行跳板代码,并修改跳板自身页表和非特权操作系统页表,完成跳转和处理器和/或处理器核模式转换;
所述非特权操作系统启动模块,用于向所述用户指定的用于启动非特权操作系统的分区中的处理器和/或处理器核发出启动命令,令其执行所述跳板模块;执行所述跳板模块使所述用户指定的用于启动非特权操作系统的分区中的处理器和/或处理器核根据所述跳板模块执行结果,跳转到非特权操作系统代码映像处执行启动操作。
优选地,所述用户输入的命令包括指定要启动的非特权操作系统的分区;所述非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码的起始地址以及非特权操作系统代码映像的起始地址。
优选地,还包括资源管理模块,用于利用异构式资源管理方式来管理多核处理系统的资源,使各个操作系统独立管理自己的内存和处理器资源和/或处理器核资源;所述多核处理系统的资源包括内存资源和处理器资源和/或处理器核资源及输入输出资源;特权操作系统能够访问系统的输入输出资源,非特权操作系统通过特权操作系统的代理访问输入输出资源。
一种多核处理系统的管理方法,包括以下步骤:
步骤S100,分区模块解析用户指定各个分区的资源配置参数,并保存,各个分区包括至少一个处理器和/或至少一个处理核;
步骤S200,根据分区模块解析的分区资源配置参数,启动用于访问硬件资源,负责输入输出,并和用户交互,以及给其它非特权操作系统分配任务的特权操作系统和受特权操作系统管理的用于执行所述特权操作系统分配的任务的非特权操作系统。
优选地,步骤S200具体包括下列步骤:
步骤S210,启动模块中的特权操作系统启动模块,根据分区模块的分区配置,在本分区的内存资源中,保留一块内存区域作为核心间通信缓冲区;
步骤S220,特权操作系统启动模块使特权操作系统完成自身的初始化并完成启动;
步骤S230,特权操作系统启动模块使特权操作系统加载启动模块中的非特权操作系统启动处理模块;
步骤S240,非特权操作系统启动处理模块根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,将非特权操作系统代码映像和非特权操作系统启动参数拷贝到要启动非特权操作系统的分区的内存区域;
步骤S250,非特权操作系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令使其到非特权操作系统映像处执行;
步骤S260,非特权操作系统启动模块使非特权操作系统修改内存管理内容,使非特权操作系统在自身分区内完成操作系统的启动,并保留核心间通信缓冲区,完成启动。
优选地,在所述步骤S230中,特权操作系统启动模块使特权操作系统还加载虚拟网卡模块;
在所述步骤S260中,非特权操作系统启动模块使非特权操作系统保留核心间通信缓冲区后,还加载虚拟网卡模块;
所述虚拟网卡模块用于操作系统之间的通信。
优选地,在步骤S240中,非特权操作系统启动处理模块根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数还将跳板模块的跳板代码拷贝到要启动非特权操作系统的分区的内存区域;
在所述步骤S250中,非特权操作系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令并使其执行跳板代码;执行所述跳板代码用于修改跳板自身页表和非特权操作系统页表,使其映射到非特权操作系统代码映像处,并使非特权操作系统的处理器和/或处理器核跳转到非特权操作系统映像处执行。
优选地,所述用户输入的命令包括指定要启动的非特权操作系统;所述非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码的起始地址以及非特权操作系统代码映像的起始地址。
优选地,所述修改内存管理内容包括限制页表映射范围,以及根据分区内存范围修改虚实地址转换方式。
优选地,还包括步骤S300,采用异构式资源管理方式来管理多核处理系统资源。所述多核处理系统的资源包括内存资源和处理器资源和/或处理器核资源及输入输出资源。
优选地,所述步骤S300具体包括以下步骤:
步骤S310,各个操作系统独立管理相应的内存资源和处理器资源和/或处理器核资源;
步骤S320,处理器资源和/或处理器核资源和内存资源经过共享协议,在分区之间共享;
步骤S330,特权操作系统能够访问系统的输入输出资源,非特权操作系统通过特权操作系统的代理才能访问输入输出资源。
本发明所产生的有益效果是:
(1)由于每个分区内的处理器核和/或处理器的数目相对较少,所以分区上的单个操作系统的性能可以随着处理器和/或处理器核数目的增长而不断增长,有效的利用了日益丰富的处理器资源。
(2)由于在所有分区之间通过操作系统的虚拟网卡模块建立一套基于内存操作的内部网络,使得各个分区上的操作系统可以高效地协同工作,并使整个多处理器核和/或多处理器系统取得很高的并行性能。
(3)本发明不需要任何特殊的硬件支持,可以在任何通用的平台上,很好的解决对称多处理系统的可扩展性问题。
(4)本发明提出的操作系统管理方法,大大增强了本系统的可管理性和灵活性。
(5)本发明采用异构式资源管理方式,加强了整个系统的安全性和功能隔离性。
附图说明
图1为传统的对称多处理系统结构图。
图2为本发明一实施例中的多核处理系统结构图。
图3为本发明一实施例中的多核处理系统管理方法的流程图。
图4为图3中步骤S200的具体流程图。
图5为图3中步骤S300的具体流程图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
如图2所示,为本发明的多核处理系统的结构图,包括多个处理器核和/或多个处理器,其还包括分区模块和启动模块。
分区模块:用户根据计算机的处理器和/或处理器核和内存配置,指定各个分区的资源配置,每个分区包括至少一个处理器和/或一个处理器核,并把每个分区的资源通过Grub参数传递给操作系统(例如,参数“cpumask=13,mem1=1024M,mem2=512M”表示整个系统有两个分区:第一个分区有1个单核处理器或处理器核,1024M内存;第二个分区有三个单核处理器和/或处理器核,512M内存)。分区模块解析这些参数,并保存在操作系统中。
启动模块:根据分区模块解析的分区资源配置参数,启动特权操作系统和受特权操作系统管理的非特权操作系统。
所述的启动模块,包括特权操作系统启动模块、非特权操作系统启动处理模块和非特权操作系统启动模块。其中:
所述特权操作系统启动模块,用于根据分区模块的分区配置,在第一分区的内存区域内配置保留自身的处理器和/或处理器核间通信缓冲区,利用Grub启动参数,完成自身的初始化,并加载非特权操作系统启动处理模块,以完成启动。优选地,所述特权操作系统启动模块使特权操作系统还加载虚拟网卡模块,用于通过共享内存来完成操作系统间的通信。
所述虚拟网卡模块,用于操作系统之间通信。该虚拟网卡模块使用软件模拟常规网卡的功能,将内存拷贝原语封装成消息传递原语,以在多个操作系统间提供高速通信,并遵守TCP/IP协议。
所述的非特权操作系统启动处理模块,用于在启动非特权操作系统时,根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,在用户指定的用于启动非特权操作系统的分区(比如第二分区)的内存区域内内设置非特权操作系统代码映像和非特权操作系统的启动参数。优选地,所述的非特权操作系统启动处理模块还在在所述用户指定的用于启动非特权操作系统的分区的内存区域内设置跳板模块的跳板代码;用户输入命令包括指定要启动第几个非特权操作系统。特权操作系统保存的用于非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码以及非特权操作系统代码映像的起始地址等。
所述跳板模块,用于执行跳板代码,完成部分初始化任务(如处理器和/或处理器核模式转变等),并修改跳板自身页表和非特权操作系统页表,完成跳转和处理器和/或处理器核模式转换。
所述非特权操作系统启动模块,向所述用户指定的用于启动非特权操作系统的分区中处理器和/或处理器核发出启动命令,令其执行跳板模块;所述跳板模块使非特权操作系统的处理器和/或处理器核根据跳板模块跳转到非特权操作系统代码映像处执行启动操作,并在所述用户指定的用于启动非特权操作系统的分区的内存区域内保留非特权操作系统通信缓冲区,完成非特权操作系统初始化,完成启动。优选地,所述非特权操作系统启动模块使非特权操作系统在所述用户指定的用于启动非特权操作系统的分区的内存区域内保留非特权操作系统通信缓冲区后,还使非特权操作系统加载用于操作系统间通信的虚拟网卡模块。
本发明的多核处理系统,通过分区的操作系统启动,可以使各个非特权操作系统并行启动,大大减小了整个系统的启动时间;同时,用户只需通过修改Grub参数,就可以自由选择各个多处理器核和/或者处理器和内存配置,其增强了整个系统的灵活性和可管理性;最后,用户可以在不影响特权核心操作系统的情况下,多次启动、关闭非特权核心操作系统,增强整个多核处理系统的可靠性。
更佳地,本发明的多核处理系统,还包括资源管理模块,用于利用异构式资源管理方式来管理多核处理系统的资源,其各个操作系统独立管理自己的内存和处理器资源和/或处理器核资源,所述多核处理系统的资源包括内存资源和处理器资源和/或处理器核资源及输入输出资源;处理器资源和/或处理器核资源和内存资源经过共享协议,可以在所述分区之间共享;只有特权操作系统可以访问系统的输入输出资源,非特权操作系统通过特权操作系统的代理才能访问输入输出资源。
所述代理输入输出资源的代理是一种现有技术,在本发明中不再一一详细描述。
如图2所示,计算机底层硬件配置了8个处理器,分别用标号15~22来表示。
作为一种可实现方式,本发明的实施例中,分区模块把它们分为四个处理器分区:第一处理器分区,包括处理器15;第二处理器分区,包括处理器16~17;第三处理器分区,包括处理器18~20;第四处理器分区,包括处理器21~22。
在每个处理器分区上可以运行一个对称多处理操作系统,对应地分别用标号9~12表示。
作为本发明的实施例,将操作系统9设置为特权操作系统,可以访问硬件资源(如输入输出资源),负责输入输出,并和用户交互,以及给其它非特权操作系统分配任务。其它操作系统10~12为非特权操作系统,主要用于执行特权操作系统9分配的任务,而且必须由特权操作系统9代理才能进行输入输出操作。由于各操作系统9~12管理的处理器数目都较少,所以各操作系统9~12的个体性能不会受到对称多处理系统可扩展性的影响,会随着处理器数目的增长而不断增长。
图2中,标号14表示一套基于内存操作的内部网络,负责各个操作系统9~12之间的通信,并支持TCP/IP协议。内部网络14包括位于每个操作系统中的虚拟网卡模块,图中仅用标号表示出位于操作系统9中的虚拟网卡模块13。在这种系统结构下,应用程序5~8可以并行的在操作系统9~12上运行,使整个系统取得很高的并行性能,有效的解决了对称多处理系统的可扩展性问题。
下面以Linux系统为例,进一步详细说明本发明的多核处理系统的管理方法,即本发明的多核管理方法,但是应当说明的是,本领域的技术人员,也可以利用本发明的技术方案,利用其熟知的计算机语言,实现本发明的多核处理系统,但这种实现也在本发明的保护范围之内。如图3所示,本发明的多核处理系统的管理方法包括以下步骤:
步骤S100,用户根据计算机的处理器和/或处理器核和内存配置,指定各个分区的资源,每个分区包括至少一个处理器和/或一个处理器核,并把每个分区的资源通过Grub参数传递给操作系统(例如,参数“cpumask=13,mem1=1024M,mem2=512M”表示整个系统有两个分区:第一个分区有1个单核处理器或处理器核,1024M内存;第二个分区有三个单核处理器和/或处理器核,512M内存)。分区模块解析这些参数,并保存在操作系统中。此处的分区模块解析参数的方法采用本领域的常规技术。
步骤S200,根据分区模块解析的分区资源参数,启动特权操作系统和受特权操作系统管理的非特权操作系统。
如图4所示,步骤S200具体包括下列步骤:
步骤S210,启动模块中的特权操作系统启动模块,根据分区模块的分区配置,在本分区的内存资源中,保留一块内存区域作为核心间通信缓冲区。本发明中保留内存区域的方法采用本领域的常规技术;
步骤S220,特权操作系统启动模块利用Grub启动参数,完成自身的初始化。本发明特权操作系统的启动过程与LINUX操作系统的启动方式相同,本领域技术人员根据现有技术能够实现;
步骤S230,特权操作系统加载启动模块中的非特权操作系统启动处理模块。此处的加载方法采用本领域的常规加载操作系统模块方法。优选地,特权操作系统还加载用于操作系统之间通信的虚拟网卡模块。
步骤S240,非特权操作系统启动处理模块根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,将非特权操作系统代码映像和非特权操作系统的其它启动参数(如CPU性能参数,全局时钟参数等)拷贝到用户指定的用于启动非特权操作系统的分区的内存区域。优选地,非特权操作系统启动处理模块还将跳板模块的跳板代码拷贝到用户指定的用于启动非特权操作系统的分区的内存区域;所述用户输入命令包括指定要启动第几个非特权操作系统;所述特权操作系统保存的用于非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码以及内核映像的起始地址等。
步骤S250,非特权操作系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令使其到非特权操作系统映像处执行。优选地,非特权操作系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令(如发送处理器间中断)并使其执行跳板代码;执行所述跳板代码用于修改跳板自身页表和非特权操作系统页表,使其映射到非特权操作系统代码映像处,并使非特权操作系统的处理器和/或处理器核跳转到非特权操作系统映像处执行。
步骤S260,非特权操作系统启动模块使非特权操作系统修改内存管理相关内容,使非特权操作系统在自身分区内完成操作系统的启动,并在内存区域中保留核心间通信缓冲区,完成启动。优选地,非特权操作系统启动模块使非特权操作系统保留核心间通信缓冲区后,还加载虚拟网卡模块,用于各个操作系统之间的高效通信。保留通信缓冲区、加载核心间通信模块的方法与传统方法相同。对内存管理的修改包括限制页表映射范围,以及根据分区内存范围修改虚实地址转换方式等。
较佳地,所述多核处理系统的管理方法,还包括下列步骤:
步骤S300,采用异构式资源管理方式来管理多核处理系统的资源。所述多核处理系统的资源包括内存资源、处理器资源和/或处理器核资源和输入输出资源。
如图5所示,步骤S300具体包括如下步骤:
步骤S310,各个操作系统独立管理自身的内存资源和处理器资源和/或处理器核资源,操作系统在经授权的方式下,访问其它分区的处理器资源和/或处理器核资源和内存资源。这样保证了整个系统的安全性和功能隔离,并避免了对称多处理系统的可扩展性问题;
步骤S320,处理器资源和/或处理器核资源和内存资源经过共享协议,在分区之间动态流动,保证了整个资源的负载平衡;
步骤S330,只有特权操作系统可以访问系统的输入输出资源,其它非特权操作系统需要通过特权操作系统的代理才能访问输入输出资源。
这种异构式的资源管理方式,使得特权操作系统负责整个系统的资源调度和任务分配,并与用户进行交互;同时,非特权操作系统不用关心除了处理器(CPU)和/或处理器核和内存外的其它资源,可以更加有效的执行计算任务;底层基于内存的内部网络,使得特权操作系统和非特权操作系统可以更加快速的进行交互,减少了操作系统间通信的延迟。
本发明的多核处理系统,解决了SMP可扩展性的问题,同时可以使各个非特权操作系统并行启动,大大减小了整个系统的启动时间;同时,用户只需通过修改Grub参数,就可以自由选择各个核心的处理器和/或处理器核和内存配置,增强了整个系统的灵活性和可管理性;最后,用户可以在不影响特权核心的情况下,多次启动、关闭非特权核心,增强了整个系统的可靠性。
以上所述内容,仅为本发明具体的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。

Claims (14)

1、一种多核处理系统,包括多个处理器核和/或多个处理器;其特征是,还包括分区模块和启动模块,其中:
所述分区模块,用于解析由用户指定的各个分区的资源配置参数和启动参数并保存;所述分区包括至少一个处理器和/或一个处理器核;
所述启动模块,用于根据所述分区模块解析的分区资源配置参数,启动用于访问硬件资源,负责输入输出,并和用户交互,以及给其它非特权操作系统分配任务的特权操作系统和受特权操作系统管理的用于执行所述特权操作系统分配的任务的非特权操作系统。
2、根据权利要求1所述的多核处理系统,其特征是,所述启动模块包括特权操作系统启动模块、非特权操作系统启动处理模块和非特权操作系统启动模块,其中:
所述特权操作系统启动模块,用于根据所述分区模块的分区配置,在第一分区的内存资源中保留所述特权操作系统的用于所述特权操作系统和所述非特权操作系统之间的通信缓冲区,完成所述特权操作系统的初始化,并加载非特权操作系统启动处理模块,完成特权操作系统启动;
所述非特权操作系统启动处理模块,用于在启动非特权操作系统时,根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,在用户指定的用于启动非特权操作系统的分区的内存资源中设置非特权操作系统代码映像和非特权操作系统的启动参数;
所述非特权操作系统启动模块,用于向所述用户指定的用于启动非特权操作系统的分区中的处理器和/或处理器核发出启动命令并在非特权操作系统代码映像处执行启动操作,并且在所述用户指定的用于启动非特权操作系统的分区的内存资源中保留非特权操作系统的通信缓冲区,完成非特权操作系统初始化,完成非特权操作系统启动。
3、根据权利要求2所述的多核处理系统,其特征在于,所述特权操作系统启动模块使得所述特权操作系统在初始化完成后,还加载虚拟网卡模块;
所述非特权操作系统启动模块使得所述非特权操作系统在初始化完成后,还加载虚拟网卡模块;
所述虚拟网卡模块,用于操作系统间通信。
4、根据权利要求2或3所述的多核处理系统,其特征在于,所述非特权操作系统启动处理模块,在启动非特权操作系统时,还在所述用户指定的用于启动非特权操作系统的分区内的内存资源中设置跳板模块的跳板代码;
所述跳板模块,用于执行跳板代码,并修改跳板自身页表和非特权操作系统页表,完成跳转和处理器模式转换;
所述非特权操作系统启动模块,用于向所述其它分区中的处理器和/或处理器核发出启动命令,令其执行所述跳板模块;执行所述跳板模块使所述用户指定的用于启动非特权操作系统的分区中的处理器和/或处理器核根据所述跳板模块执行结果,跳转到非特权操作系统代码映像处执行启动操作。
5、根据权利要求2所述的多核处理系统,其特征是,所述用户输入的命令包括指定要启动的非特权操作系统;所述非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码的起始地址以及非特权操作系统代码映像的起始地址。
6、根据权利要求1-3任一项所述的多核处理系统,其特征是,还包括资源管理模块,用于利用异构式资源管理方式来管理多核处理系统资源,使各个操作系统独立管理自己的内存和处理器资源;处理器资源和/或处理器核资源和内存资源经过共享协议,能够在所述分区之间共享;特权操作系统能够访问系统的输入输出资源,非特权操作系统通过特权操作系统的代理访问输入输出资源。
7、一种多核处理系统的管理方法,其特征是,包括:
步骤S100,分区模块解析用户指定各个分区的资源配置参数,并保存,各个所述分区包括至少一个处理器和/或至少一个处理核;
步骤S200,根据分区模块解析的分区资源配置参数,启动用于访问硬件资源,负责输入输出,并和用户交互,以及给其它非特权操作系统分配任务的特权操作系统和受特权操作系统管理的用于执行所述特权操作系统分配的任务的非特权操作系统。
8、根据权利要求7所述的多核处理系统的管理方法,其特征是,步骤S200具体包括下列步骤:
步骤S210,启动模块中的特权操作系统启动模块,根据分区模块的分区配置,在本分区的内存资源中,保留一块内存区域作为核心间通信缓冲区;
步骤S220,特权操作系统启动模块使特权操作系统完成自身的初始化并完成启动;
步骤S230,特权操作系统启动模块使特权操作系统加载启动模块中的非特权操作系统启动处理模块;
步骤S240,非特权操作系统启动处理模块根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,将非特权操作系统代码映像和非特权操作系统启动参数拷贝到非特权操作系统所管理的内存区域;
步骤S250,非特权操作系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令使其到非特权操作系统映像处执行;
步骤S260,非特权操作系统启动模块使非特权操作系统修改内存管理内容,使所述非特权操作系统在自身分区内完成操作系统的启动,并保留核心间通信缓冲区,完成启动。
9、根据权利要求8所述的多核处理系统的管理方法,其特征是,在所述步骤S230中,特权操作系统启动模块使特权操作系统还加载虚拟网卡模块;
在所述步骤S260中,非特权操作系统启动模块使非特权操作系统保留核心间通信缓冲区后,还加载虚拟网卡模块;
所述虚拟网卡模块用于操作系统之间的通信。
10、根据权利要求8所述的多核处理系统的管理方法,其特征是,在步骤S240中,非特权操作系统启动处理模块根据用户输入的命令和特权操作系统保存的非特权操作系统启动参数还将跳板模块的跳板代码拷贝到非特权操作系统所管理的内存区域;
在所述步骤S250中,非特权操作系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令并使其执行跳板代码;执行所述跳板代码用于修改跳板自身页表和非特权操作系统页表,使其映射到非特权操作系统代码映像处,并使非特权操作系统的处理器和/或处理器核跳转到非特权操作系统映像处执行。
11、根据权利要求10所述的多核处理系统的管理方法,其特征是,所述用户输入的命令包括指定要启动的非特权操作系统;所述非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码的起始地址以及非特权操作系统代码映像的起始地址。
12、根据权利要求8所述的多核处理系统的管理方法,其特征是,所述修改内存管理内容包括限制页表映射范围,以及根据分区内存范围修改虚实地址转换方式。
13、根据权利要求8所述的多核处理系统的管理方法,其特征是,还包括步骤S300,采用异构式资源管理方式来管理多核处理系统的资源。
14、根据权利要求13所述的多核处理系统的管理方法,其特征是,所述步骤S300具体包括以下步骤:
步骤S310,各个操作系统独立管理相应的内存资源和处理器资源和/或处理器核资源;
步骤S320,处理器资源和/或处理器核资源和内存资源经过共享协议,在分区之间共享;
步骤S330,特权操作系统能够访问系统的输入输出资源,非特权操作系统通过特权操作系统的代理访问输入输出资源。
CNB2007101764934A 2007-10-29 2007-10-29 一种多核处理系统及其管理方法 Active CN100524286C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101764934A CN100524286C (zh) 2007-10-29 2007-10-29 一种多核处理系统及其管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101764934A CN100524286C (zh) 2007-10-29 2007-10-29 一种多核处理系统及其管理方法

Publications (2)

Publication Number Publication Date
CN101149728A CN101149728A (zh) 2008-03-26
CN100524286C true CN100524286C (zh) 2009-08-05

Family

ID=39250259

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101764934A Active CN100524286C (zh) 2007-10-29 2007-10-29 一种多核处理系统及其管理方法

Country Status (1)

Country Link
CN (1) CN100524286C (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634979B (zh) * 2008-07-22 2011-09-07 中国科学院计算技术研究所 一种满足SystemC语法的多核处理器
CN102053869B (zh) * 2009-10-29 2013-11-06 杭州华三通信技术有限公司 一种多操作系统的资源分配方法和装置
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
TWI425359B (zh) * 2010-03-05 2014-02-01 Asustek Comp Inc 電腦系統之中央處理器開核裝置
CN101901207B (zh) * 2010-07-23 2012-03-28 中国科学院计算技术研究所 异构共享存储多处理机系统的操作系统及其工作方法
CN103207782B (zh) * 2013-03-27 2014-02-26 北京航空航天大学 基于multi-kernel MOS 的分区系统构建方法
CN103150217B (zh) * 2013-03-27 2016-08-10 无锡江南计算技术研究所 多核处理器操作系统设计方法
JP6089349B2 (ja) * 2013-05-28 2017-03-08 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
CN104216862B (zh) * 2013-05-29 2017-08-04 华为技术有限公司 一种用户进程与系统服务之间的通信方法、装置
CN104714924B (zh) * 2013-12-12 2018-07-13 华为技术有限公司 一种资源控制方法和装置
CN104714844B (zh) * 2013-12-17 2018-06-26 华为技术有限公司 轻量级操作系统部署方法及装置
CN104714843B (zh) * 2013-12-17 2018-06-15 华为技术有限公司 多内核操作系统实例支持多处理器的方法及装置
CN104503800B (zh) * 2014-12-29 2019-03-22 宇龙计算机通信科技(深圳)有限公司 开机资源设置方法和开机资源设置装置
CN104809002B (zh) * 2015-05-26 2018-05-11 北京思朗科技有限责任公司 异构多核处理器多层应用程序的执行方法及处理器
US10133504B2 (en) 2016-04-06 2018-11-20 Futurewei Technologies, Inc. Dynamic partitioning of processing hardware
CN106648758B (zh) * 2016-11-30 2019-11-15 中国电子科技集团公司第五十八研究所 一种多核处理器boot启动系统及方法
CN108255527A (zh) * 2017-12-05 2018-07-06 华为技术有限公司 启动系统的方法和装置、计算设备、可读存储介质
CN108108199A (zh) * 2017-12-21 2018-06-01 北京东土科技股份有限公司 一种多核cpu上多操作系统启动方法及装置
CN109542831B (zh) * 2018-10-28 2023-05-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 机载平台多核虚拟分区处理系统
CN110334512B (zh) * 2019-07-08 2021-07-27 北京可信华泰信息技术有限公司 基于双体系架构的可信计算平台的静态度量方法和装置
CN110334509B (zh) * 2019-07-08 2021-08-13 北京可信华泰信息技术有限公司 双体系架构的可信计算平台的构建方法和装置
CN110414235B (zh) * 2019-07-08 2021-05-14 北京可信华泰信息技术有限公司 一种基于ARM TrustZone的主动免疫的双体系结构系统
CN113721989A (zh) * 2021-07-19 2021-11-30 陆放 一种多处理器并行操作系统及计算机架构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1920786A (zh) * 2005-08-23 2007-02-28 北京软通科技有限责任公司 实现操作系统安全控制的系统及方法
CN1952894A (zh) * 2005-10-21 2007-04-25 神基科技股份有限公司 具有即刻开启功能的电脑系统及其处理方法
CN1952890A (zh) * 2005-10-21 2007-04-25 神基科技股份有限公司 电脑开机方法、使用该电脑开机方法的储存媒体及电脑装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1920786A (zh) * 2005-08-23 2007-02-28 北京软通科技有限责任公司 实现操作系统安全控制的系统及方法
CN1952894A (zh) * 2005-10-21 2007-04-25 神基科技股份有限公司 具有即刻开启功能的电脑系统及其处理方法
CN1952890A (zh) * 2005-10-21 2007-04-25 神基科技股份有限公司 电脑开机方法、使用该电脑开机方法的储存媒体及电脑装置

Also Published As

Publication number Publication date
CN101149728A (zh) 2008-03-26

Similar Documents

Publication Publication Date Title
CN100524286C (zh) 一种多核处理系统及其管理方法
Bai et al. {PipeSwitch}: Fast pipelined context switching for deep learning applications
US10951458B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
Si et al. Casper: An asynchronous progress model for MPI RMA on many-core architectures
CN101727351A (zh) 面向多核平台的虚拟机监控器非对称调度器及其调度方法
CN101751284A (zh) 一种分布式虚拟机监控器的i/o资源调度方法
CN110532072A (zh) 基于微内核操作系统的分布式流式数据处理方法及系统
Ballesteros et al. Nix: A case for a manycore system for cloud computing
Tang et al. AEML: an acceleration engine for multi-GPU load-balancing in distributed heterogeneous environment
Goh et al. Design and performance evaluation of combined first-fit task allocation and migration strategies in mesh multiprocessor systems
CN103262039A (zh) 用于处理装置的同步操作的方法和系统
US9311156B2 (en) System and method for distributing data processes among resources
Kaminsky Special feature: Developing a multiple-instructon-stream single-chip processor
Pazzaglia et al. Optimizing inter-core communications under the LET paradigm using DMA engines
Shen et al. KubeGPU: efficient sharing and isolation mechanisms for GPU resource management in container cloud
Cabezas et al. Runtime and architecture support for efficient data exchange in multi-accelerator applications
Kessler et al. Concurrent scheme
Niknam et al. Resource optimization for real-time streaming applications using task replication
Grushin et al. On effective scheduling in computing clusters
Pavlidakis et al. Arax: a runtime framework for decoupling applications from heterogeneous accelerators
Kang et al. Partial migration technique for GPGPU tasks to Prevent GPU Memory Starvation in RPC‐based GPU Virtualization
Albinson et al. UNIX on a loosely coupled architecture: The CHORUS/MiX approach
Souto et al. A task-based execution engine for distributed operating systems tailored to lightweight manycores with limited on-chip memory
Klimiankou Towards practical multikernel OSes with MySyS
Yu et al. Terms: Task management policies to achieve high performance for mixed workloads using surplus resources

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