刀片服务器控制方法及控制台的制作方法

文档序号:7892379阅读:161来源:国知局
专利名称:刀片服务器控制方法及控制台的制作方法
技术领域
本发明涉及刀片服务器系统领域,尤其涉及一种刀片服务器控制方法及控制台。
背景技术
刀片式服务器已经成为高性能计算集群的主流,在全球T0P500和国内T0P100的超级计算机系统中,许多新增的集群系统都采用了刀片架构。由于每个刀片主板都是ー个独立的服务器单元,因此每个刀片就需要设计独立的外围接ロ以使得系统管理员能够对刀片进行単独操作控制。现在的大型高性能计算集群系统基本都是使用Linux操作系统,这就使得刀片主板的控制台功能成为刀片服务器系统设计必须具有的功能之一。现有技术中,刀片的控制台功能的实现主要有如下几种措施一是在每个刀片上设计独立的串行接ロ,然后管理员根据需要単独将刀片的串行接ロ连接到微机,进行控制操作;ニ是在刀片上设计以太网接ロ,以主板管理控制器为中介,使用SOL (Serial OverLAN)技术将刀片的控制台数据通过以太网传输到远程终端;三是使用SMBUS、RS485等标准总线将刀片与机箱内的管理刀片连接,通过管理刀片的串口重定向功能由管理刀片将控制台数据转发到远程终端。但是上述各种方案中,第一种方案操作起来不方便,实际上由于高性能集群系统规模越来越庞大,本地操作控制已经变得不现实;第二种方案需要额外的增加网络集线器设备和大量的线缆连接,増加了系统的复杂性,降低了系统的可靠性;第三种方案使用标准管理总线来实现控制台数据的传输,但是标准管理总线适用于单主设备多从设备结构,而刀片服务器控制台数据传输具有如下特点从管理刀片到刀片的数据传输为单主设备多从设备,刀片到管理刀片的数据传输为多主设备单从设备。对于多个服务器刀片到单个管理刀片的这种多主单从形式的数据传输,现有的总线没法实现数据的实时传输,同时在多个刀片大量输出数据时会出现数据丢失的现象。

