异构共享存储多处理机系统的操作系统及其工作方法技术方案

技术编号:4058734 阅读:217 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及异构共享存储多处理机系统的操作系统和其工作方法,异构共享存储多处理机系统的一个处理器同I/O设备连接,同I/O设备连接的处理器上运行主核心,每个不与I/O设备连接的处理器上运行一个从核心,所述方法包括:步骤1,主核心接收到应用程序,根据应用程序的目标指令集,以及主核心和各从核心中的当前负载量,从主核心和多个从核心中选择一个核心为应用程序的目标核心;步骤2,如果被选的目标核心为从核心,则被选的从核心通过主核心加载所述应用程序,并运行所述应用程序;步骤3,如果被选的目标核心为主核心,则被选的主核心运行所述应用程序。本发明专利技术能够实现了一个多核心单一映像操作系统和方法。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及异构共享存储多处理机系统的操作系统及其工作方法
技术介绍
共享存储多处理机系统是指所有处理器对系统中的任何内存均可访问的多处理机系统,按照互连结构可以划分为:基于总线的共享存储多处理机系统、基于环形结构的共享存储多处理机系统、基于交换网络的共享存储多处理机系统等。目前市场上主流的共享存储多处理机系统为对称式共享存储多处理机系统,如图1所示,和NUMA(Non Uniform MemoryAccess,非一致性内存访问)多处理机系统,如图2所示。现有的共享存储多处理机系统大多为同构系统,也就是所有处理器具有完全相同的体系结构。目前的共享存储多处理机系统操作系统技术主要关注操作系统的扩展性,包括处理器调度的并行化、利用存储管理的局部性、减少进程间同步操作的开销等。由于现有的共享存储多处理机系统大多数为同构系统,因此现有的共享存储多处理机操作系统技术均仅关注于同构系统。因此利用现有的共享存储多处理机操作系统技术无法实现异构共享存储多处理机的操作系统,例如X8664与龙芯异构共享存储多处理机的操作系统。一种异构共享存储多处理机系统如图3所示。这是一种典型的NUMA(Non Uniform Memory Access,非一致性内存访问)共享存储多处理机系统结构,其中仅有一个处理器与I/O设备直接相连,其它处理器对I/O设备的访问都是通过互联网络的转发实现。
技术实现思路
为解决上述问题,本专利技术提供了异构共享存储多处理机系统的操作系统及其工作方法,能够实现了一个多核心单一映像操作系统和方法。本专利技术公开了一种异构共享存储多处理机系统的操作系统的工作方法,异构共享存储多处理机系统的一个处理器同I/O设备连接,同I/O设备连接的处理器上运行主核心,每个不与I/O设备连接的处理器上运行一个从核心,所述方法包括:步骤1,主核心接收到应用程序,根据应用程序的目标指令集,以及主核心和各从核心中的当前负载量,从主核心和多个从核心中选择一个核心为应用程序的目标核心;步骤2,如果被选的目标核心为从核心,则被选的从核心通过主核心加载所述应用程序,并运行所述应用程序;步骤3,如果被选的目标核心为主核心,则被选的主核心运行所述应用程序。所述步骤2中从核心加载应用程序时,进一步为,步骤21,从核心的全局进程管理模块调用I/O客户端模块发出请求;步骤22,从核心的远程过程调用模块应用远程过程调用通过共享数据通路将所述请求发送给主核心的I/O服务器模块;-->步骤23,主核心的I/O服务器模块调用I/O设备管理模块,I/O设备管理模块从磁盘中读出所述应用程序的映像文件;步骤24,主核心的远程过程调用模块通过共享数据通路将映像文件发送给从核心的I/O客户端模块,从核心的全局进程管理模块对映像文件进行加载。所述步骤2中运行应用程序进一步为,步骤31,从核心的本地CPU管理模块对应用程序进行对应的进程调度和上下文切换操作,并且从核心的本地内存管理模块对运行时应用的内存进行分配和回收。所述步骤2中还包括,步骤41,在应用程序运行所需内存超过从核心提供的本地内存时,从核心的全局内存管理模块向其他从核心租借内存,并在使用完成后归还租借的内存。所述步骤2还包括,步骤51,在应用程序由多个进程/线程构成,并且进程/线程间需要进行通信时,或者应用程序需要同其他应用程序的进程通信时,从核心的全局IPC管理模块与主核心的全局IPC管理模块一同为应用程序提供进程间通信服务。所述步骤1进一步为,步骤61,主核心的全局进程管理模块在主核心接收到应用程序时,选择同应用程序的目标指令集兼容,并且负载量最少的核心为应用程序的目标核心。所述步骤1进一步为:步骤71,主核心的全局进程管理模块在主核心接收到应用程序时,判断主核心是否同应用程序的目标指令集兼容并且主核心的负载量没有超过预设值;如果是,则主核心为应用程序的目标核心,否则,从多个从核心中选择同应用程序的目标指令集兼容,并且负载量最少的从核心为应用程序的目标核心。所述步骤1还包括:步骤81,主核心对异构共享存储多处理机系统的全局进程统一编号,维护全局进程树,全局进程树记录异构共享存储多处理机系统中所有进程的信息;所述步骤2中从核心的全局进程管理模块对映像文件进行加载进一步为,步骤82,从核心在加载时,从核心的全局进程管理模块对应于所述应用程序创建进程,并向主核心的全局进程管理模块维护的全局进程树进行注册;所述步骤2还包括,步骤83,从核心执行完应用程序后,向主核心的全局进程管理模块维护的全局进程树进行注销。主核心运行所述应用程序进一步为,步骤91,主核心的本地CPU管理模块对应用程序进行对应的进程调度和上下文切换操作,并且主核心的本地内存管理模块对运行时应用的内存进行分配和回收。所述步骤2在加载所述应用程序前还包括:步骤101,从核心的全局进程管理模块判断当前核心的指令集类型是否同应用程序的目标指令集类型兼容,并且当前核心的负载是否没有超过预设值,如果是,则进行所述的加载应用程序,否则执行步骤102;步骤S102,从核心的全局进程管理模块通过从核心和主核心的远程过程调用模块-->到主核心查询目标核心,选择除所述从核心以外,同应用程序的目标指令集兼容,并且负载量最少的核心为应用程序的目标核心;并将进程迁移到目标核心;步骤103,目标核心的本地CPU管理模块运行所述应用程序的进程,目标核心的本地内存管理模块对运行时应用的内存进行分配和回收。所述步骤41进一步为,步骤111,在应用程序运行所需内存超过从核心提供的本地内存时,从核心的全局内存管理模块向主核心的全局内存管理模块申请租借空闲内存,主核心的全局内存管理模块记录了各个从核心的内存使用情况,从中选择满足申请要求的从核心,指示申请的从核心向选择的从核心租借内存,并在使用完成后归还租借的内存。本专利技术还公开了一种异构共享存储多处理机系统的操作系统,异构共享存储多处理机系统的一个处理器同I/O设备连接,所述操作系统包括主核心和从核心,主核心运行于同I/O设备连接的处理器上,从核心运行于每个不与I/O设备连接的处理器上,所述主核心,用于接收到应用程序,根据应用程序的目标指令集,以及主核心和各从核心中的当前负载量,从主核心和多个从核心中选择一个核心为应用程序的目标核心;在为被选的目标核心时,运行所述应用程序;所述从核心,用于在为被选的目标核心时,通过主核心加载所述应用程序,并运行所述应用程序。从核心进一步包括:全局进程管理模块、I/O客户端模块、远程过程调用模块;主核心进一步包括:I/O服务器模块、I/O设备管理模块、远程过程调用模块;在从核心加载应用程序时,从核心的全局进程管理模块,用于调用I/O客户端模块发出请求;从核心的远程过程调用模块,用于应用远程过程调用通过共享数据通路将所述请求发送给主核心的I/O服务器模块;主核心的I/O服务器模块,用于调用I/O设备管理模块;主核心的I/O设备管理模块,用于从磁盘中读出所述应用程序的映像文件;主核心的远程过程调用模块,用于通过共享数据通路将映像文件发送给从核心的I/O客户端模块;从核心的全局进程管理模块,用于对映像文件进行加载。从核心还包括本地CP本文档来自技高网...
异构共享存储多处理机系统的操作系统及其工作方法

