時間がないため簡単に 2024 年を振り返る。
主な開発したもの
public にできるもの、かつ、わりと時間をかけて開発したものをまとめる。
quic-zig
「そういや QUIC の詳細な仕様は知らないなぁ」で勉強がてらハンドシェイクのみ Zig で実装した。 暗号化部には tls13-zig を使っているため、TLS 1.3 も含めて全部スクラッチしたことになる。 tls13-zig も quic-zig も実験的な実装であるため、もっと実用的な実装(テストも含む)にしたいと思っている。
研究室内でその知見を共有する機会があったため、その時のスライドの一部を公開している。
bcachefs_exporter
bcachefs の各種メトリクスを扱う prometheus expoter。
自宅サーバーを更新し、ストレージ用のファイルシステムも ZFS から bcachefs に乗り換えたため、その監視に用いている。
そういえば自鯖の再構築に関する知見をまとめようとしていたが忘れていたことを思い出した。
自鯖の式年遷宮を(明日)やるやで pic.twitter.com/jgmSBrtNxK
— Naoki MATSUMOTO (@PiBVT) 2024年9月6日
rv32-zig
「そういやプロセッサの割り込みや権限管理の詳細な仕組みは知らないなぁ」で勉強がてら RISC-V(rv32imasu)のエミュレータを Zig で実装した。 先人たちの実装は多く存在するが、あえてそれらを読まず仕様書のみで実装し、riscv-tests の該当テスト(rv32ui, rv32um, rv32ua, rv32mi, rv32si)をパスする状態になっている。 ファームウェアとしては OpenSBI が動作する。 Linux も buildroot で作った rootfs が途中まで動いたが、シェルまでは到達できていない。
あるアイデアを試すためにも実装しているが、年内には実装が終わらなかったため来年頑張る。
出版した論文
bypass4netns: Accelerating TCP/IP Communications in Rootless Containers
bypass4netns は須田瑛大さんの PoC を元に僕が 2022 年の NTT 研究所インターン時から開発している、Rootless Containers の通信を高速化するモジュールである。 昨年 reject となった論文を書き直し、8月の AINTEC 2024 (Asian Internet Engineering Conference) で発表した。
光栄なことに Best Paper Award をもらい、自分としては研究的にも一定の評価が得られたと思っている。
We won the best paper award 🎉 https://t.co/W0Sarw7tjM
— Akihiro Suda (@AkihiroSuda@mastodon.social) (@_AkihiroSuda_) 2024年8月9日
12 月の Container Runtime Meetup #6 でも発表させていただいた。
今年の振り返り・来年の抱負
今年は博士課程2年目にあたり、色々取り組んでいたものをまとめ論文にする作業をしていた。 bypass4netns 以外にも、論文誌に投稿したものが採択され来年出版される予定であり、研究活動はぼちぼち(?)であった。 本来はもっと「研究」をすべきなのだが、なかなか難しく、興味の赴くままに色々調べて実装をするという一般的な博士課程学生とは少し異なる1年であったように思う。
1年を通して、自分の向かう先や存在意義などを問う時間が多かった。これについては年末に書くべきでない事柄であり、機会があればポエムとしてまとめるかもしれない。
来年は博士論文・審査があり、己を試される1年となる。ここまで来たからには折れることなく乗り越えたい。