发明内容
本发明所要解决的技术问题是针对现有技术存在的问题,本发明提供ー种支持管理刀片到刀片的单主设备多从设备和刀片到管理刀片的多主设备单从设备的实时、无丢失的数据传输的刀片服务器控制方法及控制台。为解决上述技术问题,本发明采用以下技术方案
一种刀片服务器控制方法,包括以下步骤
(I)控制台命令传输
(I. I)远程终端与管理刀片中的主控单元建立连接,主控单元分配并重定向所述连接的端ロ与刀片的对应关系并管理远程终端和刀片建立或关闭远程连接;
(I. 2)所述主控単元接收并缓存远程终端发送到各个刀片的控制台命令,并将所述控制台命令与对应的刀片地址组成主控数据包通过控制台总线发送到对应的刀片;
(I. 3)所述刀片监听所述控制台总线,发现主控数据包中的刀片地址与自身地址相同、时,保存主控数据包中的数据;
(2)控制台数据传输
(2. I)任意一个刀片发起控制台数据传输的开始标识,并在与自身对应的时隙到来时将控制台数据通过所述控制台总线传输给主控单元,主控单元在所有刀片时隙传输结束后,发出停止标识,完成一次控制台数据传输;
(2. 2)所述主控単元接收来自刀片的控制台数据并发送到远程终端。作为上述方法的进ー步改进
所述步骤(I. 2)具体包括以下步骤
(I. 2. I)所述主控単元接收到远程终端发送到各个刀片的控制台命令后,将所述控制
台命令缓存在主控单元的输入缓冲单元中与刀片--对应的FIFO队列中;
(I. 2. 2)当主控单元检测到输入缓冲单元内任一 FIFO队列中有远程终端发来的控制台命令时,取出该FIFO队列中的控制台命令并加上该FIFO队列对应的刀片地址,组成主控数据包通过所述控制台总线发送到对应的刀片。所述步骤(2. 2)具体包括以下步骤
(2. 2. I)所述主控単元监控所述控制台总线,当检测来自刀片的控制台数据传输的开始标识后,开始对刀片数据时隙计数,将接收到的控制台数据放入刀片对应的主控单元的输出缓冲单元中与刀片一一对应的FIFO队列中,在计数值达到机箱中刀片总数时,发出停止标识结束一次控制台数据传输;
(2. 2. 2)当对应的刀片与远程终端没有建立远程连接时,从所述输出缓冲单元的FIFO队列中输出的控制台数据先保存到对应的缓存文件区中,在远程连接建立后再将缓存文件区中的内容输出并发送到远程终端。所述步骤(3)和步骤(4)中,所述刀片地址与刀片的槽位地址一一对应;所述主控数据包中的内容还包括开始标识和停止标识。本发明还提供一种刀片服务器控制台,包括设于管理刀片中的主控单元,所述主控单元通过控制台总线与刀片主板上的接ロ控制器连通;所述控制台总线包括
主控数据线,用于将远程客户端发送到各个刀片的命令数据从主控单元传输到刀片接ロ控制器;
刀片数据线,用于将各个刀片输出的控制台数据从刀片接ロ控制器按序传输给主控单
元;
时钟信号线,用于传输由主控单元端发出的控制台总线的同步时钟信号。作为上述控制台的进ー步改进
所述主控单元包括
主控总线接ロ控制器,用于检测到输入缓冲单元内任一 FIFO队列中有远程终端发来的控制台命令时,根据所述控制台命令数据生成主控数据包并通过控制台总线发送到对应的刀片;实时从控制台总线上接收来自刀片的刀片数据包并进行解析,解析得到的控制台数据放入输出缓冲单元中的刀片对应的FIFO队列中;
输入缓冲单元,用于缓存远程控制終端发送过来的控制台命令;所述输入缓冲单元内包含有多个与刀片一一对应的FIFO队列;
输出缓冲单元,用于保存来自刀片的控制台数据;所述输出缓冲单元内包含有多个与刀片一一对应的FIFO队列;
以太网连接管理単元,用于监听以太网的连接请求并建立对应的控制台重定向连接;接收来自远程终端的控制台命令并存入输入缓冲单元;读取输出缓冲单元中的控制台数据并发送到远程终端;
重定向管理単元,用于对所述主控总线接ロ控制器、输入缓冲单元、输出缓冲单元和以太网连接管理单元进行管理和控制;并对刀片进行重定向的配置、使能和状态更新。所述输出缓冲单元还包含有与刀片一一对应的缓存文件区,所述缓存文件区用于在刀片未与远程终端建立连接时缓存对应的刀片输出的控制台数据;且缓存的控制台数据在刀片与远程終端建立连接后通过以太网连接管理单元发送到远程终端。所述接ロ控制器包括与刀片主板上的系统LPC总线相连的LPC接ロ单元、与控制台总线相连的刀片总线接ロ单元以及用于实现LPC接ロ単元与刀片总线接ロ単元之间的数据流转换的逻辑单元。与现有技术相比,本发明的优点在于
I、本发明的刀片服务器控制方法,采用识别主控数据包中的刀片地址的方式实现管理刀片到刀片的单主设备多从设备的实时、无丢失的数据传输;采用按时隙顺序传输的方式实现刀片到管理刀片的多主设备单从设备的实时、无丢失的数据传输;最终实现刀片到管理刀片的全双エ通信。2、本发明的刀片服务器控制台,仅通过主控数据线和刀片数据线以及时钟信号线等3根信号线组成的控制台总线将所有的刀片和管理刀片相连,远程客户端发出的命令数据通过主控数据线由主控单元传输到刀片接ロ控制器;同吋,刀片输出的控制台数据通过刀片数据线由刀片接ロ控制器按序传输给主控单元,通过按序传输保证同一时刻,主控单元接收数据时仅有ー个刀片输出数据,可避免多主设备单从设备通信时的数据丢失;进而实现控制台命令和控制台数据的全双エ串行传输,不需要额外的交換机等附属设备,结构简单、成本低、应用方便。


