メインコンテンツまでスキップ
バージョン: v2512

コンポーネントの詳細

AIBoosterはServerとAgentの二つのコンポーネントから構成されています。

  • AIBooster Server
    • サーバ上に展開され、テレメトリデータの分析データベースおよび可視化ダッシュボードを提供
  • AIBooster Agent
    • 計算ノード上に展開され、テレメトリデータの収集や自律最適化を実行

本節では、それぞれのコンポーネントの構成要素を紹介し、コンポーネントがシステムへ与える影響を明らかにします。

Server

Server コンテナ群は、Agent が稼働する計算ノードと同一ネットワークに接続された1台のLinuxノード上で動かすことを前提としています。専用の管理ノードに配置しても、Agentを導入した計算ノードのいずれかに同居させてもかまいません。

Serverに含まれるコンテナは以下のとおりです:

  • ClickHouse: データを格納
  • Grafana: 可視化機能
  • Nginx: リバースプロキシ

また、Server コンテナ群が動作するノードでは、次のポートが開放されている必要があります:

ポート想定アクセス元用途
3000ユーザーのPC性能観測ダッシュボードへのアクセス
8123Agentが動作するノード群メトリクス収集
16697Agentが動作するノード群Serverノードとの通信用

Server インストーラーが実施すること

Serverのインストールを実施すると、以下が行われます。

必要なファイルの設置

必要なファイルを /opt/aibooster/server/ に配置します。

Dockerコンテナの起動

faib-server から始まる名前の3つのDockerコンテナがデプロイ・起動されます。これらのコンテナはシステム起動時に自動起動するように設定されています。

  • Dockerが開放するポートについて
    • 前述の表にある通り、3000番、8123番、16697番の3つのポートを開きます。
    • これらのポートはDockerが直接管理するため、ufwの制限の対象外です。ファイアウォールで制御する場合は、Dockerのiptablesルールを直接設定する必要があります。
  • 収集したデータを保存するDockerボリュームについて
    • faib-server から始まる名前の2つのDockerボリュームが /var/lib/docker/volumes/ に作成されます。集めたメトリクスのデータは時間とともに増大するため、ディスク容量に注意してください。
  • Dockerが作成するネットワークについて
    • 内部通信用に faib-server から始まる名前のブリッジネットワークを作成します。

Agent

Agentは、観測対象となるすべてのノードで常時起動していることを前提とします。これらのサービスは、ノードのハードウェアやシステムの状態を定点観測し、そこで実行中のプログラムの性能に関するメトリクスを収集します。

以下の機能を備えています:

  • Node Exporter: CPUやI/O関連のメトリクス収集
  • DCGM Exporter: GPUのメトリクス収集
  • PCM Exporter: Intel CPU/Memory Subsystem特有のメトリクス収集
  • eBPF Profiler: プログラムの実行状況の収集

Agent インストーラーが実施すること

Agentのインストールを実施すると、以下が行われます。

必要なファイルの設置

必要なファイルを /opt/aibooster/agent/ に配置します。また、systemdのターゲットファイル /etc/systemd/system/aibooster-agent.target といくつかのサービスファイル /etc/systemd/system/aibooster-agent-*.service を作成します。

systemdサービスの有効化と起動

aibooster-agent ターゲットといくつかのサービスををsystemdに登録し、システム起動時に自動起動するように設定します。