CN102662696B - 大规模并行计算机系统的快速启动方法及装置 - Google Patents
大规模并行计算机系统的快速启动方法及装置 Download PDFInfo
- Publication number
- CN102662696B CN102662696B CN201210083039.5A CN201210083039A CN102662696B CN 102662696 B CN102662696 B CN 102662696B CN 201210083039 A CN201210083039 A CN 201210083039A CN 102662696 B CN102662696 B CN 102662696B
- Authority
- CN
- China
- Prior art keywords
- characteristic parameter
- computing machine
- machine node
- management controller
- configuration interface
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种大规模并行计算机系统的快速启动方法及装置,方法包括:为每一个计算机结点设置配置接口,计算机结点在启动前预先读取配置接口中存储的用于系统启动所需的特征参数;如果配置接口中的特征参数可用,则计算机结点根据读取的特征参数启动系统;如果配置接口中的特征参数不可用,则先通过一个管理控制器为该计算机结点生成特征参数并写入所对应的配置接口,然后计算机结点从配置接口读取特征参数并根据读取的特征参数启动系统;装置包括管理控制器和配置接口,配置接口设于各个计算机结点内并与计算机结点的微处理器相连,管理控制器与至少一个配置接口相连。本发明具有启动速度快、启动效率高、灵活性好、实施成本低的优点。
Description
技术领域
本发明涉及计算机系统管理自动化领域,具体涉及一种大规模并行计算机系统的快速启动方法及装置。
背景技术
并行计算机系统通常包含许多通过高速互连网络连接的计算机结点,这些计算机结点都具有自己的微处理器、本地内存、高速互连接口和I/O接口,是物理结构相同但又相对独立的系统。为了进行区分,每个计算机结点都分配一组全局唯一的标识,如网络标识(NID-Network Identification)、IP地址和hostname等,这些具有一定规律的标识称为特征参数。并行计算机系统的结点可以配置本地硬盘并设置为从本地启动系统,但是,在大规模系统中,本地系统的安装、配置和更新非常麻烦并且不易维护版本的一致性。因此,无论是否配置本地硬盘,通过网络从启动服务器获取相应的网络引导程序和系统内核来初始化硬件并引导其它程序的方法是当前普遍采用的启动方式。在数以千计甚至上万个结点构成的大规模并行计算机系统中,存在不同程度的对多个结点加电/复位的应用需求,快速启动这些计算机结点是并行计算机系统管理软件的主要功能之一,是并行计算机系统管理自动化的重要组成部分。对于大规模并行计算机系统而言,全系统启动时间在很大程度上取决于结点特征参数的配置方法和内核的分发策略。
目前,配置结点特征参数的方法主要有两种:一种方法是借助网络接口卡(NIC-Network Interface Control)的MAC地址的唯一性来标识结点。结点加电/复位时,兼容预启动执行环境(PXE-Preboot Execution Environment)规范的BIOS将MAC地址广播到动态主机配置协议(DHCP-Dynamic Host Configure Protocol)服务器,DHCP服务器按照配置文件的约定返回结点IP地址、启动服务器IP地址和其它参数。但是,这种方法在更换计算机结点或更换NIC后将导致MAC地址变化,DHCP服务器软件必须覆盖足够多的MAC地址,同时并行计算机系统管理软件还必须定期检测结点的MAC地址是否发生变动,在大规模并行计算机系统中,由于计算机结点数量非常多,这些工作非常耗时;另一种方法是将计算机结点所连接的交换机端口号作为配置依据,好处是可随意替换计算机结点无需考虑MAC地址改变带来的影响。但是,这种方法要求交换机是可以被管理的并且结点和交换机端口的映射关系不能随意变动。事实上,一个交换机的端口因状态不稳定而不得不换用其它端口的事情经常发生,因此这种方法仍然缺乏灵活性。
PXE是Intel提出的一个业内标准的网络启动方法,受到许多软硬件供应商支持,因其开放性得到最广泛应用。兼容PXE规范的NIC是PXE客户端,DHCP服务器和启动服务器是PXE服务器端,PXE客户端启动时,必须执行以下两个操作:从DHCP服务器获得一个IP地址和找到一台PXE启动服务器,该服务器将向PXE客户端发送启动所需的文件。一般情况下,并行计算机系统配置一台DHCP服务器和一台启动服务器(也可能启动服务器上同时运行DHCP服务),所有结点从同一个地点获取内核和应用软件。然而,当前计算机系统的发展速度已超出人们的想象,网格、云等大规模计算机系统层出不穷,超过99%的TOP500计算机系统中结点数均已超过K级(2011年6月统计数字),在这样的系统中,当较多的计算机结点同时启动时,启动服务器的性能和带宽可能与需求失配导致系统启动缓慢。
发明内容
本发明要解决的技术问题是提供一种启动速度快、启动效率高、灵活性好、实施成本低的大规模并行计算机系统的快速启动方法及装置。
为了解决上述技术问题,本发明采用的技术方案为:
一种大规模并行计算机系统的快速启动方法,其实施步骤如下:为每一个计算机结点设置配置接口,计算机结点在启动前预先读取配置接口中存储的用于系统启动所需的特征参数;如果配置接口中的特征参数可用,则计算机结点根据读取的特征参数启动系统;如果配置接口中的特征参数不可用,则先通过一个管理控制器为该计算机结点生成特征参数并写入所对应的配置接口,然后计算机结点从配置接口读取特征参数并根据读取的特征参数启动系统;
所述管理控制器的工作流程为:
1)每个管理控制器对应一组计算机结点并形成一个管理域,每一个管理控制器分配有唯一的系统编号,每一个管理域内的计算机结点均被分配一个唯一的域编号,并为管理域指定用于提供启动文件服务的启动服务器;
2)管理控制器通过带外管理网络接收计算机结点发送的中断请求;
3)管理控制器收到中断请求后根据自身的系统编号和计算机结点的域编号生成唯一的 网络标识,管理控制器为计算机结点生成网卡参数、启动服务器IP和启动文件路径;
4)管理控制器将所述网络标识、网卡参数、启动服务器IP和启动文件路径作为特征参数写入计算机结点所对应的配置接口;
所述计算机结点根据读取的特征参数启动系统的详细步骤包括:
A)预先修改计算机结点的BIOS的网卡初始化代码,删除BIOS广播DHCPDISCOVER消息的过程,删除BIOS向启动服务器发送DHCPREQUEST消息请求网络引导程序的过程,增加BIOS与启动服务器建立网络连接、请求传送及接收由特征参数指定的启动文件的过程;
B)计算机结点根据所述网卡参数对网卡进行初始化;
C)计算机结点根据启动服务器IP与启动服务器建立点对点的连接;
D)计算机结点根据启动文件路径向启动服务器依次获取系统内核、根文件系统、应用软件,计算机结点在接收文件成功后微处理器将控制权转交给内核,结束引导过程并进入计算机结点的系统启动过程。
所述步骤4)还包括管理控制器对特征参数写入进行验证的步骤:在将生成的特征参数写入计算机结点的配置接口后,所述管理控制器从所述配置接口中读取已写入的特征参数,并将生成的特征参数和已写入的特征参数进行比较;如果所述生成的特征参数和已写入的特征参数相同,则管理控制器将所述配置接口中的特征参数标记为可用;如果所述生成的特征参数和已写入的特征参数不同,则管理控制器重复执行特征参数写入并对写入特征参数进行验证;如果重复执行次数超过预设的最大写入次数仍未写入成功,则将计算机结点配置接口中的特征参数标记为不可用。
本发明还提供一种大规模并行计算机系统的快速启动装置,包括用于生成计算机结点系统启动所需的特征参数的管理控制器和用于存储特征参数的配置接口,所述管理控制器与配置接口相连,所述配置接口设于计算机结点内并与计算机结点一一对应;所述配置接口与计算机结点的微处理器相连;本发明的快速启动装置还包括用于提供启动文件服务的启动服务器和设于计算机结点BIOS中的网卡初始化模块,所述管理控制器通过带外管理网络与配置接口相连,所述启动服务器通过高速互连网络与计算机结点相连,所述网卡初始化模块根据特征参数初始化计算机结点的网卡、并根据特征参数通过高速互连网络向所述启动服务器获取计算机结点的启动文件。
所述管理控制器包括管理控制处理器、中断处理逻辑、带外接口模块、管理网络接口、非易失性存储器和内存,所述管理控制处理器、中断处理逻辑、带外接口模块、管理网络接口、非易失性存储器和内存均连接至管理控制器的内部总线上,所述中断处理逻辑的输入端与配置接口相连,所述带外接口模块与配置接口相连。
所述配置接口包括特征参数存储模块和用于向管理控制器发送特征参数配置请求的配置请求模块,所述特征参数存储模块包括用于标记特征参数可用状态的配置状态寄存器和一组用于存储特征参数的配置参数寄存器,所述配置状态寄存器的输入端、配置参数寄存器的输入端分别与带外接口模块相连,所述配置状态寄存器的输出端、配置参数寄存器的输出端分别与计算机结点的微处理器相连;所述配置请求模块包括中断控制逻辑、在线状态寄存器、至少一个中断寄存器,所述中断控制逻辑的输入端分别与在线状态寄存器、中断寄存器以及计算机结点的微处理器相连,所述中断控制逻辑的输出端与中断处理逻辑的输入端相连。
本发明还包括用于实时管理所述管理控制器以及控制计算机结点加电或者复位的管理终端,所述管理终端与管理控制器以及各个计算机结点的加电或者复位控制端相连。
本发明大规模并行计算机系统的快速启动方法具有下述优点:
1、本发明为每一个计算机结点设置用于存储系统启动所需特征参数的配置接口,计算机结点在启动前预先读取特征参数,如果读取的特征参数不可用则通过一个用于提供特征参数配置服务的管理控制器为计算机结点生成特征参数并写入计算机结点的配置接口,因此能够自动、实时配置结点特征参数使处于待机状态的结点也能立刻拥有唯一身份,以加快系统启动过程,计算机结点在引导过程中直接根据特征参数从启动服务器获取启动所需的参数和文件从而快速启动进入可用状态,能够为计算机结点提供永久可用的特征参数,而且计算机结点引导启动阶段能够在高速互连网络带宽受限的情况下进行,能够加快大规模并行计算机结点的全系统启动速度,具有灵活性好、启动速度快、启动效率高、实施成本低的优点。
2、本发明的管理控制器进一步以管理控制器为中心将计算机结点以管理域的形式进行组织,且根据管理域的信息来为计算机结点分配网络标识、网卡参数、启动服务器IP和启动文件路径等,并将网络标识、网卡参数、启动服务器IP和启动文件路径作为特征参数写入计算机结点配置接口,通过管理控制器能够自动、实时配置各个计算机结点的特征参数使处于待机状态的结点也能立刻拥有唯一的网络标识,特征参数配置过程不再依赖硬件,允许重用管理软件,增强了服务器端软件的可重用性,提高了系统管理的灵活性和效率,能够提高大规模并行计算机系统的管理效率;网络标识、网卡参数、启动服务器IP和启动文件路径上述特征参数与硬件无关,能够简化大规模并行计算机系统的网络拓扑结构,在计算机结点开机时无需进行DHCP获取网络配置参数的交互过程,计算机结点通过BIOS就能够实现与启动服务器之间的直接连接,能够替代DHCP服务为计算机结点提供网卡配置参数,因此能够省略标准网络启动过程的多个交互步骤,简化了大规模并行计算机系统的启动过程,降低对高速互连网络带宽的要求,而且本发明同时设置多个启动服务器,可以根据需要灵活调节启动服务器的负荷,有助于降低设计难度、规避设计风险;而且计算机结点通过点对点通信方式直接向启动服务器获取系统内核、根文件系统以及应用软件,各个计算机结点通过独立并行的经济、高效、快速的启动,能够大幅提高全系统的启动速度。
3、本发明进一步包括管理控制器对写入特征参数进行验证的步骤,对写入特征参数进行读回和验证,能够提高特征参数写入的可靠性。
4、本发明计算机结点进一步根据特征参数中的启动文件路径向启动服务器依次获取系统内核、根文件系统、应用软件,因此计算机结点的系统、根文件系统和应用软件能够在启动服务器上进行统一部署,部署和升级简单方便。
本发明的大规模并行计算机系统的快速启动装置也具有与上述大规模并行计算机系统的快速启动方法的优点相对应的优点。此外,本发明的快速启动装置进一步包括管理终端,能够控制计算机结点加电或者复位、配置管理控制器,因此能够提高并行计算机系统的启动管理效率。
附图说明
图1为本发明实施例快速启动方法的流程示意图。
图2为本发明实施例生成特征参数并写入配置接口的流程示意图。
图3为本发明实施例快速启动装置的框架结构示意图。
图4为应用本发明实施例的并行计算机系统的拓扑结构示意图。
图例说明:1、管理控制器;11、管理控制处理器;12、中断处理逻辑;13、带外接口模块;14、管理网络接口;15、非易失性存储器;16、内存;2、配置接口;21、特征参数存储模块;211、配置状态寄存器;212、配置参数寄存器;22、配置请求模块;221、中断控制逻辑;222、在线状态寄存器;223、中断寄存器;3、启动服务器;4、管理终端。
具体实施方式
如图1所示,本实施例的大规模并行计算机系统的快速启动方法,其实施步骤如下:为每一个计算机结点设置配置接口,计算机结点在启动前预先读取配置接口中存储的用于系统启动所需的特征参数;如果配置接口中的特征参数可用,则计算机结点根据读取的特征参数启动系统;如果配置接口中的特征参数不可用,则先通过一个管理控制器为该计算机结点生成特征参数并写入所对应的配置接口,然后计算机结点从配置接口读取特征参数并根据读取的特征参数启动系统。
如图2所示,本实施例管理控制器的工作流程为:
1)每个管理控制器对应一组计算机结点并形成一个管理域,每一个管理控制器分配有唯一的系统编号,每一个管理域内的计算机结点均被分配一个唯一的域编号,并为管理域指定用于提供启动文件服务的启动服务器;
2)管理控制器通过带外管理网络接收计算机结点发送的中断请求;
3)管理控制器收到中断请求后根据自身的系统编号和计算机结点的域编号生成唯一的 网络标识(NID),管理控制器为计算机结点生成网卡参数、启动服务器IP和启动文件路径;
4)管理控制器将网络标识、网卡参数、启动服务器IP和启动文件路径作为特征参数写入计算机结点所对应的配置接口。
本实施例中通过预先设置好计算规则,可以通过NID直接计算生成计算机结点的网卡参数、启动服务器IP和启动文件路径。此外,也可以仅仅通过配置接口存储最基本的NID,然后在计算机结点启动时通过BIOS来根据NID计算获取计算机结点的网卡参数、启动服务器IP和启动文件路径信息并保存在计算机结点的RAM内。
本实施例中,步骤4)还包括管理控制器对特征参数写入进行验证的步骤:在将生成的特征参数写入计算机结点的配置接口后,管理控制器从配置接口中读取已写入的特征参数,并将生成的特征参数和已写入的特征参数进行比较;如果生成的特征参数和已写入的特征参数相同,则管理控制器将配置接口中的特征参数标记为可用;如果生成的特征参数和已写入的特征参数不同,则管理控制器重复执行特征参数写入并对写入特征参数进行验证;如果重复执行次数超过预设的最大写入次数仍未写入成功,则将计算机结点配置接口中的特征参数标记为不可用。
计算机结点通过读取的特征参数启动系统的详细步骤包括:
A)预先修改计算机结点的BIOS的网卡初始化代码,删除BIOS广播DHCPDISCOVER消息的过程,删除BIOS向启动服务器发送DHCPREQUEST消息请求网络引导程序的过程,增加BIOS与启动服务器建立网络连接、请求传送及接收由特征参数指定的启动文件的过程;
B)计算机结点根据网卡参数对网卡进行初始化;
C)计算机结点根据启动服务器IP与启动服务器建立点对点的连接;
D)计算机结点根据启动文件路径向启动服务器依次获取系统内核、根文件系统、应用软件,计算机结点在接收文件成功后微处理器将控制权转交给内核,结束引导过程并进入计算机结点的系统启动过程。并行是提高效率最直接的手段,本实施例中配置多台物理上分散的启动服务器,启动服务器是在普通服务器的基础上增加一个高速互连接口,用于向结点发送网络引导程序、内核和应用软件等文件,这些文件在多台启动服务器间保持一致。系统管理员指定每台启动服务器为哪些结点提供下载服务,多台启动服务器在实现文件共享的同时降低了对高速互连网络带宽的要求,有助于降低定制NIC的设计难度、规避设计风险。
计算机结点包括微处理器、本地存储器、高速互连接口、配置接口和I/O接口。微处理器直接访问本地存储器,并通过高速互连接口访问其它结点上的资源;配置接口在微处理器和管理控制器之间建立联系,实现带外监控管理功能;I/O接口用于挂接IO总线和IO设备,具有本地和远程访问能力。由于本实施例的特征参数能够直接或间接地提供结点IP地址、启动服务器IP地址等重要信息,因此计算机结点可直接与启动服务器之间建立点到点连接并传输文件,DHCP服务不再是必须服务,因此能够对标准的网络启动方法进行修改,主要修改包括:
(a1)删除BIOS广播DHCPDISCOVER消息的过程,因此不会收到包含IP的DHCPOFFER消息,也无需进行此类消息的处理;
(a2)删除BIOS向启动服务器发送DHCPREQUEST消息请求网络引导程序的过程,网络引导程序负责加载系统内核和文件系统;
(a3)增加过程:通过增加的过程能够直接与启动服务器建立点-点连接,请求传送及接收由特征参数指定的系统内核、文件系统和应用软件。
本实施例修改后的网络启动方法进行的修改与标准网络启动方法的区别在于:不需要广播DHCPDISCOVER消息、不需要处理DHCPOFFER消息、不需要向启动服务器发送DHCPREQUEST消息。简化了计算机结点启动过程中的交互过程,提升单个计算机结点的启动效率,进而能够提高大规模并行计算机系统的启动效率。
如图3所示,本实施例的大规模并行计算机系统的快速启动装置包括用于生成计算机结点系统启动所需的特征参数的管理控制器1和用于存储特征参数的配置接口2,管理控制器1与配置接口2相连,配置接口2设于计算机结点内并与计算机结点一一对应;配置接口2与计算机结点的微处理器相连。
如图4所示,本实施例还包括用于提供启动文件服务的启动服务器3和设于计算机结点BIOS中的网卡初始化模块,管理控制器1通过带外管理网络与配置接口2相连,启动服务器3通过高速互连网络与计算机结点相连,网卡初始化模块根据特征参数初始化计算机结点的网卡、并根据特征参数通过高速互连网络向启动服务器3获取计算机结点的启动文件。本实施例中的网卡初始化模块是基于现有的BIOS的网卡初始化程序进行修改得来的,通过删除广播DHCPDISCOVER消息、向启动服务器发送DHCPREQUEST消息、增加网络请求、接受启动文件功能,本实施例能够省略DHCP交互的步骤,能够提高并行计算机启动的速度和效率。本实施例还包括用于实时管理管理控制器1以及控制计算机结点加电或者复位的管理终端4,管理终端4与管理控制器1以及各个计算机结点的加电或者复位控制端相连,通过管理终端4能够对管理控制器进行实施的管理配置、监控、诊断等,还可以对计算机结点进行加电或者复位集中控制,能够提高大规模并行计算机的启动效率。
管理控制器1包括管理控制处理器11、中断处理逻辑12、带外接口模块13、管理网络接口14、非易失性存储器15和内存16,管理控制处理器11、中断处理逻辑12、带外接口模块13、管理网络接口14、非易失性存储器15和内存16均连接至管理控制器1的内部总线上,中断处理逻辑12的输入端与配置接口2相连,带外接口模块13与配置接口2相连。管理控制器1具有带外管理功能,即在不影响系统正常工作的情况下能够对计算机结点进行监控、诊断和测试。管理控制器1的数量可以根据系统规模和管理控制器1的性能进行合理配置,每台管理控制器1可管理的结点数不尽相同,同一个管理控制器1管理的若干结点构成一个管理域,管理控制器1具有全局唯一的系统编号,管理域内每个计算机结点具有唯一的域编号。管理功能可以定期查询或中断方式实现,为更好地发挥本发明的优势,本实施例的管理控制器1以中断方式接收、处理系统的所有操作和异常。
配置接口2包括特征参数存储模块21和用于向管理控制器1发送特征参数配置请求的配置请求模块22,特征参数存储模块21包括用于标记特征参数可用状态的配置状态寄存器211和一组用于存储特征参数的配置参数寄存器212,配置状态寄存器211的输入端、配置参数寄存器212的输入端分别与带外接口模块13相连,配置状态寄存器211的输出端、配置参数寄存器212的输出端分别与计算机结点的微处理器相连;配置请求模块22包括中断控制逻辑221、在线状态寄存器222、至少一个中断寄存器223,中断控制逻辑221的输入端分别与在线状态寄存器222、中断寄存器223以及计算机结点的微处理器相连,中断控制逻辑221的输出端与中断处理逻辑12的输入端相连。配置接口2模块功能简单,硬件逻辑少,可采用Xilinx Spartan系列可编程逻辑器件、Altera MAX3000系列可编程逻辑器件等可编程逻辑器件来实现。
管理控制器1通过配置接口2实时检测计算机结点的在线状态、写入特征参数,微处理器从配置参数寄存器212中读取特征参数进行计算。此外也可以仅仅使用一个配置参数寄存器212存储管理控制器写入的NID,然后在计算机结点启动时通过BIOS计算获取计算机结点的网卡参数、启动服务器IP和启动文件路径信息并保存在计算机结点的RAM内。配置状态寄存器211用于标识配置寄存器中的数据是否可用,由管理控制器1写入,由计算机结点的微处理器读取。中断控制逻辑221根据微处理器的指令和在线状态寄存器222、中断寄存器223的内容生成相应的中断信号,用于计算机结点和管理控制器1之间的实时交互。在线状态寄存器222用于记录结点的在线情况,本实施例仅包含一个中断寄存器223,中断寄存器223用于记录“重新配置”中断情况,此外可以采用更多的中断寄存器223来记录更多的中断类型;在线状态寄存器222、中断寄存器223均由计算机结点的微处理器写入,在线状态寄存器222、中断寄存器223均由中断控制逻辑221读取。在线状态寄存器222、中断寄存器223这两种寄存器同时分配内存映射的地址,保证计算机结点在引导过程中能够被微处理器访问。本实施例中,中断控制逻辑221通过SM_INT信号接口实现与管理控制器1相连。SM_INT信号包含一组信号,标识结点是否有需要立即处理的异常以及异常的类型,本实施例中SM_INT信号包括“新插入结点”和“重新配置”两种中断信号。在线状态寄存器222记录结点的在线情况,本实施例采用电平信号表示结点是否在线,“1”表示结点在线,“0”表示结点不在线,反之也可,具体实现根据设计需求确定。计算机结点接入并行计算机系统时改变在线状态寄存器222的值,从而中断控制逻辑221将触发SM_INT信号,管理控制器1收到“新插入结点”中断,开始自动计算、配置相关特征参数。中断寄存器223包含一个“重新配置”位,由微处理器根据配置状态寄存器的内容设置,表示请求管理控制器1重新配置特征参数,本发明采用电平信号“1”表示特征参数错误(不可用),请求管理控制器重新计算并写入,“0”表示配置参数正确(可用),不需要管理控制器1重新配置,反之也可,具体实现根据设计需求确定。在线状态寄存器222和中断寄存器223的“重新配置”位,只要有1个使能,就会产生SM_INT信号。
管理控制器1的带外接口模块13通过SMBus/I2C总线端口访问配置接口2中的配置状态寄存器211和配置参数寄存器212, I2C是Philips提出的管理接口协议,SMBus是Intel在I2C基础上做了部分扩展。SMBus/I2C包含SCL和SDA两个信号线。管理控制器1和配置接口2之间的连接以带外方式实现,同时按照PCI Express规范要求,接口内的寄存器被映射到Memory Base ~ Memory Limit地址范围内,保证管理控制器和微处理器均可访问。Memory Base和 Memory Limit是系统设计人员为配置接口分配的memory映射空间,无论配置接口集成在微处理器内部还是独立实现,处理器均可通过load/store指令直接访问。
如图4所示,带有配置接口2的计算机结点被分为若干组,每组由一个管理控制器1实施带外管理,构成一个管理域。管理控制器1拥有唯一的系统编号,结点拥有唯一的域编号。系统管理员通过管理终端4可登录到任意一台管理控制器1,实现对控制域内结点的实时监控和诊断。物理上分散的多台启动服务器3存储系统所需的各种版本内核、文件系统和相关应用软件,并保证文件之间版本的一致性。启动服务器3支持报文的并发传输,通过正确配置的TFTP/HTTP服务同时为多个结点提供文件。管理控制器1和计算机结点之间通过带外管理网络(SMBus/I2C)通信,计算机结点和启动服务器3之间通过高速互连网络通信。图中①表示计算机结点的各种状态信号以中断方式发送给管理控制器1,请求立即处理,②表示中断处理的结果,即无论结点处于何种电源状态,管理控制器1都立即将计算所得特征参数通过带外管理网络写入计算机结点的配置接口2,①和②构成了并行计算机系统快速启动方法的第一阶段-结点特征参数自动配置阶段。③表示系统管理员通过管理终端4对计算机结点进行加电/复位控制,这一操作使微处理器开始执行BIOS代码,计算机结点进入引导启动阶段。在完成一系列的测试和必要的初始化后,计算机结点在步骤④通过高速互连网络向启动服务器3发出请求,请求传送启动所需的内核、文件系统和若干应用软件,这些文件的位置由结点特征参数给出。启动服务器3在步骤⑤将指定的文件返回请求结点,当所有文件拷贝到RAM内展开后,微处理器将控制权移交给内核,引导过程结束,系统开始启动。
如图2所示,本实施例中管理控制器1的详细工作过程如下:
(b1)判断是否有来自计算机结点的中断:如果有中断,转步骤(b2),否则,继续等待中断。
(b2)如果是其它中断,管理控制器1调用相应的中断处理程序进行处理后转步骤(b1);如果收到“新插入结点”和“重新配置”两种中断,则首先根据自身的系统编号和新插入结点的域编号计算出结点的网络标识(NID),然后根据全系统的软硬件布局映射出计算机结点IP地址和NIC类型,进而求得启动服务器3的IP地址和计算机结点的启动文件路径。本实施例引用的包含512个计算机结点的并行计算机系统的软硬件布局如下:
本实施例的启动文件路径包括内核与根文件系统的路径以及应用软件的文件路径,上表中仅仅列出内核与根文件系统的路径以供说明。根据上表,只要给定一个结点的NID,根据此表可找到对应的IP、使用的NIC类型和型号以及结点启动时自动连接的启动服务器3的IP地址和启动文件路径。
(b3)将上述特征参数通过SMBus/I2C总线写入结点配置接口的配置参数寄存器212。
(b4)通过SMBus/I2C总线依次读回配置参数寄存器212中的数据并进行正确性验证,将读取的参数与生成的特征参数进行比较:如果读取的参数与生成的特征参数相同,则判定所有配置参数均写成功,管理控制器通过SMBus/I2C总线将配置状态寄存器211置为可用,然后转入执行步骤(b1);如果读取的参数与生成的特征参数不同,则管理控制器1重复执行特征参数写入并对写入特征参数进行验证,如果重复执行次数超过预设的最大写入次数仍未写入成功则将配置状态寄存器211记为不可用,然后转入执行步骤(b1)。
如前文所述,计算机结点需要对标准的网络启动方法进行修改,因此需要预先对所有计算机结点的BIOS中的网卡初始化模块进行修改,因此在执行前必须完成以下准备工作:
(c1) 预先修改计算机结点的BIOS的网卡初始化代码,删除BIOS广播DHCPDISCOVER消息的过程,删除BIOS向启动服务器发送DHCPREQUEST消息请求网络引导程序的过程,增加BIOS与启动服务器建立网络连接、请求传送及接收由特征参数指定的启动文件的过程。
(c2) 在BIOS中设置结点以PXE方式启动。
(c3) 启动服务器3准备好各种版本的内核、文件系统和应用软件,正确配置TFTP/HTTP服务。
在计算机结点准备好以后,系统管理员从管理终端4发出加电或者复位命令,或者直接按下计算机结点的加电或者复位按钮来使各个计算机结点进行加电或者复位。如图1所示,计算机结点收到加电或者复位命令并按照下述步骤开始工作:
(d1)微处理器跳到系统BIOS中的代码,首先执行上电自检(POST,Power On Self-Test),检测系统中的主要设备以及这些设备是否正常。
(d2)微处理器通过load指令直接访问配置接口2的配置状态寄存器211,确认特征参数是否可用,如果特征参数不可用,通过中断控制逻辑221向管理控制器1发出中断,管理控制器1重新配置特征参数并写入配置参数寄存器212,在此过程中计算机结点的引导过程进入等待状态;最终计算机结点访问配置参数寄存器212,获取结点的特征参数,包括网络NID、结点IP地址、NIC类型、启动服务器IP地址、启动文件路径。
(d3)微处理器将NIC ROM中的代码调入内存执行,根据特征参数自动计算路由等信息,对网卡进行初始化,系统高速互连网络进入工作状态。
(d4)微处理器将其它硬件设备ROM中的代码调入内存执行,进行相应初始化。
(d5)微处理器与启动服务器IP地址对应的启动服务器3建立TFTP/HTTP连接,请求启动服务器3传送由特征参数指定的系统内核。本实施例的启动服务器3可以通过TFTP(小文件传输协议,Trivial File Transfer Protocol)或者HTTP(超文本传输协议,Hyper Text Transfer Protocol)发送系统内核和文件系统到结点的RAM内。TFTP和HTTP两种协议是计算机网络通信领域常见的通信协议,因此在启动服务器3上配置TFTP服务或者HTTP服务非常简单,能够简化启动服务器的管理和维护。与TFTP协议相比,HTTP协议能够处理更大的文件,并且可以跨网段进行传输,在上述步骤(d5)中可以根据实际需要采用不同的协议。
(d6)启动服务器3按照要求发送系统内核。
(d7)微处理器请求启动服务器3传送根文件系统。
(d8)启动服务器3按照要求发送根文件系统。
(d9)微处理器请求启动服务器3传送其它应用软件。
(d10)启动服务器3按照要求发送应用软件。
(d11)微处理器正确接收启动所需的文件后,将控制权转交给内核,引导过程结束,开始进入系统启动过程。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种大规模并行计算机系统的快速启动方法,其特征在于其实施步骤如下:为每一个计算机结点设置配置接口,计算机结点在启动前预先读取配置接口中存储的用于系统启动所需的特征参数;如果配置接口中的特征参数可用,则计算机结点根据读取的特征参数启动系统;如果配置接口中的特征参数不可用,则先通过一个管理控制器为该计算机结点生成特征参数并写入所对应的配置接口,然后计算机结点从配置接口读取特征参数并根据读取的特征参数启动系统;
所述管理控制器的工作流程为:
1)每个管理控制器对应一组计算机结点并形成一个管理域,每一个管理控制器分配有唯一的系统编号,每一个管理域内的计算机结点均被分配一个唯一的域编号,并为管理域指定用于提供启动文件服务的启动服务器;
2)管理控制器通过带外管理网络接收计算机结点发送的中断请求;
3)管理控制器收到中断请求后根据自身的系统编号和计算机结点的域编号生成唯一的 网络标识,管理控制器为计算机结点生成网卡参数、启动服务器IP和启动文件路径;
4)管理控制器将所述网络标识、网卡参数、启动服务器IP和启动文件路径作为特征参数写入计算机结点所对应的配置接口;
所述计算机结点根据读取的特征参数启动系统的详细步骤包括:
A)预先修改计算机结点的BIOS的网卡初始化代码,删除BIOS广播DHCPDISCOVER消息的过程,删除BIOS向启动服务器发送DHCPREQUEST消息请求网络引导程序的过程,增加BIOS与启动服务器建立网络连接、请求传送及接收由特征参数指定的启动文件的过程;
B)计算机结点根据所述网卡参数对网卡进行初始化;
C)计算机结点根据启动服务器IP与启动服务器建立点对点的连接;
D)计算机结点根据启动文件路径向启动服务器依次获取系统内核、根文件系统、应用软件,计算机结点在接收文件成功后微处理器将控制权转交给内核,结束引导过程并进入计算机结点的系统启动过程。
2.根据权利要求1所述的大规模并行计算机系统的快速启动方法,其特征在于,所述步骤4)还包括管理控制器对特征参数写入进行验证的步骤:在将生成的特征参数写入计算机结点的配置接口后,所述管理控制器从所述配置接口中读取已写入的特征参数,并将生成的特征参数和已写入的特征参数进行比较;如果所述生成的特征参数和已写入的特征参数相同,则管理控制器将所述配置接口中的特征参数标记为可用;如果所述生成的特征参数和已写入的特征参数不同,则管理控制器重复执行特征参数写入并对写入特征参数进行验证;如果重复执行次数超过预设的最大写入次数仍未写入成功,则将计算机结点配置接口中的特征参数标记为不可用。
3.一种大规模并行计算机系统的快速启动装置,其特征在于:包括用于生成计算机结点系统启动所需的特征参数的管理控制器(1)和用于存储特征参数的配置接口(2),所述管理控制器(1)与配置接口(2)相连,所述配置接口(2)设于计算机结点内并与计算机结点一一对应;所述配置接口(2)与计算机结点的微处理器相连;所述快速启动装置还包括用于提供启动文件服务的启动服务器(3)和设于计算机结点BIOS中的网卡初始化模块,所述管理控制器(1)通过带外管理网络与配置接口(2)相连,所述启动服务器(3)通过高速互连网络与计算机结点相连,所述网卡初始化模块根据特征参数初始化计算机结点的网卡、并根据特征参数通过高速互连网络向所述启动服务器(3)获取计算机结点的启动文件。
4.根据权利要求3所述的大规模并行计算机系统的快速启动装置,其特征在于:所述管理控制器(1)包括管理控制处理器(11)、中断处理逻辑(12)、带外接口模块(13)、管理网络接口(14)、非易失性存储器(15)和内存(16),所述管理控制处理器(11)、中断处理逻辑(12)、带外接口模块(13)、管理网络接口(14)、非易失性存储器(15)和内存(16)均连接至管理控制器(1)的内部总线上,所述中断处理逻辑(12)的输入端与配置接口(2)相连,所述带外接口模块(13)与配置接口(2)相连。
5.根据权利要求4所述的大规模并行计算机系统的快速启动装置,其特征在于:所述配置接口(2)包括特征参数存储模块(21)和用于向管理控制器(1)发送特征参数配置请求的配置请求模块(22),所述特征参数存储模块(21)包括用于标记特征参数可用状态的配置状态寄存器(211)和一组用于存储特征参数的配置参数寄存器(212),所述配置状态寄存器(211)的输入端、配置参数寄存器(212)的输入端分别与带外接口模块(13)相连,所述配置状态寄存器(211)的输出端、配置参数寄存器(212)的输出端分别与计算机结点的微处理器相连;所述配置请求模块(22)包括中断控制逻辑(221)、在线状态寄存器(222)、至少一个中断寄存器(223),所述中断控制逻辑(221)的输入端分别与在线状态寄存器(222)、中断寄存器(223)以及计算机结点的微处理器相连,所述中断控制逻辑(221)的输出端与中断处理逻辑(12)的输入端相连。
6.根据权利要求4或5所述的大规模并行计算机系统的快速启动装置,其特征在于:还包括用于实时管理所述管理控制器(1)以及控制计算机结点加电或者复位的管理终端(4),所述管理终端(4)与所述管理网络接口(14)相连,所述管理终端(4)与管理控制器(1)以及各个计算机结点的加电或者复位控制端相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210083039.5A CN102662696B (zh) | 2012-03-27 | 2012-03-27 | 大规模并行计算机系统的快速启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210083039.5A CN102662696B (zh) | 2012-03-27 | 2012-03-27 | 大规模并行计算机系统的快速启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662696A CN102662696A (zh) | 2012-09-12 |
CN102662696B true CN102662696B (zh) | 2014-03-05 |
Family
ID=46772197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210083039.5A Active CN102662696B (zh) | 2012-03-27 | 2012-03-27 | 大规模并行计算机系统的快速启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662696B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927153B (zh) * | 2013-01-14 | 2018-06-05 | 华为技术有限公司 | 一种系统配置的方法、设备及系统 |
CN103150277A (zh) * | 2013-03-06 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 超级并行计算机系统组件的自动标识方法及装置 |
US9678762B2 (en) * | 2015-01-21 | 2017-06-13 | Cisco Technology, Inc. | Dynamic, automated monitoring and controlling of boot operations in computers |
CN107291433A (zh) * | 2016-03-31 | 2017-10-24 | 天津市青创空间科技企业孵化器有限公司 | 一种新型计算机节点引导程序 |
CN106330559B (zh) * | 2016-08-29 | 2019-11-01 | 安徽奥里奥克科技股份有限公司 | 基于MapReduce的复杂网络拓扑特征参数计算方法和系统 |
CN109120425A (zh) * | 2017-06-26 | 2019-01-01 | 中兴通讯股份有限公司 | 堆叠系统带外管理的方法、设备及计算机可读存储介质 |
CN108427584B (zh) * | 2018-03-19 | 2021-07-30 | 清华大学 | 快速启动的具有并行计算核的芯片及该芯片的配置方法 |
US11816008B2 (en) | 2018-12-24 | 2023-11-14 | Intel Corporation | Post code reporting via secure digital memory interface |
CN112486661B (zh) * | 2019-09-12 | 2024-06-25 | 赵伟 | 一种计算机集群错峰开机的自动控制方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664784A (zh) * | 2005-03-30 | 2005-09-07 | 中国人民解放军国防科学技术大学 | 大规模并行计算机系统分组并行启动方法 |
CN1889437A (zh) * | 2005-06-30 | 2007-01-03 | 联想(北京)有限公司 | 在不同硬件平台间克隆软件系统的方法 |
CN101178659A (zh) * | 2007-12-14 | 2008-05-14 | 中国人民解放军国防科学技术大学 | 一种大规模计算机节点引导程序并行更新方法及系统 |
CN101931589A (zh) * | 2010-07-27 | 2010-12-29 | 中国电信股份有限公司 | 基于接口标识的多种接入方式并发传输的方法和设备 |
-
2012
- 2012-03-27 CN CN201210083039.5A patent/CN102662696B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664784A (zh) * | 2005-03-30 | 2005-09-07 | 中国人民解放军国防科学技术大学 | 大规模并行计算机系统分组并行启动方法 |
CN1889437A (zh) * | 2005-06-30 | 2007-01-03 | 联想(北京)有限公司 | 在不同硬件平台间克隆软件系统的方法 |
CN101178659A (zh) * | 2007-12-14 | 2008-05-14 | 中国人民解放军国防科学技术大学 | 一种大规模计算机节点引导程序并行更新方法及系统 |
CN101931589A (zh) * | 2010-07-27 | 2010-12-29 | 中国电信股份有限公司 | 基于接口标识的多种接入方式并发传输的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102662696A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662696B (zh) | 大规模并行计算机系统的快速启动方法及装置 | |
CN105335168B (zh) | 实现操作系统远程配置的系统、方法及装置 | |
CN109587005A (zh) | 连接检测方法、装置、计算机设备以及可读存储介质 | |
CN112328440A (zh) | 一种硬盘物理位置确定方法和装置 | |
US9280493B2 (en) | Method and device for enumerating input/output devices | |
CN110704365A (zh) | 一种基于fpga的重构装置 | |
CN115080479B (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
CN107070747A (zh) | 一种在网卡绑定模式下自动化测试网卡网络连接稳定性的方法 | |
CN108989123A (zh) | 一种服务器配置方法及装置 | |
US20060010133A1 (en) | Management of a scalable computer system | |
CN111124437A (zh) | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 | |
CN113419813B (zh) | 一种基于容器平台部署裸机管理服务的方法及装置 | |
CN111459510A (zh) | 跨网络操作系统的安装方法、装置、电子设备及介质 | |
CN114860271A (zh) | 一种pxe启动方法、系统、装置及可读存储介质 | |
CN113886153A (zh) | 一种基于容器的网卡压力测试方法及装置 | |
CN103490913A (zh) | 预启动执行环境测试装置、方法及系统 | |
CN111966553B (zh) | 一种基于用例池的ssd测试方法、系统、终端及存储介质 | |
CN111897577B (zh) | 一种cpu的主从辨别方法及其装置、计算机终端设备 | |
CN112468334B (zh) | 一种服务器配置方法、装置、设备及计算机可读存储介质 | |
CN103793239A (zh) | 云端丛集系统及其开机部署方法 | |
CN113268276A (zh) | 一种多组计算机系统的快速启动方法及装置 | |
CN117075936A (zh) | 板卡fru回刷方法、系统、终端及存储介质 | |
JP4432975B2 (ja) | パケット通信デバイス、パケット通信方法、およびパケット通信プログラム | |
CN116166284A (zh) | Memcache集群的部署方法、存储介质及电子装置 | |
Jakubčík | Sun servers open--source software systems management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |