最近看了网站上的留言,汇总了网友的提问,有两个问题网友问得最多:1. 分布式操作系统是什么?2. 分布式操作系统和其它操作系统有什么不同?今天就这两个问题正式回应一下网友。这次不谈技术,只说特点和功能,希望对大家了解分布式操作系统有所帮助。
1. 什么是分布式操作系统?
现在针对不同应用场景有很多操作系统,比如安卓和iOS,是用于手机的操作系统;Windows和Macintosh,是用于个人电脑的操作系统; Unix和Linux,是用于服务器的操作系统。而Laxcus,则是用于计算机集群的操作系统。
计算机集群就是很多联网的服务器,它通常处理的都是大型和复杂的计算,是单台计算设备无法完成或者短时间无法完成的工作。计算机集群的典型应用是超级计算机,目前最强的超算已经达到每秒百亿亿次的计算能力。还有云计算,它主要用在商业领域,是把很多服务器资源虚拟化后再分配给用户使用。
在Laxcus分布式操作系统之前,还没有专门用来管理计算机集群的系统软件;而Laxcus出现后解决了这个问题。严格说来,Laxcus属于操作系统市场的细分产品。对下,它管理由服务器组成的计算机集群;对上,它是一个基础平台,为分布式应用软件提供分布式运行环境。分布式操作系统和其它操作系统一样,都属于基础软件。
2. Laxcus分布式操作系统和其它操作系统有什么不同?
不同点很多,我梳理了一下,重点说说以下8项。
1) 纯粹的分布式操作系统
如果说不同,首先最大的不同就是数量的不一样。上述其它操作系统运行过程中只需要面对和管理一台硬件设备,都属于单机操作系统;而Laxcus则要同时面对很多服务器,并且能够把它们组织起来,在这些服务器上协同运行,是真正的多机和纯粹的分布式操作系统。之前文章有谈过,Laxcus管理的服务器规模已经达到空前的百万台级。百万级节点的运行规模是通过“多域并行集群+松耦合架构+自适应机制”三项技术叠加实现,数字取自仿真测试,现实环境尚不具有这种规模的计算机集群。目前真实场景中,Laxcus管理的集群最大规模是1200台服务器。如果哪位网友有更大规模的计算机集群,欢迎拿Laxcus试试,会给你一个惊喜。
2) 资源聚合下的集群虚拟化
Laxcus分布式操作系统还有一个特点是实现了服务器资源的聚合与虚拟化的组合,这一点是单机操作系统不具备的。这个特点对非专业人员有点不易理解,这么说吧,就是Laxcus用软件的方式,把所有服务器硬件资源聚集起来,形成一个巨大的资源池,然后再借助虚拟化技术,把资源池分成一块块的逻辑的虚拟空间,分配给用户使用。用户在使用时,虽然只使用其中一块虚拟空间,也好象拥有整个计算机集群一样。为了确保虚拟化隔离的有效性,Laxcus使用了管道技术进行逻辑切分,即使两个用户在同一台物理服务器上,双方之间也不会感到对方存在,更不受对方操作影响。用户在自己的虚拟空间里,可以处理各种分布式业务,比如象运行应用软件、执行数据存储和数据计算工作。
Laxcus集群的虚拟空间是可调的。管理员能够按照用户需求分配大小,它在用户登录时分配,再用户退出后注销,注销的空间将分配给新的登录用户使用。以此让尽可能多的用户使用计算机集群,达到最大化复用计算机集群资源的目的。
3) 应用软件
应用软件也是Laxcus和其它操作系统不一样的地方。目前其它操作系统上运行的应用软件和它们的操作系统一样,都属于单机软件,只能在一台设备上运行。而Laxcus上运行的应用软件,是适配Laxcus分布式运行环境的应用软件,是纯粹的分布式软件,可以同时运行在很多服务器上。这里所指的应用软件的分布式,不是我们通常理解的CS或者BS架构,而是集群架构。在CS/BS的定义里,都是一对一的交互模式,由客户机或者浏览器向服务器请求,服务器收到后,经过处理返回应答给客户机或者浏览器,整个操作过程是非常简单和清晰。而集群架构,则支持一对一、一对多、多对一、多对多的多种交互模式。具体使用哪一种,每个应用软件可以根据自己的业务需求来决定。
因为集群架构的这种特点,使得它的应用软件可以充分利用这个特点,将一个工作或者几个工作同时分散到很多服务器执行,并行规模和分布式计算效率能够呈指数级提高,这是CS/BS架构完全无法比拟的。非常适合高并发的应用业务,比如现在大量的科学计算、地质勘探、基因工程等领域都需要这样的计算能力。但是集群架构也有与生俱来的缺点,就是开发者在开发Laxcus分布式应用软件的时候,不能象编写CS/BS架构应用软件时那么随意,必须严格按照Laxcus分布计算模型规范来编写。Laxcus最新的SDSK开发包,这些需求被进一步被抽象和简化,有助减少开发者使用难度。
4) CPU
最新的Laxcus 5.0版本已经已经把主流的处理器一网打尽。这包括x86架构的英特尔、AMD、海光、兆芯,MIPS架构的龙芯,ARM架构的鲲鹏和飞腾,Alpha架构的申威,还有早期的POWER、SPARC处理器,都在Laxcus支持之列。龙芯最新的LoongArch架构,我们已经着手支持开发,新的内核正在路上。Laxcus对异构处理器的支持,意味着在不需要改变硬件的情况下,开发者和用户有更多选择,能够极大方便开发者和用户,促进生态发展。另外出于对国产ICT基础设施产业化和生态的考虑,未来我们将投入更多资源放在国产处理器和国产硬件设备的支持和优化上。
5) 多模通信
网络通信的意义在于连接,把小的单点硬件设备组成巨大的计算机集群。多模通信是Laxcus能够提供多种网络连接方式。为了能把服务器连接起来,高效稳定地协同工作,我们没有使用那些标准的通信方案,而是根据计算机集群的需求和特点,自己设计了一套。这是一个名为FIXP的二进制通信协议,支持TCP、UDP、KEEP UDP、RPC四种通信模式,具有高速率和低时延的特点。FIXP把网络信道分为控制信道和数据信道两组,操作系统指令走控制信道,数据传输走数据信道。数据信道采用了类似5G网络的Massive MIMO的通信技术,支持多个收发单元并行收发数据,即保证高效传输数据,又能够减少分布计算等待数据的时间。带宽充裕的情况下,GB量级的数据传输工作,通常分钟单位内就能完成。
6) 命令驱动
Laxcus是命令驱动的操作系统,有图形和字符控制台两种界面供用户选择,这一点和Linux类似。Laxcus命令分为管理员命令和用户命令两种。管理员命令用来管理计算机集群,给用户分配计算资源;用户命令主要是运行维护自己在集群上的应用软件和数据资源。目前Laxcus集群的管理工作已经智能化,象网络流量控制、集群的负载平衡、任务的分发调配等,都实现AI化管理。管理员的日常工作,更多是监视计算机集群和调整一些运行参数。Laxcus命令也和应用软件一样,是纯粹的分布式,会同时分散到很多服务器上执行。
7) 基础功能全集成
基础功能全集成,是Laxcus分布式操作系统另一个非常重要的特点。目前Laxcus 5.0版本,已经集成了大数据、AI、容器、安全管理、应用开发等多种云端基础功能,之前已经写过很多这方面的文章。还有与之相关的各种基础技术,象DSM、NSM、HTAP、SQL、可调CAP、分布锁、松耦合、DFL3人工智能模型、全域安全体系、Diffuse/Converge算法、Scan/Sift算法、Invoke/Produce模型等等,也都详细介绍过,这里就不赘述了。
基础功能全集成是给用户带来了便利,使他们可以直接在系统中使用原本需要第三方提供的功能,极大地节省了用户的成本和时间,提高应用效率。
因为集成了这些基础功能的原因,现在的Laxcus其实超越了原来的操作系统范畴,已经发展成操作系统和核心基础软件的混合体。
8) 云边端一体化
云端、边缘端、终端的一体化分布协同从Laxcus 5.0版本开始提供。这是一个新功能,之前版本的Laxcus只侧重于云端的业务,5.0版本把边缘端和终端的业务也纳入进来,和云端业务,创新实现了三者的无缝对接。开发者只需要使用一套开发包,就可以同时开发三个领域的应用。
不过相比云端业务,目前边缘端和终端的工作尚处于启步阶段,未来我们将根据用户需求,象云端业务一样,集成进更多的功能,让它逐渐成熟起来。我们正在参考云原生的技术理念,对云端、边缘端、终端三者做联动适配改造,以适应现在和未来敏捷开发和快速迭代的需要。
写在最后:
随着数字化技术向各个产业的逐渐扩散,以及大数据、人工智能、边缘计算等新兴技术的注入,原本属于小众的计算机集群和分布计算领域,应用需求也越来越多,范围越来越广,同时也越来越碎片化。Laxcus分布式操作系统目前发展到5.2版本,提供了分布式处理中所需要的几乎所有功能,已经是一款非常成熟的系统软件。我们希望在这个平台上,通过标准的应用开发和一站式的应用服务,加上集成核心基础功能,把云端、边缘端、终端的业务连接起来,产业化应用,降低用户成本,解决现在和未来,分布计算领域日益零散和碎片化的问题,服务于社会,满足更多人的需要。