超算TOP500中的Linux占比——Operating System&Operating System Family

来源:https://www.cnblogs.com/hangxian/archive/2022/09/19/16706014.html
-Advertisement-
Play Games

2022-09-18-21:28:59 老師作業說明: TOP500中國超算占比,LINUX系統占比 說明:當時使用的是bing搜索,中國超算占比其實澎湃新聞什麼的都有介紹,但是我對它的數據來源持懷疑態度,索性自己去官網上看資料,後面解決Linux系統占比問題時,也是直接想著在官網解決,其實後面和同 ...


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就能直接看到占比了。當時看到了“Operating System”和“Operating System Family”兩個選擇,就都試了試,想看看是不是有什麼區別,沒想到還真的試出區別了,“Operating System”(就是操作系統)下看到的是Linux占比48%,但在“Operating System Family”(就是操作系統系列)下,卻是100%,我一下懵了。但是之後對比兩個圖(見下麵圖1),容易看到,上圖有很多類別,下圖則基本只有Linux、UNIX、Windows等,感覺上像是大類的意思。再仔細看,發現Operating System那裡,Solaris本就是基於UNIX衍生出來的一個系統,可以說是UNIX的一個子類,但是這個圖裡它和UNIX併列,該是區分了這兩種操作系統。而後顯然,這在Operating System Family里就不存在了;FreeBSD則是UNIX出來後較早的一個分支,差別還挺大,區分一下也情有可原。

圖1

 

後面又去點看著像圖表的Treemaps來看,左圖是Operating System(OS),右圖是Operating System Family(OS Family)的情況,在OS選項下,我看到Ubuntu、CentOS、RHEL等Linux的發行版和Linux竟然是併列關係,這時腦子裡已經初步猜測:操作系統和操作系統系列的區別,大抵就是基於linux內核的操作系統(distribution)和linux內核的區別。由於大家可以基於開源的Linux內核做出相對應的套件,就可以有很多操作系統,但是眾多操作系統它們的內核都是Linux。

OS選項OS Family選項

 

 後面想在網上找文章驗證我的觀點,但是網上連“操作系統系列”這個概念都很少。。。隨後去問老師,且問我的猜測,嗯。。。老師的回答有點哲學化,但是從老師那裡我知道超算的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 two AIX ones – running on POWER7 (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這種)外,有些很好的網站也是需要收藏,因為搜索引擎不一定給你推薦到它,但它確實有很多專業的解釋。

                                                                                                   
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、插入排序 1、直接插入排序 基本思想:類似抓撲克牌,待排序元素在已排序的序列中從後往前遍歷,遇到小於他的元素向後移一位,直至遇到小於或等於他的元素,在其後插入即可 2、希爾排序(是對直接插入排序的一種改進) 二、交換排序 1、冒泡排序 基本思想:相鄰的兩個元素進行兩兩比較,如果出現逆序,則小的元 ...
  • 前言 本次案例最終實現效果 開發環境 python 3.8: 解釋器 pycharm: 代碼編輯器 界面代碼實現 先導入所需模塊 import tkinter as tk from tkinter import ttk import tkinter.messagebox 創建視窗 root = tk ...
  • 一:背景 1. 講故事 其實這個問題是前段時間有位朋友咨詢我的,由於問題說的比較泛,不便作答,但想想梳理一下還是能回答一些的,這篇就來聊一聊下麵這幾個鎖。 Interlocked AutoResetEvent / ManualResetEvent Semaphore 用戶態層面我就不想說了,網上一搜 ...
  • .NET運行時之書(Book of the Runtime,簡稱BotR)是一系列描述.NET運行時的文檔,2007年左右在微軟內部創建,最初的目的為了幫助其新員工快速上手.NET運行時;隨著.NET開源,BotR也被公開了出來,如果你想深入理解CLR,這系列文章你不可錯過。 BotR系列目錄: [ ...
  • 從頭一二去閱讀語法和命令說明,對於腳本小白來說比較枯燥,難以堅持,所以這裡選擇對一份完整的shell腳本代碼來逐行逐段解讀,希望可以一渡小白,幫助我們快速進入腳本的大門^_^ ...
  • 版本控制gitlab 什麼是版本控制gitlab GitLab 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,併在此基礎上搭建起來的Web服務。安裝方法是參考GitLab在GitHub上的Wiki頁面。Gitlab是目前被廣泛使用的基於git的開源代碼管理平臺, 基於Ruby on ...
  • 提到直流無刷電機,那不得不提的就是有刷電機了。有刷電機有一個比較令人討厭的缺點:那就是“吵”。 因為電刷和換向環需要時刻不停地摩擦,才能給電樞供電。 所以,如果你想要一個“靜音風扇”的話,肯定不能選使用了有刷電機的產品。 並且電刷使用時間久了,比較容易損壞。電流較大的時候,你甚至可以看到電刷在換向的 ...
  • 腳本安裝lamp [root@localhost ~]# mkdir lamp [root@localhost ~]# cd lamp/ [root@localhost lamp]# mkdir files [root@localhost lamp]# ls files [root@localhos ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...