日本語 English 中文
世界中のHPC専門最先端技術製品の販売・サポート
SingularityPRO 仮想コンテナシステム

SingularityPRO(HPC仮想コンテナシステム)

Singularityとは

Singularityは、世界で著名なHPCクラスターの多くで採用しているオープンソースのLinuxコンテナで、ホスト計算環境、アプリケーションに変更があっても同じアプリケーションを使い続けることができるプラットフォームです。

各ユーザーが独自の計算環境を再現、保持することが可能です。昨今ではクラウドや計算センターでの利用が増えてきており、独自の計算環境の大規模環境への移行も容易に行うことができます。独自のセキュリティモデルを実装してルート権限の配布リスクを軽減し、完全なアプリケーション環境を単一ファイルにキャプチャする形式です。

Singularityを選ぶ理由

Singularityは、ハイパフォーマンスコンピューティング(HPC)およびエンタープライズパフォーマンスコンピューティング(EPC)といった最先端科学向けに最適化されたコンテナプラットフォームです。 他のコンテナソリューションと比較して、GPUの活用、MPIの使いやすさ、非ルートユーザーアクセスのセキュリティ保護、スケジューラおよびファイルシステムの利便性が特長です。

コンテナ型仮想環境と他の仮想環境との違い

従来のHypervisor型仮想化ではHypervisorがホストのCPU,メモリ資源の一部を占有するだけはなく、ネットワークインターフェイスも管理することからレイテンシーが多くHPC/AIといった高速計算機用途には適しませんでした。そこでホストのプロセスとして仮想環境を動作させるコンテナ型の仮想環境としてDockerが開発されました。しかし、Dockerでは、コンテナの実行にルート権限が必要になるため多くのHPCセンターでは利用が難しくまたHPCコンポーネントであるInterconnectやコンテナ間のMPI通信も困難でした。そこで世界中の多くの科学者からHPC/AI分野にでも利用可能なコンテナ型の仮想環境の要望が大きくなり、それに答えるべく開発されたのがSingularityです。Singularityではコンテナの実行にルート権限は必要なく一般ユーザで実施することが可能で、MPI通信、Interconnectとの親和性も高いHPC/AIといった最先端大規模計算向けのコンテナ仮想環境です。

コンテナ型仮想環境と他の仮想環境との違い

LinuxコンテナDockerとの比較

機能DockerSingularity
ジョブスケジューラの操作△ 
(Altair Grid Engineを用いると可能)
MPIのネイティブサポート△ 
(実行には非常に複雑な設定が必要)
InfiniBandのネイティブサポート△ 
(実行には非常に複雑な設定が必要)
GPUのネイティブサポートX
(別途nvidia-dockerのインスト-ルが必要)

(基本オプションを付けるだけで使用できる)
ルート権限を持つデーモンプロセス必要必要なし
(各ユーザがコンテナを立ち上げられる)

SingularityCEとSingularityPROの違い

Singularityはその開発元であるSylabs社から、無償でオープンソースのCommunity Editionと呼ばれる”SingularityCE”、そして有償版の”SingularityPRO”が提供されています。さらにSingularityPROが高い利便性を発揮できるようなエコシステムを構築する”Singularity Enterprise“があります。

SingularityPROユーザーは安定したセキュアなSingularityを利用することが可能で、開発元からのエンタープライズ向けのサポート、希望機能を次期開発用にリクエストする権限、緊急な追加モジュール提供の依頼とpluginによる機能強化を行うことが可能です。

また、セキュリティ問題が発生した際にSingularityPROユーザーは、SingularityCEユーザーよりいち早く障害通知およびバイナリパッチでのセキュリティ強化版が提供されます。このバイナリパッチにより、システム停止時間を可能な限り短くして高セキュアな環境を提供することが可能です。SingularityCEに対しては、PRO版のバイナリパッチが提供された後の提供となり、過去のバージョンへのバックポートもなく、提供自体も迅速に行われる保証がありません。

