【終了】第3回ステアラボソフトウェア技術セミナー 上里友弥 様「プログラムの最適化手法を用いた Erasure Coding の最適化」 The 3rd STAIR Lab ST Seminar: Dr. Yuya Uezato, "Optimizing Erasure Coding using Program Optimization Techniques"

thumb image

We have been regularly organizing STAIR Lab AI seminars, which mainly focus on artificial intelligence topics including machine learning, natural language processing, and so on. In addition to them, we decided to hold STAIR Lab ST seminars online, which focus on research topics in software technology.

千葉工業大学 人工知能・ソフトウェア技術研究センター (ステアラボ) では、従来機械学習や自然言語処理等の人工知能に関するセミナー (ステアラボ人工知能セミナー) を開催して参りましたが、この度、ソフトウェア技術研究に関するセミナーもオンライン形式で開催することに致しました。

Everyone can participate for free. Theoretically, there is no limit on the number of participants because they are held online.
We are looking forward to your participation.

どなたでも無料でご参加いただけます。オンライン形式のため特に定員数は設けておりませんので皆様奮ってご参加ください。

【日時】
2021年12月15日 (水) 15:00-16:00

Date:
Dec. 15, 2021 (Wed.) 15:00 – 16:00

【講演形態】
オンライン

Venue:
Online

【講演者】
株式会社ドワンゴ 上里 友弥 様
https://jp.linkedin.com/in/yuezato

Speaker:
Yuya Uezato, DWANGO Co., Ltd.
https://jp.linkedin.com/in/yuezato

【講演タイトル】
プログラムの最適化手法を用いたErasure Codingの最適化

Title:
Optimizing Erasure Coding using Program Optimization Techniques

【講演概要】
この講演は、SC’21に採録された上里の論文
“Accelerating XOR-based erasure coding using program optimization techniques”
https://dl.acm.org/doi/10.1145/3458817.3476204
をベースに、これを時間の許す限り、平易な形で解説するものです。

まず、論文の内容を簡単に説明させてください。
タイトルにもあるErasure coding(EC)は、
大規模なサービスを実装する際に必要になる「データの冗長性を保証する手法」です。
詳しく言うなれば「サービスに参加している計算リソース(大体はPCやHDDやSSD)の一部が壊れても、
全体としてはデータが依然として取り出せるようにする」ための技術です。
(RAID1, RAID5, RAID6をご存知の方は、それらの、より一般的な手法だと思ってください。)

普段我々が使っているWebサービスを支える裏方の技術と言えます。
よって、ECを高速化できると、サービスのパフォーマンス向上になるので、実用上非常に重要です。

ECの中心となる計算は、「有限体」と呼ばれる特殊な体上の「行列積」です。
したがって、この行列積を高速化することで、ECも高速化できます。
例えば Intel の ISA-L https://github.com/intel/isa-l
はこの路線で高速化された非常に優れたハイパフォーマンスライブラリです。

一方、上里のアプローチは、ECで使われる行列積を
「ある種のプログラムの実行」としてみなすという視点の転換からスタートします。
この視点変換により、ECの高速化 = プログラムの最適化問題 の図式が成立し、
プログラムの最適化問題を解けば良いことになります。
従って、行列の理論や道具よりも、むしろプログラム理論やコンパイラ理論の道具が使えます。
実際に、複数のプログラム最適化の手法を適用することで、
まだ実験レベルですが、先行研究やIntelのISA-Lより高速なECライブラリを実装できました。

講演では、ECはWebサービスの中で具体的にどう使われているか、
中心の計算である有限体上の行列積とはどんなものか、といったところから始めて、
論文の技術的な部分—行列積をどんなプログラムの実行と見なしどう最適化したか—を、
理論的成果も織り交ぜつつ丁寧にご紹介いたします。

The details are written in Japanese and the talk will be given in Japanese.