リリースノート

バージョン 3.12.1

  • Docker の CPU メモリ管理を改善しました。

  • レポート作成エラーが発生した場合、ユーザー インターフェイスにエラー メッセージが表示されるようになりました。

  • バージョン 3.11.0 で導入されたログのエクスポートに関連するマイナーなバグを修正しました。

  • テキスト出力で改行が認識されないことがある問題を修正しました。

バージョン 3.12.0

  • Incredibuild のユーザー インターフェイスに HTTPS でアクセスできるようになりました。

  • Incredibuild コンポーネント間の通信を SSL で暗号化できるようになりました。

  • Docker コンテナのリソース制限を考慮できるようになりました。

  • ビルドで Initiator が使用するローカル コアの最大数を指定できるようになりました。

  • ログファイルのエクスポートが速くなりました。

  • バグを修正し、安定性が向上しました。

バージョン 3.11.0

Incredibuild Cloud が利用可能になりました

Incredibuild Cloud でクラウド VM を使って数百コアまで瞬時にスケールアップが可能です。コスト削減とパフォーマンスの最大化のためのアルゴリズムが採用されています。

バージョン 3.10.0

バージョン 3.9.0

Incredibuild Linux UI が次に対応しました。

  • コーディネーター モニターの操作: 複数のマシンに対してフィルターを使った一括操作

  • コーディネーター モニターの表示: ページごと最適なエントリ数の選択

  • コーディネーター モニターの絞り込み表示: 検索列を選択するためのドロップダウンの追加

  • バグを修正し、安定性が向上しました。

バージョン 3.8.3

注意: Incredibuild Linux のべージョン番号をセマンティック バージョニング形式に変更しました。これにより、新しいバージョンがリリースされた際に、どのような種類の変更が行われたのかが分かるようになりました。バージョン 0.96.80 の次のバージョンは 3.8.3 (以前の形式では 0.96.91) となります。

コーディネーター モニター:

  • コーディネーター モニターのグリッド表示にフィルター機能を追加しました

    項目

    Agent のステータス

    • Agent Name

    • Agent IP

    • Build Group

    • Licensed / Agent’s Cores

    • Initiator / Helper Active Cores

    • Memory

    • Operating System

    • Model Name

    • Version

    • Subscribed

    • Unsubscribed

    • Online

    • Offline

  • Agent 管理コンソールのユーザー認証:

    Agent UI のアクセスを管理できるようにユーザー認証を追加しました。ユーザー グループは次の 2 つです。

    • 認証ユーザー (編集・閲覧が可能)

    • ゲスト ユーザー (閲覧のみ可能)

既定では無効です。ユーザーが作成されていなければ、ユーザー認証は無効になります。

  • --no-monitor モードで実行中でも [Monitor] タブを開けるようになりました。

  • [Build History] タブから「ビルドを停止」できるようになりました。

  • [Task Information] 画面に「Task Duration (タスク期間)」を追加しました。

ビルド グループ:

  • ビルド グループに新たな機能が追加されました。

    • コーディネーター モニターからマシンをビルド グループに割り当てられるようになりました (サブスクライブの操作と同様)。

    • Initiator には同じビルド グループを共有する Helper のコアしか割り当てることはできません。

  • すべてのマシンが「既定」のビルド グループの一員として定義済みです。

  • ビルド グループの設定 (編集、追加、削除) は [Coordinator Settings] タブで行うことができます。

インストールの検証:

  • ディスクの空き容量が 50 GB 未満かつディスク パーティションの 20% 未満の場合、インストールに失敗します。

  • ディレクトリのアクセス権が不足している場合、Incredibuild のストレージに tmpfs ファイル システムを使用できません。

バージョン 0.96.80

Android 10 (Q) (AOSP) に対応しました。

Incredibuild Linux で Android 10 (Q) ビルドの実行を高速化できるようになりました。

詳しくは「Android OS ビルド (AOSP) の高速化」をご覧ください。

バグを修正し、安定性が向上しました。

バージョン 0.96.71

新しいライセンス タイプ「シングルユース VM」の導入

Incredibuild Linux に新しいライセンス タイプ「シングルユース VM (SUVM)」を導入しました。このライセンスはタスクの実行に CPU リソースを追加で提供するためだけに起動される仮想マシンやコンテナを想定しており、対象のタスクが終わるとマシンは停止します。SUVM ライセンスはマシンの起動時にコーディネーターによって自動的に割り当てられます。タスクが終わってマシンが停止すると、ライセンスは割り当て解除・回収されます。回収されたライセンスは次回のビルドで再度利用されます。SUVM ライセンスの詳細は Sales@Incredibuild.com までお問い合わせください。

