新しい IBM Developer JP サイトへようこそ!サイトのデザインが一新され、旧 developerWorks のコンテンツも統合されました。 詳細はこちら

IBM Developer Blog

IBM Developer サイトで最新の出来事をフォローし、情報を入手しましょう。

Linux x86 と LinuxONE の違いを把握してください


私は新しいテクノロジーに夢中になると、すぐに誰もがそのテクノロジーを知っているものだと思い込んで話をしがちです。自分が読んでいる最新の本でも、はまって見ている Netflix のシリーズでも、みんな知っているものだと思って話題にすることがよくあります。「『Love is Blind』のジェシカはちょっといかれてると思うだろう?え、この番組を見たことがない?そういうわけか。Netflix のリアリティー番組のことを話してたんだよ」といった具合です。夢中になって先走る前にひと呼吸おいて、今取り組んでいる非常に画期的なマシンについて紹介させてください。

LinuxONE III をご紹介します。

LinuxONE プラットフォームのアーキテクチャー

LinuxONE III は、SLES、RHEL、Ubuntu などのエンタープライズ Linux ディストリビューションが稼働する、素晴らしい設計のサーバーです。これは単なるハードウェアというだけではありません。他のマシンと差別化するいくつかの工夫がひそかに施されています。LinuxONE には、IBM のメインフレーム・プラットフォームである IBM Z に端を発する長年のハードウェア・イノベーションが活かされています。IBM Z で利用可能なプロセッサーには、LinuxONE のためだけにマイクロコードが追加されており、このことがこれらのプロセッサーを Linux 固有のものにしています。LinuxONE の設計は、基礎となるコア、メモリー、I/O デバイスとの通信に z/Architecture の Linux カーネルを使用するという点で独特なものとなっています。Linux の z/Architecture 命令セットは、より一般には、s390x として認知されています。x86、arm などのアーキテクチャー・タイプに並んで、s390x と記されたダウンロード用パッケージを目にしたことがあるはずです。

LinuxONE を Linux x86 版と差別化する要因には他に何があるでしょうか?

Linux オペレーティング・システムは、ユーザー・スペースとカーネル・スペースに分割されています。各種のハードウェアの違いにはカーネル・スペースで対処します。Linux に馴染みがないとしたら、記事「Anatomy of a Linux kernel」で背景情報を確認できます。

LinuxONE III プロセッサー

x86 と s390x はどちらも CISC 命令セットです。Linux 内のアーキテクチャー依存のカーネル・コードは、マシン全体でプロセッサーの命令セットとやり取りしてハードウェアと通信します。この小さなスペース (上の図に示されている緑色のボックス) 内で、Linux と LinuxONE 内のハードウェアとのやり取りが可能にされます。ユーザー・スペース内での操作感は、どのハードウェア・プラットフォームでも同じであることに気付くでしょう。コマンド、ツール、パッケージもほとんどのところ同じです。

LinuxONE ハードウェア内部の見事な設計こそが、x86 や他のアーキテクチャーから LinuxONE を際立たせている要因です。内部のコンポーネントを見てみましょう。特筆すべきものはたくさんありますが、私のお気に入りは次のとおりです。

  • システム・アシスト・プロセッサー (SAP)
  • 処理装置 (PU)
  • プロセッサー・リソース/システム・マネージャー (PR/SM)
  • フレキシブル・サポート・プロセッサー (FSP)

システム・アシスト・プロセッサー (SAP)

前述のように、LinuxONE 上のプロセッサーがメインフレーム・プロセッサーと異なる理由は、Linux の実行を可能にするマイクロコードにあります。LinuxONE 上のプロセッサーには、システム・アシスト・プロセッサー (SAP) と呼ばれる特殊なものもあります。SAP は I/O ワークロードの実行に特化したプロセッサーです。従来、プロセッサーは I/O 命令を受け取ると、I/O 命令が完了するまでブロックして待機します。一般に、I/O 命令にはディスクに対する読み取りと書き込みの処理が伴うため、他の命令よりも多くのサイクルにわたってプロセッサーを占有します。LinuxONE には SAP で I/O 命令を処理するためのインテリジェンスが組み込まれているため、メインプロセッサーは I/O 命令に占有されずに他の処理を実行することができ、処理の実行効率を維持できています。つまり、SAP がすべてのデータ I/O を並行して処理する間、Linux プロセッサーはプログラムの実際のワークロードを重点的に処理できるというわけです。

処理装置 (PU)

