サイボウズ・ラボユース 開発コース
システムソフトウェア研究開発(担当: 星野 喬)
第14期(2024年度)のラボユース生・研究生を募集中です。
募集する開発テーマ
主にデータベースやストレージその他のシステムソフトウェアおよび、 その中で使われる並列分散処理などの技術についての研究や学習をサポートします。 具体的には活動への助言、設計・コード・発表スライドなどのレビューを行います。 やりたいことが少し違っていても意欲が高くてメンターがサポートできそうであれば 受け入れますので気軽にご相談ください。
メンターから期待できるサポート
- アルゴリズムや手法など技術的な議論
- ソフトウェアの設計やコード、文章構成、プレゼンスライドのレビュー
- 研究に関するセカンドオピニオン
メンターの経験
- トランザクションシステムの研究(2016〜)
- 並行実行制御(CC)やログ先行書き込み(WAL)など。発表文献については個人のページを参照ください。
- セキュリティキャンプ全国大会2018-2022でデータベースゼミの講師を担当。
- Linux kernel のラッパーブロックデバイスドライバの開発(2010-2020)。
- ストレージバックアップシステムの開発 (2009〜2020)。
- データレイアウトのフラグメンテーションによる性能低下問題(学生時代)。
- 分散アルゴリズム(学生時代)。
メンターからのメッセージ
- システムソフトウェアがおもしろいと感じている方や、将来システムソフトウェアを作る仕事をしたいと思っている方、歓迎です。
- 並列プログラミング大好きな方や、性能測定実験が大好きな方、歓迎です。
ラボユース活動の進め方
- 原則としてご自分で進めていただきます。メンターの助けがないと一切進まない、という方には向いていません。目先なにをすべきかについて迷いがあればもちろん相談に乗りますが、実際に前に進めるのはあなたです。やってみたいことがあるならまずやり始めてみてください。それが本当に自分が時間を割いてでもやりたいことであると実際に確かめてからラボユースに応募しても全く遅くありません。
- 本コースで活動するラボユース生・研究生の方とは、最大で週あたり 1 時間の打ち合わせ時間を取っています。もちろん学業などで忙しい時期やラボユース活動が捗る時期など濃淡がある場合は、状況に応じて相談の上、打ち合わせの頻度や量を調整します。
- プログラミング言語についての縛りはありません。お好きなものを使ってください。やりたいことに対して向き不向きはあると思いますので、助言はするかも知れません。これまでに活動した方々の使用言語は C/C++/Rust/Go/Java/Python など様々です。本コースにおいて、コードレビューは原則打ち合わせの中で行いますので、メンターが慣れていない言語でも構いません(その場合、言語特有の助言は難しくなりますのでご容赦ください)。
- プログラミング含め、必要な能力や知識については、やりたいことや状況によっても変わってきますので、本コースにおいて基準を提示することは難しいです。ただし、選考において、ラボユースの目的に沿うかどうか、メンターとのマッチング、などを検討する中で、能力や知識についても考慮します。
本コースで活動した人達
詳しくは成果報告を参照してください。
- 高棟 雄斗「Merkle-CRDTを使った分散KVSの実装に向けて」
- 多田 瑛貴「Rust製Linuxウインドウマネージャ開発を通じた良い設計へのアプローチ」
- 小栗 悠太郎「DBMS自作によるトランザクション処理の学習」
- 山田 龍「データベースロギング設計の多様性」
- 今井 航一「Data Distribution Service 測定ツールの開発」
- 大滝 理貴「トランザクションの平行制御手法とベンチマークの実装」
- 舛村 康成「高競合状態における並行性制御法最適化の分析」
- 山本 祥平「DBMS を実装しながら学ぶ」
- 和田 智優「分散データシステムにおける非決定的性能バグの正確な解析」
- 田辺 敬之「トランザクション処理における並行性制御法の評価」
- 増田 健太「制約を用いた作図言語Pita」
- 川田 恵氏「Exploitの旅2018」
- 神谷 孝明「並列WALによるPostgreSQLのトランザクション高速化に向けた取り組み」
- 堀内 美希「お手軽!分散計算プログラミングツール入門」