【第22回】 Linux/OSS エバンジェリスト古賀政純の『オープンソース・Linux超入門』 科学技術計算で使われるLinuxディストリビューションを知る

今回のゲストブログは、日本ヒューレット・パッカード社オープンソース・Linuxテクノロジーエバンジェリスト 古賀政純さんです。 前回は、Red Hat系の派生ディストリビューションで有名な「CentOS 7」をご紹介しました。今回は、科学技術計算で使われるLinuxディストリビューションを取り上げます。(2018年2月28日)

科学技術計算向けのLinuxディストリビューションを知る

筆者は、入社した西暦2000年から科学技術計算用のサーバーシステムの技術を担当していました。科学技術計算用のシステムは、High Performance Computing(通称、HPC)とよばれ、高速計算用のハードウェアで構成された「スーパーコンピューター」や、x86サーバーで並列計算を行うHPCクラスターなどが存在します。

筆者は、お客様にHPCクラスターシステムを提案していましたが、x86サーバーで構成されたHPCクラスター基盤において、当時は、RHELの登場前の「無償版のRed Hat Linux」を採用し、追加でサードパーティ製のHPC系のミドルウェアやアプリケーションをインストールすることが少なくありませんでした。当時からHPC向けのRed Hat系派生Linuxディストリビューションがいくつか存在しましたが、それらは、現在でも開発が続いており、研究機関において積極的に利用されています。

HPC向けのRed Hat系派生Linuxディストリビューションは、研究機関が主体となってリリースされていることが多く、さらに、研究分野に特化した派生ディストリビューションも存在します。その中でも、研究機関が主体となってリリースされているLinuxディストリビューションとして特に有名なものでは、Scientific Linuxが挙げられます。

Scientific Linuxとは?

Scientific Linux(サイエンティフィック・リナックス、以下、SL)は、フェルミ国立加速器研究所(通称、FNAL)が主体となってリリースしている科学技術計算用途向けの無償Linuxディストリビューションです。RHELに含まれるRed Hat社の商標に関連する箇所を削除したソースコードから再コンパイルしたバイナリーで構成されています。SLは、高エネルギー物理学実験、および、原子核実験のプロジェクト、さらには、国際宇宙ステーションのシステムでも利用されています。また、米国ブルックヘブン国立研究所(通称、BNL)が所有する重イオン型加速器(通称、RHIC)による高エネルギー原子核衝突実験(通称、PHENIX実験)でも利用されているOSです。

BNLでのSL の利用に関する情報:
https://drupal.star.bnl.gov/STAR/comp/sofi/soft-n-libs/os-upgrade/scientific-linux-73-62

 

linuxdistribution-for-scientificcomputing-01

図01. Scientific Linuxが利用されるHPCシステム構成例

 

SLは、研究開発用の個人ワークステーションで利用されることもありますが、分散ファイルシステムのOpenAFSや、様々な科学技術用のライブラリ・ツール類が利用できるため、多くは、高速計算用の物理サーバーを複数台で構成したHPCクラスターシステムで利用されています。SLは、インストール手順、操作性、パッケージ管理などもCentOSとほぼ同じですので、RHELやCentOSに慣れているユーザーにとって、SLを導入するハードルは、それほど高くありません。

 

SLのバージョン

SLのバージョンは、SL 7.3、SL 7.4と表記されます。また、RHELおよびCentOSのリリースに対応しており、例えば、CentOS 7.4.1708に相当するSLは、「SL 7.4」と表記されます。RHELの新バージョンがリリースされると、そのソースコードをもとにしてCentOSがリリースされますが、SLもCentOSと同様に、RHELおよびCentOSの新バージョンに相当するSLがリリースされます。2018年2月時点で、CentOS 7.4.1708相当のSL 7.4がリリースされています。

SLのインストーラーISOイメージ

SL 7.xは、CentOS 7と同様に、ハードディスクにインストールするためのISOイメージファイルと、ディスクレスで利用するライブDVD ISOイメージファイル、そして、ネットワーク経由でのインストール用ISOイメージファイルに分かれます。

SLの入手先URL:
https://www.scientificlinux.org/downloads/sl-versions/sl7/

linuxdistribution-for-scientificcomputing-02

図02. SL 7.4のインストーラーの画面

linuxdistribution-for-scientificcomputing-03

図03. SL 7.4のインストール時のパッケージ選択画面。CentOS 7のインストール手順とほぼ同様の手順でインストールできる

 

SLのパッケージ

