「第8期サイボウズ・ラボユース成果発表会」開催

こんにちは、サイボウズ・ラボの星野です。

今回は2019年3月22日に開催された第8期サイボウズ・ラボユース成果発表会の模様を紹介します。

サイボウズ・ラボユース

サイボウズ・ラボユースとは日本の若手エンジニアを発掘し、育成する場を提供する制度です。

ラボユース生が作りたいものをサイボウズ・ラボの社員がメンターとしてサポートし、開発機材や開発活動に応じた補助金、旅費の援助をします。開発物をオープンソースとして公開するという条件の元で著作権は開発者本人に帰属します。

今期はラボユース生4名が卒業しました。

発表会のレポート

発表順に紹介します。

増田 健太さん「制約を用いた作図言語Pita」

増田さん発表中

増田さんは2017年秋からで2018年夏までラボユース活動をしました。メンターは星野です。Pita は専用の言語で図形やその制約条件を定義することで、最適化問題に変換して制約を守った図形を探索し、ベクター画像として出力するソフトウェアです。絵心がない私から見ると、規則性をもった図形をプログラムとして記述でき、制約によってより簡単に図形の関係を表現できるのは大きな魅力だと思います。昨年の発表では Pita の内部の解説がメインでしたが今回はデモを中心とした発表でした。 ドキュメントとデモが用意されており、気軽に試すことができます。PitaはC++言語で書かれているソフトウェアですが、EmscriptenでJavaScriptに変換してデモとして気軽に動かせるようにしたそうです。ソースコードはGitHubにあります。発表資料はこちらです。

田辺 敬之さん 「トランザクション処理における並行性制御法の評価」

田辺さん発表中

田辺さんは2018年春からラボユース活動をしました。メンターは星野です。彼はラボユース活動を通して、最近の論文として発表された最先端の並行性制御(Concurrency Control)手法を複数再実装し、性能評価した結果得られた知見を発表してくれました。発表によると、MVCC (Mutli-version Concurrency Control) と 1VCC (Single-version Concurrency Control) はワークロードの競合度合いなどによって得手不得手があることや、メニーコアアーキテクチャにおいては、CPUキャッシュを汚さない invisible read のメリットがあることなどが、明らかになったそうです。プロトタイプのソースコードはGitHubにあります。

河原 颯太さん 「NICのデバドラ開発」

河原さん発表中

河原さんは2018年夏からラボユース活動をしています。メンターは光成さんです。彼はネットワークプロトコルスタックを作りたくてラボユースに応募しました。今はNICを自由にいじるべくLinuxカーネルモジュール作成にチャレンジしていますが、まだ道半ばのようです。発表の中で、最近は DPDK だけでなく XDP (たぶん eXpress Data Path) が劇熱(ゲキアツ)だそうですが、将来的にはFPGAにも取り組みたいとのことです。高速なネットワーク処理に興味があるのですね。確かに昨今FPGAでネットワーク処理をアクセラレートする研究はよく見かけますので、楽しみです。河原さんは今回で卒業ではなく、ラボユース活動を続ける予定です。ソースコードはmodule および kidnet にあります。

濱田 槙亮さん 「glibc heapの可視化によるexploit作成の補助ツール「exp-heap」」

濱田さん発表中

濱田さんは2018年春からラボユース活動をしました。メンターは光成さんです。大学ではFPGAや省電力プロセッサの研究をしていて、ラボユースではCTFのBinary Exploitジャンルで問題を早く解くためのツールとしてexp-heapの開発に取り組みました。exp-heapはglibcのmalloc/calloc/free/reallocをフックしてログを出し、ヒープアルゴリズムを再現してメモリ構造の状態変化を追うツールです。glibcバージョンが変わるとアルゴリズムも変わるので追随する必要がありますし、挙動を完全に再現するのは難しいようですが、構造を追うのには役立つとのこと。現在は完全にCUIソフトウェアですが、良いUXをつけて便利にしたいというモチベーションもあるようです。ソースコードはGitHubにあります。発表資料はこちらです。

渡邊 大記さん 「階層独立性の高いプロトコルスタックの設計と開発」

渡邊さん発表中

渡邊さんは2018年春からラボユース活動をしました。メンターは光成さんです。大学ではネットワーク理論の研究をしていて、実装ドリブンの活動もしたくてラボユースに応募しました。発表では開発に取り組んだexlayのモチベーションや現状について語ってくれました。ネットワーク階層間の独立性を高くして様々なプロトコルを気軽に作って試せる仕組みが欲しくて、x-kernelを今風にリアレンジしexlayを設計したそうです。カーネル空間で動くソフトウェアがゴールですが、PoCとしてまずユーザーランドで作ってみて動かしています。ソースコードはGitHubにあります。発表資料はこちらです。

卒業式

発表会の終わりに、卒業するラボユース生ひとりひとりに対して、希望を反映した記念品とメンターのコメント付き卒業証書が手渡され、その場でコメントをもらいました。 私の個人的な感想ですが、皆さんそれぞれがそれぞれの方法でラボユース制度を活用してくれたと思います。

懇親会

懇親会の様子

懇親会はラボユースOBの方々も参加してくれて、発表会の内容だけでなく、現在興味のある技術などについて議論が白熱しました。ラボユース経験者やラボメンバーに話を聞ける機会ですので、ラボユース活動に興味のある方は是非とも次の発表会にお越しくださいね。

おわりに

本記事は第8期サイボウズ・ラボユースの成果発表会の内容を紹介しました。サイボウズ・ラボユースは2019年度も募集を予定していますので、応募を検討されている方は少しお待ち下さい。