cunoFS (クノーエフエス) はオブジェクトストレージを POSIX ファイルシステムとしてマウントしたかのように使用できるソフトウェアです。他のサービス/ツールの数倍~数十倍のスループットを可能とし、ノードあたり 50 Gbps 以上、複数ノードで 10Tbps 以上のベンチマークを達成しています。
ワークロードからはファイルとして、ディレクトリ階層を用いて、バケットの中身にアクセスすることができるようになります。ユーザーレベルのアクセスを可能とし、既存の Linux アプリケーションをそのまま利用することができるようになります。
Wasabi, Amazon AWS S3, Microsoft Azure Blob Storage, Google Cloud Storage, Oracle Cloud Infrastructureといったマルチクラウドに加え、オンプレミスオブジェクトストレージも、cunoFSを用いて一つの環境に統合させることができます。アプリケーションの変更は必要ありません。
cunoFS は Wasabi をはじめとする主要なオブジェクトストレージに対応しています。cunoFS を用いてオブジェクトストレージに保存されるファイルは そのままの形で1 ファイル 1 オブジェクトとして保存されるため、cunoFS が無い環境でも読み取ることができます。
POSIX 準拠のアプリケーションのバイナリーを変更する必要はありません。cunoFS を利用することでバケット内のファイルに直接アクセスすることができるようになります。
パスや、ユーザー/グループのアクセス許可、シンボリック リンク、ハードリンク、POSIX ACL を使用して期待通りの環境を構築することができます。
アクセス方法は右図の通り、URI ベースとパス名指定の2種類が使えます。ただし、アプリケーションによっては URI でのアクセスに対応できない場合があります。
例えば、 AWS EC2 インスタンスで cunoFS を起動するだけで、アプリケーションからバケットのオブジェクトに直接、ファイルやディレクトリーとしてアクセスすることができるようになります。
インスタンスストアや EBS、EFS/FSx を用いてステージングする必要がありません。特筆すべきはその性能。S3FS などの同様のツールはもちろん、個別ストレージソリューションをも圧倒します。
また、お手元のシステムに cunoFS をインストールしてクラウドストレージに接続する場合でも、ネットワーク性能に応じた最大限のスループットで利用することができます。
50+ Gbps Read & Write | |
0.75 ~ 6.6 Gbps Read 0.25 ~ 3.8 Gbps Write |
cunoFS を使えばファイルのステージングが必要なくなります。これはステージング用のストレージも不要となることを意味します。
高速で大容量のストレージは高価になりがちです。オーバーヘッドもなく高速な cunoFS を利用してステージングを排除することで、その他のストレージを用いて複雑なシステムを構築する場合に比べ、大幅なコスト削減につながります。
例えば AWS EC2 の c5n.18xlarge インスタンスで利用する場合、cunoFS を用いると数十倍のスループットの環境を EFS の数分の 1 の価格で実現することができます。
cunoFS は大きなサイズのファイル転送だけでなく、小さく大量のファイルの転送においても他ツールやサービスよりはるかに高速です。
数GB のファイルの読み書きにおいて、cunoFS は他のサービスおよびツールの数倍~数十倍の驚異的なスループットを実現します。
多数の小さなファイルを扱う場合でも高いパフォーマンスを実現します。例えば、EC2/S3 間で cp コマンドで 75,000 ファイルの Linux カーネルソースコードを転送する場合、他ツール/サービスでは数時間を要してしまいました。一方、cunoFS 環境では書き込みがたった 2 分強、読み取りもわずか 21 秒で完了することができました。
cunoFS は 1 ノード当たりの性能も高いですが、複数のノードを集約してデータ転送させることが可能であり、ノード数が多いほどスループット性能が向上します。 AWS EC2 c5n.18xlarge 256ノードを用いて 10.9Tbps を記録しました。
EFS | EBS (gp3) | FSx Lustre (1.2TiB scratch) | s3ql | goofys | s3fs | |||
---|---|---|---|---|---|---|---|---|
Throughput write (cp 5×32 GiB files) | 50+ Gbps | 50+ Gbps | 0.86 Gbps | 2.6 Gbps | 1.2 Gbps | 2.14 Gbps | 3.83 Gbps | 0.25 Gbps |
Throughput read (cp 5×32 GiB files) | 50+ Gbps | 50+ Gbps | 2.1 Gbps | 2.8 Gbps | 2.1 Gbps | 1.45 Gbps | 6.62 Gbps | 0.75 Gbps |
Read Linux kernel source from storage | 21 sec | 21 sec | 10 min 31 sec | 8 min 29 sec | 16 min 13 sec | 16 min 38 sec | 3 min 8 sec | 13 min 40 sec |
Write Linux kernel source files to storage | 2 min 8 sec | 2 min 8 sec | 5 min 45 sec | 16 sec | 4 min 5 sec | 26 min | 1 hour 20 min | 2 hours 11 min |
EFS | EBS (gp3) | FSx Lustre (1.2TiB scratch) | s3ql | goofys | s3fs | |||
---|---|---|---|---|---|---|---|---|
Access object as files | ✔︎ | ✔︎ | – | – | 1.2 Gbps | 2.14 Gbps | 3.83 Gbps | 0.25 Gbps |
Access files as object | ✔︎ | ✔︎ | – | – | 2.1 Gbps | 1.45 Gbps | 6.62 Gbps | 0.75 Gbps |
POSIX consistency domain | per user per node | cross user cross node | cross user cross node | single mount single node | cross user cross node | single mount single node | per mount per node | per mount per node |
Atomic rename & hard links | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | – | – |
Mode, UID/GID/permissions, timestamps | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | – | ✔︎ |
POSIX ACL | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | – | ✔︎ |
Random writes symlinks, fsync | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | – | ✔︎ |
File locking | per user per node | cross user cross node | cross user cross node | single node | cross user cross node | – | – | – |
POSIX permissions enforced at Object API | S3 | S3 | – | – | – | – | – | – |
EFS | EBS (gp3) | FSx Lustre (1.2TiB scratch) | s3ql | goofys | s3fs | |||
---|---|---|---|---|---|---|---|---|
Performance scales with nodes | ✔︎ | ✔︎ | – | – | by volume size | – | ✔︎ | ✔︎ |
Multi-node support | weak consistency | ✔︎ | ✔︎ | ✔︎ | ✔︎ | – | weak consistency | weak consistency |
低速なストレージではデータの操作や運用に時間がかかりすぎ、そこから重要な洞察をすばやく得ることはできません。データを効率的に活用するためには、データの規模に合わせて拡張できなければなりません。Hadoop、Spark、またはその他のビッグ データ プラットフォームを使用している場合でも、 HBaseを実行している場合でも、単にRStudioとShinyを使用して視覚化したい場合でも cunoFS は高速な環境を提供します。
必要とされるデータはより集約的になり、研究には数十から数百 PB のデータ容量が必要とされるようになりました。しかし、ほとんどのライフサイエンスにおけるソフトウェアは、ネイティブ オブジェクトのサポートが遅く制限されているか、通常は POSIX ファイル システムしかサポートされていません。cunoFS はクラウドストレージを用いて POSIX ネイティブで高速なストレージを提供します。
近年の HPC 分野ではストレージに対してこれまで以上に高いパフォーマンスとスケールが必要とされている一方で、予算や消費電力についてはこれまで以上に厳しくなってきています。cunoFS により、安価で大容量なオブジェクトストレージを直接かつ高速に使うことができ、 HPC 分野で大きな威力を発揮します。
機械学習の登場でデータストレージへの性能要求は極めて高度になり、最重要な性能指標の1つとなりました。GPU への高いスループット性能が要求されるだけでなく、多数の小さなファイルをハンドリングする必要があります。TensorFlow、PyTorch、Dask、またはその他のフレームワークすべてにおいて、 cunoFS は高速なクラウドストレージ環境を提供します。
メディア業界は、ストレージ、制作ワークフロー管理、配信、ストリーミングにおいて、複数の課題に取り組んでいます。グローバルに冗長化された共有ストレージを必要とする地域分散型のコンテンツ制作、Omniverseオーサリングのストレージパフォーマンスの課題、効率的なLambdaトランスコーディングや静的/動的パッケージングを検討している場合、cunoFSが大いに役立つでしょう。
お客様のご要望に合わせてカスタマイズが可能です。システム構成などお気軽にご相談ください。