外部記憶装置

外付け記憶装置

2024年振り返り

時間がないため簡単に 2024 年を振り返る。

主な開発したもの

public にできるもの、かつ、わりと時間をかけて開発したものをまとめる。

quic-zig

「そういや QUIC の詳細な仕様は知らないなぁ」で勉強がてらハンドシェイクのみ Zig で実装した。 暗号化部には tls13-zig を使っているため、TLS 1.3 も含めて全部スクラッチしたことになる。 tls13-zig も quic-zig も実験的な実装であるため、もっと実用的な実装(テストも含む)にしたいと思っている。

github.com

研究室内でその知見を共有する機会があったため、その時のスライドの一部を公開している。

speakerdeck.com

bcachefs_exporter

github.com

bcachefs の各種メトリクスを扱う prometheus expoter。

自宅サーバーを更新し、ストレージ用のファイルシステムZFS から bcachefs に乗り換えたため、その監視に用いている。

そういえば自鯖の再構築に関する知見をまとめようとしていたが忘れていたことを思い出した。

rv32-zig

「そういやプロセッサの割り込みや権限管理の詳細な仕組みは知らないなぁ」で勉強がてら RISC-V(rv32imasu)のエミュレータを Zig で実装した。 先人たちの実装は多く存在するが、あえてそれらを読まず仕様書のみで実装し、riscv-tests の該当テスト(rv32ui, rv32um, rv32ua, rv32mi, rv32si)をパスする状態になっている。 ファームウェアとしては OpenSBI が動作する。 Linux も buildroot で作った rootfs が途中まで動いたが、シェルまでは到達できていない。

あるアイデアを試すためにも実装しているが、年内には実装が終わらなかったため来年頑張る。

github.com

出版した論文

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 をもらい、自分としては研究的にも一定の評価が得られたと思っている。

12 月の Container Runtime Meetup #6 でも発表させていただいた。

speakerdeck.com

今年の振り返り・来年の抱負

今年は博士課程2年目にあたり、色々取り組んでいたものをまとめ論文にする作業をしていた。 bypass4netns 以外にも、論文誌に投稿したものが採択され来年出版される予定であり、研究活動はぼちぼち(?)であった。 本来はもっと「研究」をすべきなのだが、なかなか難しく、興味の赴くままに色々調べて実装をするという一般的な博士課程学生とは少し異なる1年であったように思う。

1年を通して、自分の向かう先や存在意義などを問う時間が多かった。これについては年末に書くべきでない事柄であり、機会があればポエムとしてまとめるかもしれない。

来年は博士論文・審査があり、己を試される1年となる。ここまで来たからには折れることなく乗り越えたい。