IBM Cloud Docs
フリートのワークロード

フリートのワークロード

IBM Cloud® Code Engine 完全に管理されたサーバーレスプラットフォームであり、フリートワークロードを含むコンテナ化されたワークロードを実行します。 フリートの Code Engine 運用について学ぶ

フリートとは何か?

フリートはサーバーレスフリートとも呼ばれ、 Code Engine、ユーザーコードの1つまたは複数のインスタンスを並列に実行し、計算集約的なタスクの大きなキューを完了させるコンピュートコンポーネントである。 フリートは仮想プライベート・クラウドに接続し、ユーザーのデータやサービスと安全に相互運用することができる。 バッチジョブとは異なり、フリートは動的なタスクキューイングとシングルテナント分離を提供し、 vCPU と GPU の両方に対応しています。

フリートはどのように機能するのか?

フリートには、タスク、インスタンス、ワーカーノードという3つの主要な要素がある。 ひとつのタスクは、ワーカー・ノード上で実行されるユーザー・コードのインスタンスひとつで完了する。 各ワーカーノードは複数のタスクを同時に実行できるため、多くのタスクを並行して完了させることができる。 タスクが完了すると、新しいインスタンスがワーカーノード上でスピンアップし、キューで次に利用可能なタスクを完了させる。 このプロセスは、すべてのタスクが完了するまで各ワーカーノードで繰り返され、その時点でワーカーノードは自動的にデプロビジョニングされます。

フリートと仕事はどう違うのか?

主に小規模から中規模のタスクを対象とするバッチジョブとは異なり、フリートは大規模で計算負荷の高いタスクを完了するように設計されている。 仕事とフリートの具体的な違いについては、以下の表をご覧ください。

Code Engine フリートと仕事の比較
特性 フリート ジョブ
分離 シングル・テナント マルチテナント
タスクサイズ 大きな仕事 中小規模のタスク
実装 動的キュー 静的配列
マシン構成 マシンプロファイルのフルコントロール マシンのプロファイルを制御できない
VPC接続 既存のVPCにネイティブ接続 プライベートパスが必要

Code Engine、どのような特徴がありますか?

Code Engine におけるフリートとの協働について詳しくは、以下のトピックをご覧ください。

自動スケーリング

Code Engine。フリート内のワーカーノードは、リソース要件を最も効率的に満たすように自動的にスケーリングされます。 デプロイされるワーカーのプロファイルを Code Engine に決定させることも、GPU タイプなど特定のプロファイルを選択することもできます。 どちらの場合でも、 Code Engine、作業員数を自動的に調整し、最大の効率レベルを実現する。

デプロイされるワーカーの数は、完了すべきタスクの数、コードのインスタンスに必要なリソース、一度に実行したい同時インスタンスの最大数に基づいている。 これらの設定を調整することで、わずか1件から数百万件までのタスクを完了させるためにフリート規模を拡大することができる。

例えば、4つのタスクがあるとする。 タスクを完了するコードの各インスタンスには 1 vCPU and 2 GB memory が必要で、合計で 4 vCPU and 8GB memory が必要となる。 最大同時インスタンス数を2に設定すると、 Code Engine、1つのワーカーノードを 2 vCPU and 4 GB memory 、同時に2つのインスタンスを実行するようにデプロイできる。 最大同時インスタンス数を4に設定した場合、 Code Engine、同じワーカーノードを2台デプロイして、両方のワーカーで4つのインスタンスを同時に実行することができます。 2つ目のシナリオでは、フリートはより早く終了するが、より多くの労働者を配置する必要がある。 ワーカーノードの自動デプロイには無限の組み合わせがあり、さまざまなプロファイルのワーカーノードがデプロイされる可能性があることに注意してください。

GPUでは自動スケーリングは利用できません。 フリート用に GPU をデプロイするには、デプロイする GPU ワーカーのタイプを指定する必要があります。

タスクとインスタンスの仕様

フリート展開の際、ユーザーは完了するタスクの数、一度に実行するインスタンスの数、タスクを完了する順序を指定できる。 フリートは、複数のインスタンスを同時に起動することで、多くのタスクを並行して進めることができる。 すべてのインスタンスは、艦隊の仕様と同じ量の vCPU とメモリで作成される。 さらに、ユーザーはタスク仕様ファイルを作成して、各タスクに特定のコマンドと引数を提供したり、カスタムタスクインデックスを作成したりすることができる。

COSのタスクストレージ

