超算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
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...