「ビルド回避」機能の実装

新しく実装されたキャッシング オプションにより、最新のオブジェクトをリビルドしないことで、タスク実行のプロセスを高速化することができます。この機能はニーズやリソースに応じて、シェルから簡単にオン・オフを切り替えることができます。

Bazel への対応

Bazel (~ 0.25.0) と Bazel サンドボックスでのビルドに対応しました。

その他の改善点

  • インストール プロセスを改善しました。

  • Incredibuild Linux の動作に必要なネットワーク ポートの設定作業をより簡単かつ安全に行えるようになりました。

バージョン 0.96.37

  • Coordinator の再起動時にビルドが失敗することがある問題を修正しました。

  • ビルドを実行中に Initiator と Coordinator の接続が切断するとビルドが失敗する問題を修正しました。

  • 安定性が向上しました。

バージョン 0.96.26

ビルド システムへの対応

Gradle ビルドの高速化を試験的にサポートしました。詳しくは support@Incredibuild.com までお問い合わせください。

パフォーマンス

  • 実行時のパフォーマンスが最大 20% 向上するオプションを追加しました。このオプションを使用すると、グラフィカルな表示やビルド クエリに使われる Incredibuild のデータ表示機能が無効になりますが、コンソール画面のビルド出力やビルド履歴は利用できます。次の 2 つの方法で使用できます。

    • ib_console のコマンドラインに「--no-monitor」オプションを追加する。

    • Initiator マシンの Agent Setting を開き、[Visualization] タブ下の [Enable Build Monitor] チェックボックスをオフにする。

  • 一般的な最適化を行うことでパフォーマンスを最大 7% 向上させることができます。

その他

  • 新しいライセンスを Coordinator に読み込んでも Agent 間でライセンス コアの割り当てが維持されるようになりました。

  • 安定性に関する様々なバグを修正しました。

バージョン 0.95.12

ビルド システムへの対応

  • Bazel ビルド システムを試験的にサポートしました。一般的な TensorFlow プロジェクトのコンパイルでベンチマークを測定したところ 7.5 倍の高速化 (コンパイルが 65 分から8.5 分に短縮) を確認しました。

  • Incredibuild で Bazel ビルドを実行するには通常の Bazel コマンドに次を追加します。

    --jobs=N --local_resources=R,N,1

    N には Incredibuild 環境のコア総数、R には N に 200 を掛けた値を入力します。例えば、Incredibuild 環境に 70 コアがある場合は次の通りです。

    --jobs=70 --local_resources=14000,70,1

  • ccache のサポート: Incredibuild のすべての動作モード (明示的な起動とソフト リンク経由の暗黙的な起動) で ccache を完全にサポートしました。詳しくは ccache のガイド (https://ccache.samba.org/manual.html#_run_modes) をご覧ください。

Incredibuild で作成された ccache のデータベースが、Incredibuild なしで実行したビルドで使用されること (またはその逆) があります。つまり、Incredibuild の使用に関係なく ccache との完全な相互運用性があります。

インストール

  • ユーザー側で Incredibuild を更新する際のトラブルを回避するため、新しいユーティリティ スクリプト「ib_apply_upgrade.sh」を導入しました (格納場所: /opt/incredibuild/management)。このスクリプトを Coordinator がインストールされているマシン上で sudo を使って実行すると、更新用の tar ファイルを取得できます。コマンドラインの例は次の通りです。

    sudo /opt/incredibuild/management/ib_apply_upgrade.sh Incredibuild_upgrade_0.94.95.tar.bz2

    ファイルが適当な場所に解凍されて、ネットワーク上のすべての Agent が Coordinator と同一バージョンに更新されます。

  • Incredibuild のインストールの変更。

    -O <coordinator ip/hostname> は -C オプションが指定されていない場合のみ必要になりました。Coordinator をインストールする際には、ローカル ホストが必要なので、-O は不要となります。

その他

  • chroot 管理スクリプトが更新され schroot を正しくサポートするようになりました。

    ib_chroot.sh と ib_schroot.sh の 2 つのスクリプトがあります。

    ib_chroot.sh は通常の chroot 用で、構文は同じです。

    ib_schroot.sh は schroot ユーザー用です。ib_schroot.sh が chroot が作成されるディレクトリではなく、chroot の名前をパラメーターとして受け取ることが大きな違いです。これは schroot の正規の構文に準拠しています。追加と削除のセマンティクスは同じで、コマンドライン ヘルプに表示されます。

    重要: Incredibuild が schroot ディレクトリにアクセスできるようにするには、/etc/schroot/default/fstab ファイルに次を追加する必要があります。

    /opt/incredibuild /opt/incredibuild none ro,bind 0 0