图I是本发明的刀片服务器控制方法的流程示意图;其中,图I (a)为控制台命令传输的流程示意图;图I (b)为控制台数据传输的流程示意图。图2是本发明的刀片服务器控制台的逻辑结构示意图。图3是本发明的刀片接ロ控制器的逻辑结构示意图。图4是本发明的主控单元的逻辑结构示意图。图5是本发明的主控数据包结构示意图。图6是本发明的刀片数据包结构示意图。
具体实施例方式以下将结合说明书附图和具体实施方式
对本发明作进ー步详细说明。如图2所示,本发明的刀片服务器控制台包括设于管理刀片中的主控单元,主控单元通过控制台总线与刀片主板上的接ロ控制器连通。控制台总线包括主控数据线(MDATA),用于将远程客户端发送到各个刀片的命令数据从主控单元传输到刀片接ロ控制、器;刀片数据线(BDATA),用于将各个刀片输出的控制台数据从刀片接ロ控制器按序传输给主控単元;时钟信号线(BCLK),用于传输由主控单元端发出的控制台总线的同步时钟信号。控制台总线可通过主控数据线和刀片数据线实现全双エ串行数据传输。如图3所示,刀片主板上的接ロ控制器包括与刀片主板上的LPC总线相连的LPC接ロ単元、与控制台总线相连的刀片总线接ロ单元以及用于实现LPC接ロ単元与刀片总线接ロ单元之间的数据流转换的UART16550逻辑单元。如图4所示,主控单元包括
主控总线接ロ控制器,检测到输入缓冲单元内任一 FIFO队列中有远程终端发来的控制台命令时,根据控制台命令数据生成主控数据包并通过控制台总线发送到对应的刀片;实时从控制台总线上接收来自刀片的刀片数据包并进行解析,解析得到的控制台数据放入输出缓冲单元中的刀片对应的FIFO队列中。
输入缓冲单元,缓存远程控制终端发送过来的控制台命令;输入缓冲单元内包含有多个与刀片一一对应的FIFO队列。输出缓冲单元,保存来自刀片的控制台数据;本实施例中,输出缓冲单元内包含有多个与刀片对应的FIFO队列和与刀片对应的缓存文件区,当刀片未与远程终端建立远程连接时,刀片输出的控制台数据保存到对应的缓存文件区中;当刀片与远程終端建立远程连接后,以太网连接管理単元将缓存文件区中的内容发送到远程终端。以太网连接管理単元,监听以太网的连接请求并建立对应的控制台重定向连接;接收来自远程终端的控制台命令并存入输入缓冲单元;读取输出缓冲单元中的控制台数据并发送到远程终端。重定向管理単元,对主控总线接ロ控制器、输入缓冲单元、输出缓冲单元和以太网连接管理单元进行管理和控制;并对刀片进行重定向的配置、使能和状态更新。重定向管理单元是主控单元的核心模块,通过这个模块,系统管理员能够对刀片控制台重定向功能进行配置、分配重定向以太网连接端ロ、指定端ロ与刀片的对应关系、使能刀片重定向功能、设定同一个刀片控制台允许远程连接的数目、确定关闭空闲远程连接的时机等各种功能,其他组成单元都是在重定向管理単元的控制下工作的。如图I所示,采用上述的刀片服务器控制台实现本发明的刀片服务器控制方法,具体包括以下步骤
1、将同一机箱内的所有刀片主板通过接ロ控制器连接到控制台总线,所有连接到控制台总线的刀片主板由管理刀片内的主控单元进行管理和重定向控制。与主控单元以太网连接的远程终端能够通过网络连接到所有刀片的控制台,通过控制台总线实现控制台命令传输和控制台数据传输两个方向的全双エ传输。在主控单元中设置ー输入缓冲单元和输出缓冲单元,输入缓冲单元包括与刀片一一对应的FIFO队列;输出缓冲单元包括与刀片一一对应的FIFO队列和与刀片一一对应的缓存文件区。如图I (a)所示,控制台命令传输步骤如下
2、远程终端与主控单元通过以太网建立连接,主控单元分配并重定向以太网连接的端ロ与刀片的对应关系并管理远程终端和刀片建立或关闭远程连接。2. I主控单元中的以太网连接管理控制单元实时监听远程终端的连接请求,当远程终端的连接请求到来时,判断请求的合法性,如果合法则建立连接。2. 2通过主控単元的重定向管理模块,系统管理员能够对刀片控制台重定向功能进行配置,分配重定向及指定以太网连接端ロ与刀片的对应关系,使能刀片重定向功能,设定同一个刀片控制台允许远程连接的数目,确定关闭空闲远程连接的时机等。3、主控单元接收并缓存远程终端发送到各个刀片的控制台命令,并将控制台命令与对应的刀片地址组成主控数据包通过控制台总线发送到对应的刀片。3. I以太网连接管理控制单元接收到远程终端发送到各个刀片的控制台命令后,将接收到的控制台命令依据以太网连接端ロ放入重定向管理単元指定的输入缓冲单元中的刀片对应的FIFO队列中,等待主控总线接ロ控制器将其发送到刀片的控制台。3. 2当主控单元的主控总线接ロ控制器检测到输入缓冲单元内任一 FIFO队列中有远程终端发来的控制台命令时,取出该FIFO队列中的控制台命令并加上该FIFO队列对应的刀片地址,组成主控数据包通过主控数据线发送到对应的刀片的控制台。 本实施例中,主控数据包为MDATA数据帧。如图5所示,MBATA数据帧中的内容包括开始标识、与刀片的槽位地址一一对应的刀片地址、数据和停止标识;数据以字节为单位进行传输,长度可变,最小为I,最大长度可根据实际设计需求而定,本发明应用的设计最大长度设定为128。如图I (b)所示,控制台数据传输步骤如下
4、刀片监听控制台总线,发现主控数据包中的刀片地址与自身地址相同时,保存主控数据包中的数据。4. I当刀片的控制台的总线接ロ単元检测到主控数据包的开始标识后,接收随后的刀片地址,并与自身地址进行比较,如果地址不相同,则进入空闲状态,等待下一次的数据传输;如果地址相同,则开始接收并保存后面的数据直到检测到停止标识,然后进入空闲状态,等待下一次的数据传输。4. 2总线接ロ单元将接收的数据(控制台命令)传输到UART16550逻辑单元。LPC接ロ单元监控系统LPC总线上的数据读写命令和数据读写地址,如果数据读写地址为串ロ寄存器地址,则根据数据读写命令进行相应的处理;如果是写数据,则接收系统LPC总线上的数据并根据数据地址更新串ロ逻辑单元内的不同寄存器;如果是读数据,则读取UART16550逻辑单元内对应地址的寄存器内容并将数据传输到系统LPC总线。4.3 UART16550逻辑单元对数据进行转换后由LPC接ロ单元经刀片主板的系统LPC总线发送给系统。UART16550逻辑单元按照业界标准的串ロ设备功能设计并根据本发明应用的实际情况进行了功能裁減。5、步骤3的同时(全双エ传输),任意一个刀片的刀片总线接ロ单元在UART16550逻辑单元有数据(控制台数据)需要发送时,发起控制台数据传输的开始标识,并在与自身对应的时隙到来时将控制台数据通过控制台总线传输给主控单元,主控单元在所有刀片时隙传输结束后,发出停止标识,完成一次控制台数据传输。一次控制台数据传输传输ー个刀片数据包。本实施例中,刀片数据包为BDATA数据帧。如图6所示,BDATA数据帧格式包括开始标识、刀片I时隙、刀片2时隙、……、刀片η时隙、停止标识。开始标识由有控制台数据需要传输的刀片的接ロ控制器发出,发出开始标识的刀片和所有其他的刀片随后进入数据传输状态,开始计数,当对应的控制台数据传输时隙到来吋,如果有数据需要传输,则将数据发送到刀片数据线上;如果没有数据需要传输,则不做任何动作,直到主控单元发出停止标识,结束一次数据传输,所有刀片进入下ー个数据传输周期。本实施例的这种BDATA数据帧格式设计,具有下述优点
①、避免了多主总线的竞争问题。用开始标识同步所有刀片的数据传输动作,即使有多个刀片同时发出了开始标识,随后也都进入同一个数据传输周期。没有发出开始标识的刀片也进入传输周期,等待传输数据,在本次数据传输周期结束之前禁止再发出开始标识。
②、避免了控制台阻塞问题。本发明设计中所有刀片无优先级的限制,避免了优先级条件下由于高优先级节点交替占用总线而阻碍其他刀片发送数据的情況。③、控制台数据实时传输。控制台总线上的刀片在每个传输周期内都有一次机会发送各自的控制台数据,并且在有数据需要传输时可以实时启动数据传输。6、主控单元接收来自刀片的控制台数据并发送到远程终端。6. I主控单元监控控制台总线,当检测来自刀片的控制台数据传输的开始标识后,开始对刀片数据时隙计数,将接收到的控制台数据放入刀片对应的输出缓冲单元的FIFO队列中,在计数值达到机箱中刀片总数时,发出停止标识结束一次控制台数据传输。6. 2当对应的刀片与远程終端没有建立远程连接吋,以太网连接管理単元将从输出缓冲单元的FIFO队列中输出的控制台数据先保存到对应的缓存文件区中,当缓存文件非空且远程连接已建立吋,以太网连接管理単元再将缓存文件区中的内容输出并发送到远程終端,然后等待输出缓冲单元中对应的FIFO队列数据并发送。重定向管理単元可根据远程连接数目、时限等设定,控制以太网连接管理単元建立或者关闭某些远程连接。采用上述的缓存文件区的设置和功能,可实现无丢失的控制台数据传输。本发明的刀片服务器控制方法简单、实时、无信息丢失的,对于降低刀片服务器系统的设计复杂度、降低设计成本、方便用户使用具有重大的意义。 以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
权利要求
1.一种刀片服务器控制方法,其特征在于包括以下步骤 (1)控制台命令传输 (I. I)远程终端与管理刀片中的主控单元建立连接,主控单元分配并重定向所述连接的端ロ与刀片的对应关系并管理远程终端和刀片建立或关闭远程连接; (I. 2)所述主控単元接收并缓存远程终端发送到各个刀片的控制台命令,并将所述控制台命令与对应的刀片地址组成主控数据包通过控制台总线发送到对应的刀片; (I. 3)所述刀片监听所述控制台总线,发现主控数据包中的刀片地址与自身地址相同时,保存主控数据包中的数据; (2)控制台数据传输 (2. I)任意一个刀片发起控制台数据传输的开始标识,并在与自身对应的时隙到来时将控制台数据通过所述控制台总线传输给主控单元,主控单元在所有刀片时隙传输结束后,发出停止标识,完成一次控制台数据传输; (2. 2)所述主控単元接收来自刀片的控制台数据并发送到远程终端。
2.根据权利要求I所述的刀片服务器控制方法,其特征在于,所述步骤(I.2)具体包括以下步骤 (I. 2. I)所述主控単元接收到远程终端发送到各个刀片的控制台命令后,将所述控制台命令缓存在主控单元的输入缓冲单元中与刀片--对应的FIFO队列中; (I. 2. 2)当主控单元检测到输入缓冲单元内任一 FIFO队列中有远程终端发来的控制台命令时,取出该FIFO队列中的控制台命令并加上该FIFO队列对应的刀片地址,组成主控数据包通过所述控制台总线发送到对应的刀片。
3.根据权利要求I或2所述的刀片服务器控制方法,其特征在于,所述步骤(2.2)具体包括以下步骤 (2. 2. I)所述主控単元监控所述控制台总线,当检测来自刀片的控制台数据传输的开始标识后,开始对刀片数据时隙计数,将接收到的控制台数据放入刀片对应的主控单元的输出缓冲单元中与刀片一一对应的FIFO队列中,在计数值达到机箱中刀片总数时,发出停止标识结束一次控制台数据传输; (2. 2. 2)当对应的刀片与远程终端没有建立远程连接时,从所述输出缓冲单元的FIFO队列中输出的控制台数据先保存到对应的缓存文件区中,在远程连接建立后再将缓存文件区中的内容输出并发送到远程终端。
4.根据权利要求I或2所述的刀片服务器控制方法,其特征在于,所述步骤(3)和步骤(4)中,所述刀片地址与刀片的槽位地址--对应;所述主控数据包中的内容还包括开始标识和停止标识。
5.一种刀片服务器控制台,包括设于管理刀片中的主控单元,其特征在于,所述主控单元通过控制台总线与刀片主板上的接ロ控制器连通;所述控制台总线包括 主控数据线,用于将远程客户端发送到各个刀片的命令数据从主控单元传输到刀片接ロ控制器; 刀片数据线,用于将各个刀片输出的控制台数据从刀片接ロ控制器按序传输给主控单元; 时钟信号线,用于传输由主控单元端发出的控制台总线的同步时钟信号。
6.根据权利要求5所述的刀片服务器控制台,其特征在于,所述主控単元包括 主控总线接ロ控制器,用于检测到输入缓冲单元内任一 FIFO队列中有远程终端发来的控制台命令时,根据所述控制台命令数据生成主控数据包并通过控制台总线发送到对应的刀片;实时从控制台总线上接收来自刀片的刀片数据包并进行解析,解析得到的控制台数据放入输出缓冲单元中的刀片对应的FIFO队列中; 输入缓冲单元,用于缓存远程控制終端发送过来的控制台命令;所述输入缓冲单元内包含有多个与刀片一一对应的FIFO队列; 输出缓冲单元,用于保存来自刀片的控制台数据;所述输出缓冲单元内包含有多个与刀片一一对应的FIFO队列; 以太网连接管理単元,用于监听以太网的连接请求并建立对应的控制台重定向连接;接收来自远程终端的控制台命令并存入输入缓冲单元;读取输出缓冲单元中的控制台数据并发送到远程终端; 重定向管理単元,用于对所述主控总线接ロ控制器、输入缓冲单元、输出缓冲单元和以太网连接管理单元进行管理和控制;并对刀片进行重定向的配置、使能和状态更新。
7.根据权利要求6所述的刀片服务器控制台,其特征在于,所述输出缓冲单元还包含有与刀片一一对应的缓存文件区,所述缓存文件区用于在刀片未与远程终端建立连接时缓存对应的刀片输出的控制台数据;且缓存的控制台数据在刀片与远程終端建立连接后通过以太网连接管理单元发送到远程终端。
8.根据权利要求5或6或7所述的刀片服务器控制台,其特征在于,所述接ロ控制器包括与刀片主板上的系统LPC总线相连的LPC接ロ単元、与控制台总线相连的刀片总线接ロ单元以及用于实现LPC接ロ単元与刀片总线接ロ単元之间的数据流转换的逻辑单元。
全文摘要
本发明公开了一种刀片服务器控制方法及控制台,控制方法包括以下步骤远程终端与管理刀片建立连接后,管理刀片将远程终端发送到刀片的控制台命令组成主控数据包通过控制台总线发送到对应的刀片;刀片发出的控制台数据按照指定的时隙顺序通过控制台总线由管理刀片发送到远程终端。该控制台包括设于管理刀片中的主控单元,其特征在于,主控单元通过控制台总线与刀片主板上的接口控制器连通;控制台总线包括主控数据线、刀片数据线和时钟信号线。本发明支持管理刀片到刀片的单主设备多从设备和刀片到管理刀片的多主设备单从设备的实时、无丢失的数据传输。
文档编号H04L29/08GK102664918SQ20121008312
公开日2012年9月12日 申请日期2012年3月27日 优先权日2012年3月27日
发明者宋振龙, 屈婉霞, 张晓明, 李元山, 李宝峰, 李小芳, 田宝华, 肖立权, 胡积平, 蒋句平, 邢建英, 郑明玲 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1