【技术保护点】
一种异构共享存储多处理机系统的操作系统的工作方法,异构共享存储多处理机系统的一个处理器同I/O设备连接,其特征在于,同I/O设备连接的处理器上运行主核心,每个不与I/O设备连接的处理器上运行一个从核心,所述方法包括:步骤1,主核心接收到应用程序,根据应用程序的目标指令集,以及主核心和各从核心中的当前负载量,从主核心和多个从核心中选择一个核心为应用程序的目标核心;步骤2,如果被选的目标核心为从核心,则被选的从核心通过主核心加载所述应用程序,并运行所述应用程序;步骤3,如果被选的目标核心为主核心,则被选的主核心运行所述应用程序。

【技术特征摘要】
1.一种异构共享存储多处理机系统的操作系统的工作方法,异构共享存储多处理机系统的一个处理器同I/O设备连接,其特征在于,同I/O设备连接的处理器上运行主核心,每个不与I/O设备连接的处理器上运行一个从核心,所述方法包括:步骤1,主核心接收到应用程序,根据应用程序的目标指令集,以及主核心和各从核心中的当前负载量,从主核心和多个从核心中选择一个核心为应用程序的目标核心;步骤2,如果被选的目标核心为从核心,则被选的从核心通过主核心加载所述应用程序,并运行所述应用程序;步骤3,如果被选的目标核心为主核心,则被选的主核心运行所述应用程序。2.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤2中从核心加载应用程序时,进一步为,步骤21,从核心的全局进程管理模块调用I/O客户端模块发出请求;步骤22,从核心的远程过程调用模块应用远程过程调用通过共享数据通路将所述请求发送给主核心的I/O服务器模块;步骤23,主核心的I/O服务器模块调用I/O设备管理模块,I/O设备管理模块从磁盘中读出所述应用程序的映像文件;步骤24,主核心的远程过程调用模块通过共享数据通路将映像文件发送给从核心的I/O客户端模块,从核心的全局进程管理模块对映像文件进行加载。3.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤2中运行应用程序进一步为,步骤31,从核心的本地CPU管理模块对应用程序进行对应的进程调度和上下文切换操作,并且从核心的本地内存管理模块对运行时应用的内存进行分配和回收。4.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤2中还包括,步骤41,在应用程序运行所需内存超过从核心提供的本地内存时,从核心的全局内存管理模块向其他从核心租借内存,并在使用完成后归还租借的内存。5.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤2还包括,步骤51,在应用程序由多个进程/线程构成,并且进程/线程间需要进行通信时,或者应用程序需要同其他应用程序的进程通信时,从核心的全局IPC管理模块与主核心的全局IPC管理模块一同为应用程序提供进程间通信服务。6.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤1进一步为,步骤61,主核心的全局进程管理模块在主核心接收到应用程序时,选择同应用程序的目标指令集兼容,并且负载量最少的核心为应用程序的目标核心。7.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤1进一步为:步骤71,主核心的全局进程管理模块在主核心接收到应用程序时,判断主核心是否同应用程序的目标指令集兼容并且主核心的负载量没有超过预设值;如果是,则主核心为应用程序的目标核心,否则,从多个从核心中选择同应用程序的目标指令集兼容,并且负载量最少的从核心为应用程序的目标核心。8.如权利要求2所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤1还包括:步骤81,主核心对异构共享存储多处理机系统的全局进程统一编号,维护全局进程树,全局进程树记录异构共享存储多处理机系统中所有进程的信息;所述步骤2中从核心的全局进程管理模块对映像文件进行加载进一步为,步骤82,从核心在加载时,从核心的全局进程管理模块对应于所述应用程序创建进程,并向主核心的全局进程管理模块维护的全局进程树进行注册;所述步骤2还包括,步骤83,从核心执行完应用程序后,向主核心的全局进程管理模块维护的全局进程树进行注销。9.如权利要求1所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,主核心运行所述应用程序进一步为,步骤91,主核心的本地CPU管理模块对应用程序进行对应的进程调度和上下文切换操作,并且主核心的本地内存管理模块对运行时应用的内存进行分配和回收。10.如权利要求3所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤2在加载所述应用程序前还包括:步骤101,从核心的全局进程管理模块判断当前核心的指令集类型是否同应用程序的目标指令集类型兼容,并且当前核心的负载是否没有超过预设值,如果是,则进行所述的加载应用程序,否则执行步骤102;步骤S102,从核心的全局进程管理模块通过从核心和主核心的远程过程调用模块到主核心查询目标核心,选择除所述从核心以外,同应用程序的目标指令集兼容,并且负载量最少的核心为应用程序的目标核心;并将进程迁移到目标核心;步骤103,目标核心的本地CPU管理模块运行所述应用程序的进程,目标核心的本地内存管理模块对运行时应用的内存进行分配和回收。11.如权利要求4所述的异构共享存储多处理机系统的操作系统的工作方法,其特征在于,所述步骤41进一步为,步骤111,在应用程序运行所需内存超过从核心提供的本地内存时,从核心的全局内存管理模块向主核心的全局内存管理模块申请租借空闲内存,主核心的全局内存管理模块记录了各个从核心的内存使用情况,从中选择满足申请要求的从核心,指示申请的从核心向选择的从核心租借内存,并在使用完成后归还租借的内存。12.一种异构共享存储多处...

【专利技术属性】
技术研发人员:唐宏伟霍志刚苗艳超徐涛张东阳余璜
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1