ここで取り上げるプロセッサー (一般的なプロセッサーと SAP) のそれぞれがコアです。各コアがスーパースカラーであり、命令を順不同で処理するプロセッサーです。このため、実行ユニットに対する 10 個の同時命令を単一の CPU サイクルで処理できます。LinuxONE III プロセッサーには、処理装置 (PU) 上に 12 基のコアが搭載されています。LinuxONE III にはオンチップ圧縮までも装備されているため、業界標準の圧縮アルゴリズムで処理するためにデータを移動する必要はありません。

処理装置

各 PU には 3 つのレベルのキャッシュがあります。レベル 1 とレベル 2 のキャッシュはコア内にあり、レベル 3 のキャッシュは PU 上にあります。L3 キャッシュのサイズは 256MB で、コア間で共有されます。最も典型的なデスクトップとサーバーのプロセッサー内のキャッシュ・サイズは 50MB にも満たないほどです。この設計決定により、データ集約型のマルチスレッド・アプリケーションを高速処理できるプラットフォームに仕上がっています。PU に新たに組み込まれたデータ圧縮機能で処理を加速できることは言うまでありませんが、さらに驚くべきことに、各コアには独自の暗号化コプロセッサーも備わっています。このコプロセッサーは、クリア・キーまたは保護されたキーを使った暗号アルゴリズムに使用できます。このように、この小さな空間には多くのテクノロジーが詰め込まれています。

図 4

プロセッサー・リソース/システム・マネージャー (PR/SM)

プロセッサー・リソース/システム・マネージャー (PR/SM) は、カーテンの陰に隠れて活躍する魔法使いのような存在です。このハイパーバイザー・ファームウェアによって、LinuxONE ハードウェアの仮想化が可能になっています。PR/SM では、コア、I/O チャネル、LAN インターフェースなどの物理リソースを複数の論理パーティション (LPAR) 間で分離することも、共有することもできます。これらの LPAR はそれぞれ別個のマシンのように振る舞いますが、同じハードウェア上にあります。LPAR 内で KVM などの別の仮想化層を稼働させて、複数の Linux ゲストを実行することもできます。さらに PR/SM を使用して環境間のリソースを余分に割り当て、マシンを最大限に利用することも可能です。ファームウェア層で統合された PR/SM は直接システム・リソースを扱えることから、速度と効率性が向上します。

フレキシブル・サポート・プロセッサー (FSP)

ご心配なく。FSP はコアの特殊化ではなく、まったく異なるものです。PowerPC マイクロプロセッサーのテクノロジーをベースとする FSP は、LinuxONE III 内でさまざまな方法で使用されます。

処理装置 (同時に最大 4 基) は、それぞれが中央演算処理装置複合システム (CPC) と呼ばれるドロワー内に収容されます。LinuxONE III 内の CPC は、2 基の FSP を収容するように設計されています。CPC に収容された FSP は、マシン内のサポート・エレメント (SE) と通信します。この SE が単一制御点の役割を果たし、FSP と通信して電力供給などを制御します。

プロセッサー・ドロワーを上から見た図

プロセッサー・ドロワーの正面図

LinuxONE III に組み込まれた I/O ドロワー内にも 2 基の FSP が取り付けられています。これらの FSP の役目は、メモリー内の I/O データを出し入れする際に I/O チャネルを高速かつ効率的にすることです。

市場に出ているセキュリティー・モジュール (HSM) の中で、FIPS 140-2 Level 4 として認定された、とりわけ評価の高いものを探しているとしたら、複数の FSP を HSM として機能させることができます。

結論

以上のコンポーネントが連動する仕組みを簡潔に述べるのは簡単ではありませんが、この動画はそれをやってのけています。この動画を見れば、わずか 2 分半足らずで、1 台のマシンの内部でさまざまなコンポーネントが連動する仕組みを理解できるはずです。

LinuxONE を構成する多くの層は巧みに設計されています。この設計こそが、x86 アーキテクチャーに基づいて構築された他のサーバーから LinuxONE を際立たせている理由です。このハードウェア上で実行するだけでメリットを受けられるアプリケーションは数えきれません。アプリケーションで大量のデータを処理する場合、SAP による処理速度の向上をありがたいと思わない人はいないはずです。

この記事では、コア内のテクノロジー層と PU 上のテクノロジー層の表面をかじったにすぎません。コアの定格は 5.4 GHz です。これは圧倒的な値ですが、このマシン全体ですべてのコアが発揮する計算能力を実際に把握するには、LinuxONE 内で複数のアプリケーションまたは環境を実行して PR/SM テクノロジーのメリットを確認する必要があります。他と変わらない Linux のルック・アンド・フィールでも、ハードウェア内で通常の Linux コア、SAP、FSP が連動して可能な限りの効率性をもたらす仕組みについては、IBM LinuxONE コミュニティー・クラウドを確認してください。

その他のリソース