LAXCUS分布式操作系统通过聚合计算一系列抽象化处理,把一堆分散的物理计算机,合并成一台逻辑统一的超级计算机。基于此,用户可以像使用一台计算机一样,操纵整个计算机集群;开发者可以像编写单机应用软件一样,编写基于LAXCUS分布式体系架构的应用软件,这样就大大简化了计算机集群的使用和应用软件的开发。但是在LAXCUS分布式操作系统的最底层,面对分散的物理计算机,为保证每一台计算机正常运行和集群的完整性,LAXCUS分布式操作系统需要时刻追踪所有硬件设备和部件的工作状态。目前处理这项业务的是LAXCUS心跳检测机制,LAXCUS集群的各种冗余容错措施,也都和它有关,并基于它派生。

今天来说说LAXCUS分布式操作系统的基石之一:心跳检测机制。
当一个LAXCUS节点启动并接入集群之后,会得到一张集群映像表。集群映像表包括了每个节点的所有动态运行消息,比如IP、CPU、GPU、磁盘、内存、工作负载等参数,都在这张集群映像表中。通过集群映像表,每个LAXCUS节点会定时(通常是20秒,参数可调)与其它LAXCUS节点保持沟通,确定其它LAXCUS节点是否存活。如果与某个节点的心跳检测失败,将向集群发送广播,并启动故障检测机制,利用多节点协同判断,最终确定某个LAXCUS节点是否发生故障。同时,LAXCUS节点也会定时自检,判断计算机内部是否存在硬件故障、软件故障,并将这些消息全网广播,保证集群映像表定时更新。依据集群映像表,LAXCUS分布式操作系统将为聚合计算任务分配工作负载节点,保证整个计算机集群负载平衡。
本质上,心跳检测就是一个IP包,根据不同阶段的运行时状态,大约维持在一、二百个字节左右,小于规定的IP包长度。所以心跳检测包也不需要网络通信设备对它进行拆包和重组,尤其在广域网通信和跨域通信,减少了丢包的可能,表现尤其优秀。
心跳检测机制采用双向通信,当某个LAXCUS节点向另一个LAXCUS节点发送心跳检测包,接收方必须执行对等的反馈操作。如果发送方连续发包,且长时间得不到接收方的反馈(通常是60秒,参数可调),发送方将联合更多LAXCUS节点,启动故障检测,执行一致性判断,确定节点故障。如果故障情况属实,将视故障情况,启动一系列后续的冗余容错操作,同时通知集群管理员处理。
心跳检测机制的优点:
1. 原理和技术实现极其简单。
2. 机内资源和网络资源占用小,1000个节点集群,机器内存占用小于10M。
3. 对故障节点的判断和确定极其有效,基本没有误判的情况。
4. 间接保证了LAXCUS集群长时间稳定可靠运行。
心跳检测机制的缺点:
1. 当出现大面积故障(比如断网、物理性破坏)时,会触发集体故障检测,这时LAXCUS集群将涌现大量的网络通信,并占用很多的内存、CPU、网络带宽资源。
2. 存在节点运行信息滞后和延迟的问题,不利于集群整体的实时管控。此类现象主要集中在超大规模的分布式计算和分布式存储、计算资源不足时的调配、节点交互频繁过程中。
LAXCUS分布式操作系统研发团队正在扩招中,岗位包括:技术合伙人、项目主管、核心开发人员,公司提供了丰厚的股权和期权奖励,欢迎“有想法”和“不安分”的小伙伴联系我们,加入LAXCUS分布式操作系统研发团队,抓住AI和算力互联网发展浪潮红利!

技术探讨长按此微信号

股权商务合作长按此微信号