Singularity CE
(無償オープンソース版)
SingularityPRO
(有償版)
従来のHPCリソースサポート
リソースマネージャーに依存しない
SIF: Singularityイメージファイルフォーマット
SIFへの電子署名と検証可能性
OCI イメージファイルフォーマットとの互換性
常駐デーモンプロセスなし
非ルートユーザーのコンテナを実行可能
コンテナ内の特権エスカレーションをブロック
BOYE:自身の計算環境の転用が容易
AI / HPCワークフローとアーキテクチャのサポート
GPUをネイティブでサポート
セルフサービスサポートモデル(オープンソース)
コードキュレーションX
優先的で効率化されたセキュリティアップデートX
バグフィックス・セキュリティ対応のバックポートX
機能追加・プラグイン開発のリクエストX
ビルド済みSingularity RPM / DEBパッケージ提供X

SingularityPROの機能

SingularityPROの機能機能詳細
コンテナのセキュリティSingularityPROはコンテナに対して優れたセキュリティを保持します。
[含まれる機能]
信頼できるコンテナ: 電子署名及び暗号化が可能なシングルファイルのイメージフォーマット
ルート権限が必要なデーモンプロセスなし: 非ルートユーザーにて実行可能
一般ユーザー権限での幅広い対応: 一般ユーザー権限での対応範囲が広く、権限設定変更の必要性が低い
Singularityのリリースに対する長期サポートへのコミットメントセキュリティパッチとバグ修正がSingularityPROバージョンにバックポートされる長期サポート(リリース後2年間)。新規機能、バグ修正、セキュリティ修正がパッチバイナリの形で導入されたバージョン用に提供されるため、管理者はオープンソースバージョンの最新を維持するため継続的にSingularityコードベースを更新する負担から解放されます。
セキュリティパッチのリリースは事前にお知らせセキュリティ問題の発生とパッチのリリースは、コミュニティより先行してSingularityPROのお客様にお知らせします。
ご要望に沿ったサポートオプションカスタマイズされたサービス/サポートオプション。SingularityPROユーザーは、ご要望に合わせたカスタム機能の開発をリクエストすることが可能です。 オプションには、特殊なハードウェアデバイスのサポートも含まれます。

エンタープライズレベルのサポート

Pacific Teckは、Singularity開発チームとの緊密に連携しローカルサポートを提供いたします。 Singularity開発チームはSingularityを製品化し、最高レベルのサポートを提供する独自の権限を持っています。 開発チームにはSingularity Communityの主要メンバーが在籍しています。

ユースケース

HPC・サイエンスコンピューティング

Singularityは、HPC(およびEPC)が選択するオープンソースコンテナランタイムです。 1日あたり100万を超えるコンテナが実行され、推定ユーザーベースは300万を超えるx86コアにインストールされています。 世界中のラボで広く採用されています。

マシンラーニング

マシーンラーニングでは、GPUの最大限の有効活用が重要です。 他のコンテナプラットフォームとは異なり、Singularityは、コンテナをシンプルかつポータブルに、ゼロ構成でホストシステム上のGPUを活用できます。 実行時に–nvオプションを渡すだけです。

Singularity Enterprise

Singularity Enterpriseの機能
  • Remote Builder(リモートビルダー)
  • Key Store(キーストア)
  • Container Library(コンテナライブラリー)

Singularity Enterpriseは、SingularityPROを取り巻き、コンテナのエコシステムを構築する3つの機能:Remote Builder・Key Store・Container LibraryをKubernetes上で実現するものです。多彩なコンテナイメージを作成・駆使しつつ、高い利便性とセキュアな運用が必要な方にはSingularity Enterpriseの導入をおすすめします。

使用実績

  • 「富岳」 / 理化学研究所 – 日本
  • ABCI / 産総研 – 日本
  • 台湾ナショナルスーパーコンピュータセンター (NCHC) – 台湾

BLOG関連記事

Singularity関連動画

ホワイトペーパー・ソリューションブリーフ

SingularityPROのお見積もり・お問い合わせ

お客様のご要望に合わせてカスタマイズが可能です。システム構成などお気軽にご相談ください。