フリート作成時に永続データストアとバケットサブパスを指定することで、フリート用のタスクを提供するためにCOSバケットを使用できます。 COSバケット内の各オブジェクトは1つのタスクを表す。

分離

バッチジョブとは異なり、フリートはシングルテナントの分離を提供する。 あなたのフリートワーカーは他のユーザーと共有されません。

再試行

各フリート・インスタンスは完了まで実行される。 ただし、エラーが発生した場合は、 Code Engine、インスタンスを再起動する。 失敗したインスタンスの再起動を避けるために、最大再試行回数を制限することができます。

ステータス

少なくとも1つのワーカーノードがプロビジョニングされると、フリートは Running のステータスになります。 艦隊が稼働を停止した際、すべてのタスクが正常に完了した場合は「正常 Succeeded 」状態となり、1つ以上のタスクが失敗した場合は Failed 「異常」状態となる。 また、フリートをキャンセルすることもできる。

詳しくは、 フリート状況を把握するを ご覧ください。

労働者プロフィール

任意で、現場作業員のプロファイルを選択できます。 プロファイルを指定しない場合、 Code Engine がプロファイルを選択します。

Code Engine 艦隊は次のプロファイルファミリをサポートします:

平衡型
インスタンス・プロファイル
bx2-2x8
bx2-4x16
bx2-8x32
bx2-16x64
bx2-32x128
bx2-48x192
bx2-64x256
bx2-96x384
bx2-128x512
bx2a-2x8
bx2a-4x16
bx2a-8x32
bx2a-16x64
bx2a-32x128
bx2a-48x192
bx2a-64x256
bx2a-96x384
bx2a-128x512
bx2a-228x912
bx2d-2x8
bx2d-8x32
bx2d-16x64
bx3d-2x10
bx3d-4x20
bx3d-8x40
bx3d-16x80
bx3d-24x120
bx3d-32x160
bx3d-48x240
bx3d-64x320
Compute
インスタンス・プロファイル
cx2-2x4
cx2-4x8
cx2-8x16
cx2-16x32
cx2-32x64
cx2-48x96
cx2-64x128
cx2-96x192
cx2-128x256
cx3d-2x5
cx3d-4x10
cx3d-8x20
cx3d-16x40
cx3d-24x60
cx3d-32x80
cx3d-48x120
cx3d-64x160
メモリー
インスタンス・プロファイル
mx2-2x16
mx2-4x32
mx2-8x64
mx2-16x128
mx2-32x256
mx2-48x384
mx2-64x512
mx2-96x768
mx2-128x1024
mx2d-16x128
mx2d-64x512
mx2d-96x768
mx3d-2x20
mx3d-4x40
mx3d-8x16
mx3d-16x160
mx3d-24x240
mx3d-32x320
mx3d-48x480
mx3d-64x640
GPU
インスタンス・プロファイル
gx3-16x80x1l4
gx3-32x160x2l4
gx3-64x320x4l4
gx3-24x120x1l40s
gx3-48x240x2l40s
gx2-8x64x1v100
gx2-16x128x1v100
gx2-16x128x2v100
gx2-32x256x2v100
gx3d-24x120x1a100p
gx3d-48x240x2a100p
gx3d-160x1792x8h100
Flex
インスタンス・プロファイル
nxf-2x1
nxf-2x2
bxf-2x8
bxf-4x16
bxf-8x32
bxf-16x64
bxf-24x96
bxf-32x128
bxf-48x192
bxf-64x256
cxf-2x4
cxf-4x8
cxf-8x16
cxf-16x32
cxf-24x48
cxf-32x64
cxf-48x96
cxf-64x128
mxf-2x16
mxf-4x32
mxf-8x64
mxf-16x128
mxf-24x192
mxf-32x256
mxf-48x384
mxf-64x512

一部のプロファイルは、すべてのVPCネットワークゾーンで利用できない場合があります。 以下の CLI コマンドを使用して、リージョン内のプロファイルを一覧表示できます。

ibmcloud is instance-profiles
  • H100 や L40s などの特定プロファイルのゾーン別可用性と容量を知りたい場合は、 サポートケースを開き、トピックとして「Virtual Private Cloud (VPC)」を選択してください。
  • 現在Fleetsでサポートされていない特定のVPCプロファイルが必要な場合は、 サポートケースを開き、トピックとして「 Code Engine 」を選択してください。

フリートはどうすれば始められますか?

icr.io/codeengine/helloworld サンプルイメージでシンプルな Code Engine フリート を作成して実行するには、 最初の Code Engine フリート を実行する を参照してください。