見出し画像

半導体設計インフラにおけるライセンスマッチング

他のスケジューラに比べ、Acceleratorが高速にElectronic Design Automation(EDA)ライセンスを制御できるのは、ライセンスマッチングという仕組みがあるからです。

ライセンスマッチングの仕組み

Acceleratorは、ユーザが要求するジョブとEDAライセンスの使用やハードウェア負荷といった計算リソースの状況を、リアルタイムで更新しながらマッチングしています。Acceleratorは、投入されたジョブと見比べて、計算に必要なリソースの状態をいつでも知っていることになります。

高速ジョブ実行の仕組み

Acceleratorはライセンスサーバに頻繁に問合わせしなくても、いくつライセンスが使われているかをかなり正確に把握しています。それによりライセンスサーバへの問合せの時間を省いて、ジョブを実行し、数十秒のムダな時間を節約することができます。

ライセンスマッチングの処理速度

さらにAcceleratorは、ライセンスサーバよりも早くEDAライセンスの使用状況を知ることで次のような離れ業が可能となります。

  • 和解機能(Reconciliation)
    あるジョブが確保しているフィーチャーを、使用されていないタイミングで、一時的に他のジョブに譲る機能。

  • オーバーブッキング機能
    実際のEDAライセンス数よりも多く所有しているように設定し、オーバーブッキングを生じさせライセンスを高速に掴み⇔解放する動きの中で、最大限に大量のジョブ実行させる機能。 

一方で、Acceleratorはライセンスサーバに定期的に問合わせもしています。そのためインタラクティブに使っているユーザ(アウト・オブ・キューの利用)も把握できます。

計算リソースの把握

また、Acceleratorはハードウェアの負荷状況も知っています。稼働率が低い計算サーバへ自動的に優先してジョブ投入することができます。

さらにAcceleratorはメモリの使用状況も知っています。ひとつの計算ノードに多数のジョブが投入されメモリが枯渇しそうになったとき、一番大きくメモリを使っているジョブだけを残して、他を一時休止させるレスキュー機能も可能となります。(RAM sentry)

あるジョブがメモリを予想外に多く消費すると、同じノードに投入された全てのジョブの進行が妨げられてしまいます。このようなクレームをユーザから受けたことはないでしょうか。こんな時RAM sentryがあれば、他のジョブを休止させ、大きなメモリを使っているジョブに、すべてのメモリ容量を割当てることで早く計算を終わらせることができます。そのジョブが終了した後、休止していた他のジョブは再開されます。


この記事が気に入ったらサポートをしてみませんか?