SLのWebサイトでは、新バージョンのOSが出るたびにリリースノートが掲載されます。リリースノートには、RHELに含まれないがSLに含まれるパッケージ、RHELに含まれるソフトウェアのソースコードに変更を加えたパッケージ、SLに含まれなかったパッケージなどが記載されています。

SL 7のリリースノート:
https://ftp.scientificlinux.org/linux/scientific/7/x86_64/release-notes/

SLは、CentOSと同様のデスクトップ画面を提供し、操作もCentOSと全く同じですので、CentOSを利用しているような感覚になりますが、CentOSとSLの違いとしてあげられるのは、ソフトウェアパッケージの入手先です。CentOSの場合は、CentOSコミュニティが提供しているYUMのリポジトリを参照しますが、SLの場合は、SLの提供元が用意したYUMリポジトリを参照します。また、フェルミ国立加速器研究所が提供する追加のリポジトリなども提供されています。

SLでは、大量のHPC向けのソフトウェアが用意されているため、挙げるとキリがありませんが、例えば、複数台のサーバーを使ったHPCクラスター向けの並列計算用のMPI(Message Passing Interface)ライブラリや、共有メモリ型(SMP)マシンにおける複数スレッドの並列計算ライブラリであるOpenMPなども容易に入手できます。

 

linuxdistribution-for-scientificcomputing-04

図04. SL 7.4のデスクトップ画面。SLでは、HPCで利用されるソフトウェアのリポジトリが提供されている。画面は、並列計算ライブラリのMPICH 3や分散ファイルシステムのOpenAFSのパッケージを検索した様子

 

SL以外のHPC向けLinuxディストリビューション

SL以外にも、欧州原子核研究機構(通称、CERN)がCentOSをベースにカスタマイズしたHPC向けのLinuxディストリビューションである「CERN CentOS」(セルン・セントオーエス)や、カリフォルニア大学サンディエゴ校(UCSD)のサンディエゴ・スーパーコンピューターセンター(SDSC)が主体となって開発が続けられている「Rocks Cluster Distribution」などが存在します。

SL、CERN CentOS、Rocks Cluster DistributionのいずれもCentOSをベースにしていますが、Rocks Cluster Distributionは、OS自体の自動インストールや、「ロールCD」とよばれる用途別のパッケージを追加する機能が搭載されています。しかし、SLとCERN CentOSが、設定ファイルをエディタで編集し、OSの設定を行うといった「一般に知られるLinux OSの管理手法」が適用できるのに対し、Rocks Cluster Distributionは、エディタによる設定ファイルの記述ではなく、主にrocksコマンドをベースにした独特の管理手法が必要になるなど、OSの管理手法に大きな相違があります。Rocks Cluster Distributionの場合は、その独特の管理手法に精通した技術者が必要になるため、運用において注意を要します。

近年、HPC系のシステムでは、これらのRed Hat系派生ディストリビューションだけでなく、汎用のUbuntu ServerやSLESなど、様々なOSが利用されるようになりました。個人ワークステーションなどでは、開発ツールがそろっているという理由でUbuntu Serverなども利用されます。また、日本では、AI/機械学習用のスーパーコンピューターのOSとしてSLESも導入されています。さらに、近年、SoC(System-on-a-Chip)の64ビットARMプロセッサーを搭載したHPC向けのハードウェアの登場により、ARM対応のSLESにも注目が集まっています。

以下は、SUSE社によって提供されているSUSE for ARMとHPEサーバーに関するYouTube動画です。この動画では、SoCの64ビットARMプロセッサー搭載のHPE Apollo 70のシステム概要、SLES 12 SP3 for ARMの内容が含まれています。英語ですが、是非ご覧ください。

YouTube動画:「HPE and SUSE: HPC, Apollo 70, and ARM」
https://www.youtube.com/watch?v=yRpZEkm1PsY

以上で、HPCで利用されるLinuxディストリビューションについて簡単に紹介しました。

さて、この連載ですが、次回をもって最終回となりました。次回は、米国で注目を浴びている中小企業向けのLinuxディストリビューションについて紹介します。ぜひ、最終回をお楽しみに。

 

【筆者プロフィール】

古賀政純(こが・まさずみ)
日本ヒューレット・パッカード株式会社
オープンソース・Linuxテクノロジーエバンジェリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレット・パッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。

現在は、日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、OpenStack、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当。日本ヒューレット・パッカードが認定するオープンソース・Linuxテクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っている。Red Hat Certified Virtualization Administrator, Novell Certified Linux Professional, Red Hat Certified System Administrator in Red Hat OpenStack, Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「Mesos実践ガイド」「Docker 実践ガイド」「CentOS 7実践ガイド」「OpenStack 実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。

 

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です