2022-09-18-21:28:59

老师作业说明:TOP500中国超算占比,LINUX系统占比

说明:当时使用的是bing搜索,中国超算占比其实澎湃新闻什么的都有介绍,但是我对它的数据来源持怀疑态度,索性自己去官网上看资料,后面解决Linux系统占比问题时,也是直接想着在官网解决,其实后面和同学说起,他说直接百度就行了。嗯,确实,但是当时思维受限了,不过后面倒是发现了一些小结果,也不算是时间白费吧,不过以后要是这种不太重要的问题,时间不够的话,希望自己能直接用数据;有空的话,探索一下还是很快乐滴。

下面是我的探索求证过程,碎碎念的,要想直接看到结论的直接滑到底部就行。

正文:

根据2022年6月份的统计数据,中国共有173台超算进入榜单,占全球34.6%,排名第一。这个问题不大,上top500官网,STATISTIC下拉列表的List Statistic选了Country为中国就能看到数量。

接下来看Linux系统占比,在List Statictic下面选了没看到,后面去用Development Over Time就能直接看到占比了。当时看到了“OperatingSystem”和“OperatingSystemFamily”两个选择,就都试了试,想看看是不是有什么区别,没想到还真的试出区别了,“OperatingSystem”(就是操作系统)下看到的是Linux占比48%,但在“OperatingSystemFamily”(就是操作系统系列)下,却是100%,我一下懵了。但是之后对比两个图(见下面图1),容易看到,上图有很多类别,下图则基本只有Linux、UNIX、Windows等,感觉上像是大类的意思。再仔细看,发现OperatingSystem那里,Solaris本就是基于UNIX衍生出来的一个系统,可以说是UNIX的一个子类,但是这个图里它和UNIX并列,该是区分了这两种操作系统。而后显然,这在OperatingSystem Family里就不存在了;FreeBSD则是UNIX出来后较早的一个分支,差别还挺大,区分一下也情有可原。

后面又去点看着像图表的Treemaps来看,左图是Operating System(OS),右图是Operating System Family(OS Family)的情况,在OS选项下,我看到Ubuntu、CentOS、RHEL等Linux的发行版和Linux竟然是并列关系,这时脑子里已经初步猜测:操作系统和操作系统系列的区别,大抵就是基于linux内核的操作系统(distribution)和linux内核的区别。由于大家可以基于开源的Linux内核做出相对应的套件,就可以有很多操作系统,但是众多操作系统它们的内核都是Linux。

后面想在网上找文章验证我的观点,但是网上连“操作系统系列”这个概念都很少。。。随后去问老师,且问我的猜测,嗯。。。老师的回答有点哲学化,但是从老师那里我知道超算的Linux系统占比该是100%。后面索性直接搜英文的文章(果然要逼自己一把,搜到了才发现原来生词什么的完全很少,而且因为是自己想知道的,不懂的重要动词名词立刻查一下,就理解得七七八八了)其实也没找到答案,但是有句话中文翻译过来是“这个要看你怎样去定义这个术语”,觉得挺有道理,想着其实这个有点看这个网站是怎么去定义OS和OS Family,后面到了饭点,就去吃饭了,想着等一下再看看那些从属关系。

回来路上遇上个大佬,他说你看到一个不懂的,没见过的,就先百度百科一下,他们打数模、比赛也是,一堆没见过的代码放过来,就上网百度看它是什么,就是这些又不是什么知识壁垒的东西,大体的逻辑都知道,不过是没见过这个事物而已。我惊觉,我还真没在百度上搜一下“操作系统系列”,【其实百度有它的优势,你想搜经验贴之类的,百度比bing搜索更胜一筹,有时候一些文章在bing没搜到,能在百度搜到】赶紧搜一下,好吧,没结果。他又回想一下,说老师好像说过操作系统都是串行,会不会是超算里面有一些是并行的,就是有两个操作系统那种。这给我提供了另一个思考的方向。

开始先搜索一下超算是有多少个操作系统,上了知乎,看了超算和我们平时的PC机不太一样,我对它除了个top500榜外其实一无所知,当然我也没必要了解那么多,我的重点在于看它的操作系统数。结果是超算可以看作是很多台计算机,操作系统可以有多个,但是为了方便,便于彼此间的接口什么的,一个就够了。而且现在的计算机有并行操作系统,那是另外的操作系统。又直接去搜超算的操作系统,有意思的事情来了,美国那个Frontier用的是HPE Cray OS,嘿,这玩意是啥,在OS选项下的图片占比没有它呀,百度、bing搜索,都搜不到它究竟是个什么样的操作系统。这时候,我意识到,或许维基百科才能解我疑惑,搜索HPE Cray OS后,我看到了它的词条列表有个与TOP500相关的,点进去,维基百科在页面上查找关键词“Operating System”,快速定位,发现超算的OS确实都标了Linux:

理论上HPE Cray OS要是基于Linux内核开发的话,那它也该在OS那里吧,难道我的猜想错误?有点绕晕了。

先读下去再看看,惊喜发现:(粉红荧光部分文字)

谷歌翻译:TOP500系统的所有操作系统都是基于Linux家族的,但上面的Linux是通用Linux。

2021年时的TOP500,OS选项下的Linux系统确实是264/500=0.528

到这里,看来我的猜想应该是正确的。但是还不够,这个说服力不是很强,继续扫完Operating System先,发现了一句话:

The last non-Linux computers on the list– the twoAIXones– running onPOWER7(in July 2017 ranked 494th and 495th[99]originally 86th and 85th), dropped off the list in November 2017.

谷歌翻译:名单上的最后一台非 Linux 计算机——两台 AIX ——在 POWER7 上运行(2017 年 7 月排名第 494 位和第 495 位[99],最初排名第 86 位和第 85 位),于 2017 年 11 月从列表中掉下来。

最后的非Linux超算机,关键数据!我跑去top500看了2017年的超算系统占比:

这个接下来要是AIX是UNIX内核开发的操作系统,那我的猜想就得到直接的证明。

后面来源百度百科:AIX是IBM基于AT&T Unix System V开发的一套类UNIX操作系统。 其它的则这么表述:

显然,AIX是基于UNIX的操作系统。在Operating System下,AIX是基于UNIX开发出来的跟原来的UNIX不一样的操作系统,但是它毕竟是UNIX那边的,所以在Operating System Family 下他们就是一个系列的。

最终结论:我的猜测方向是对的,不过,更严谨地来说,是操作系统和操作系统系列的区别,大抵就是现有的基于linux内核的操作系统发行版(distribution)和基于linux内核自己研发的操作系统的区别。大家都是基于Linux内核,所以都是Linux OS Family,但是有些很成自己风格的Linux OS,不认为是“通用Linux”OS。本来TOP500那里它就是这么划分了像CENTOS、Ubuntu、RHEL这些Linux发行版算做Linux操作系统“分出来”的,而像HPE Cray这些虽也是基于Linux内核开发的OS,但大家用得比较少,归到了“generic Linux”即通用Linux下。

总结经验:像这种新概念,先去bing、百度搜搜看有没有相关的解释,没有的话再试试它本来语言的百科,(全球范围内的,维基百科还是比较全的),那里或许就有相关的链接。也想起之前关于使用搜索的情况,除了搜素引擎和搜索的技巧(如+、filetype:pdf这种)外,有些很好的网站也是需要收藏,因为搜索引擎不一定给你推荐到它,但它确实有很多专业的解释。