超算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
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...