CERNの大型ハドロン衝突型加速器(LHC)のビーム強度は、アップグレードにより大幅に向上し、それに伴い測定データ量が飛躍的に増加する。このデータ量の増大は、LHCに現在設置されているデータ取得システムの帯域幅や技術的能力をはるかに超える、非常に高いデータレートをもたらす。特に、コンパクトミューオンソレノイド(CMS)実験の粒子検出器からのデータレートは、2Tb/sから50Tb/sに上昇する。この膨大な粒子(イベント)情報は、純粋なソフトウェア処理ではリアルタイム処理が不可能であり、特別なハードウェアを用いて処理する必要がある。
CMS検出器から出力されるデータのほとんどは、実験物理学の観点からは興味の対象とならない。検出された粒子のうち、関連情報を含み、さらなる分析に使用できるのは、ほんの一部に過ぎない。現代物理学の研究において特に興味深い粒子の1つに、タウレプトンがある。しかし、タウレプトンは、他の粒子に急速に崩壊するため、CMS検出器で直接同定することはできない。その代わり、崩壊後の生成物を登録・分析することで、タウレプトンを発見することができる。
崩壊生成物の情報からタウレプトン粒子を発見し、その特性を再構成するアルゴリズムは、HPS(Hadron-Plus-Strips)タウレプトン トリガーと呼ばれている。このアルゴリズムは、複数の手順で構成され、多くの数学的計算とデータ操作を伴う。HPSタウアルゴリズムは、これまでソフトウェアで実装され、再構成されたイベントの事後解析に使用されてきた。しかし、最速のCPU上で実行したとしても、タウレプトン トリガーアルゴリズムを用いたリアルタイムデータ処理は、ソフトウェアでは不可能であることは明らかである。その代わり、高レートの入力データに対応するためには、アルゴリズムのハードウェア実装(FPGAによる実装など)が必要となる。この目標のために、オンザフライでのタウレプトン再構成のターゲットハードウェアとして、ハイエンドのAMD(Xilinx)VirtexUltraScale+ FPGAが選択された。このFPGAは、高性能、高速I/O数、価格性能比などの基準に基づき、CMS実験グループによって主要なFPGAプラットフォームとして選択された。
本稿では、CMS実験に特化したアルゴリズムについて説明しているが、その原理や懸念事項は、極めて高いデータレートを処理するFPGAベースの設計の構築に関連する他のタスクにも共通するものである。本稿の目的は、FPGAハードウェアにおけるHPSタウトリガーの開発のために採用されたアプローチを紹介することである。要求仕様が厳しいため、アルゴリズムをそのまま実装することはできなかった。その代わり、設計探査プロセスで試行された様々なアーキテクチャソリューションを提示し、比較している。
従来、FPGAファームウェアは、HDL言語(VHDLやVerilogなど)のいずれかとRTL設計の概念を用いて開発されてきた。しかし、タウ トリガーアルゴリズムの複雑さから、このアプローチの効率性に疑問が生じた。
まず、必要な計算ステップをすべて実行するHDLコードベースを手作業で作成するために必要な労力は、膨大なものになると予想される。その上、ソフトウェア言語でタウトリガーの参照実装によって定義された元のアルゴリズムステップは、多数のFSM、レジスタ、信号/バス、FIFO、その他のHDLブロックに変換する必要があるため、結果として得られるコードのレビューや保守は困難になる。参照ソフトウェア実装とRTLコードの間に直接的なマッピングが存在しないため、アルゴリズムに何らかの適応や更新が行われた場合、変更を導入することが複雑になる。このため、RTL HDLコードを用いたアルゴリズムの実装は現実的ではない。
上記の課題を克服するために、C++ソースコードからRTL HDLを自動的に生成することができる高位合成(HLS)アプローチを使用することが決定された。このようにして、ループ、分岐、高レベルデータ構造など、典型的なC++構造を使用できるという利点がある。AMD/Xilinxは、Vivado/Vitis Design Suiteの統合部分としてHLSを提供している。
FPGAを用いた高速データ処理の最大の利点は、プログラマブルロジックの比類なき柔軟性と、並列化の優れた可能性である。並列計算を実行する能力が、独立したCPUコアの数が少ないために制限されるCPUベースのソリューションとは異なり、FPGAは、すべて同時に動作する多くの異なる処理モジュールを搭載することができる。後者は、大規模な並列化を配置し、様々なスタイルのパイプライン処理を利用する可能性を与える。しかし、FPGAプラットフォームの利点を生かすためには、必要な動作を使用可能なプログラマブルロジックリソースにマッピングするために、アーキテクチャと設計空間の徹底的な探査を行う必要がある。本稿では、HPSタウレプトンアルゴリズムの開発中に利用された、設計の探査と実装のための反復的なアプローチを紹介する。
本稿では、CERNのCMS実験で使用されるHPSタウ トリガーアルゴリズムのFPGAベース設計のケーススタディを紹介した。アルゴリズムのハードウェア実装は、高位合成手法を用いて開発された。これは、高レベルプログラミング言語記述(C++など)からRTL VerilogまたはVHDLコードへの迅速な変換を可能にするものである。CMSの要求仕様から来る厳しい面積、レイテンシ、タイミングの制約のため、FPGAファブリックへのアルゴリズムの実装には、様々な設計アーキテクチャの徹底的な探査が必要であった。本稿では、C++からRTLコードへの直接的なマッピングから始まり、アルゴリズムのパイプラインへの分割、パイプラインステージの最適化へと続く、開発プロセスで行ってきたステップを紹介した。本稿では、特定のHPSタウ トリガーアルゴリズムの実装について説明しているが、その原理や懸念事項は、極めて高いデータレートを処理する必要がある他のFPGAベースの設計にも共通するものである。
他の言語に翻訳
原文コンテンツから
arxiv.org
深掘り質問