リアルタイム制御プログラムの自動並列化コンパイル手法とその高速化に関する研究
2023年度研究会推薦博士論文速報
[システム・アーキテクチャ研究会]
川角 冬馬
(早稲田大学 客員次席研究員)
【背景】工場自動化向け組込み機器のマルチコア化の需要増大
【問題】工場自動化における制御プログラムの効率的な自動並列化手法がないこと
【貢献】工場制御プログラムの高速な自動並列化手法の提案
プログラムを複数のコアに分担させる並列処理により,1つのコアを高速に動作させるよりも高い電力効率で計算が行えるため,スーパーコンピュータによる高性能計算では従来からマルチコアプロセッサによる並列処理が利用されていた.マルチコアプロセッサによる並列処理技術は,現在ではスーパーコンピュータだけではなく,一般向けの電子機器にも用いられている.たとえば,多くのスマートフォンや最新の代表的なコンシューマゲーム機はいずれも8つ以上のプロセッサコアを搭載している.
自動車や半導体の自動生産工場の制御にはプログラマブル・ロジック・コントローラ(PLC)と呼ばれる装置が広く普及している.PLCも省電力化による低発熱化・高耐久化のために,マルチコアによる並列処理が産業界から求められている.しかしながら,次の2つの問題が存在するため,PLCに用いられるプログラムの並列処理は困難であった.1つ目は解析時間の長期化の問題である.PLCに用いられるプログラムは従来のスーパーコンピュータに用いられたプログラムと異なり,並列処理可能な部分の解析に長時間を要する.2つ目はコア同士の通信処理の問題である.並列処理においては,計算結果データの共有や計算タイミングのやりとりといったコア間の通信が必要となるが,これらの通信処理の時間が並列処理による時間短縮分を上回ってしまい,結果として,並列処理によってプログラムを複数コアで分担したにもかかわらず,単一コアで処理する場合よりも多くの処理時間を要してしまう問題が存在した.
1つ目の解析時間長期化の問題について,本研究では,PLC向けプログラムの並列化可能個所を探索する前に,プログラムの各処理で使用される装置の番号を抽出し,抽出した情報によって後段の探索処理を補助することで解析時間の短縮を行った.2つ目のコア同士の通信処理の問題については,プログラム内で並列処理可能と判断された複数処理のうち,通信に要する時間よりも処理負荷が小さいと判断できる処理の集合をひとまとめにすることで並列化による通信時間の増大を抑制し,処理負荷の大きいもの同士でのみ並列処理を行うことで性能向上を図った.
上記の2つの手法について,産業界から提供された実際の半導体製造プログラムとマルチコアボードを用いて評価を行った.評価の結果,本研究の提案手法によって解析時間短縮と,マルチコアを用いた並列処理による性能向上が実現できることを確認した.
(2024年5月26日受付)
(2024年8月15日note公開)
ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー
取得年月:2024年3月
学位種別:博士(工学)
大学:早稲田大学
ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー
研究生活 私は大学進学よりも前から漠然と「高性能なコンピュータが作りたい」という思いがあり博士進学し,本研究に取り組みました.研究の開始当初はプログラムの解析が2日以上経っても終了しない,解析が完了しても高性能どころか逆に性能が下がるなど厳しい状態でしたが,これらの問題を注意深く解析し,克服する手法を提案することにより博士論文をまとめることができました.
博士研究でこれは解決不能ではないか,と思う問題に直面することは多々ありました.しかしこうした難しいと思った問題も,研究室の方々とともに議論をすることで多くの場合は想定よりも容易に解決策を見出すことができました.
博士進学については研究を一人で遂行しなければならないとか,いろいろと難しいイメージを持つ人もいると思います.しかし上述のように,一人で思い描くイメージは得てして実際と異なっているものですので,博士進学を考えている方はまず自身の指導教員に相談してみてください.