オープンソース
当社は、低レイテンシI/Oとリアルタイム通信に関する開発成果の一部を、MITライセンスのオープンソースパッケージとして code.hybscloud.com で公開しています。
これらのパッケージを通じて、Goでリアルタイムシステムを設計する際の当社の考え方を、ソースコードから確認できます。 ランタイムの動作を明確に保ちながら、リアルタイムアプリケーションのための実用的な抽象化を構築しています。
フォーカス
当社のオープンソース活動は、主に次の三つの領域に焦点を当てています。
- 低レイテンシI/Oとリアルタイム通信
- 実行時の動作をソースコードから確認できるGoコンポーネント
- 明示的なI/O結果、リソースライフサイクル、バッファとキューの圧力、完了処理、プロトコルステップを扱うシステムプログラマビリティ
パッケージ領域
ランタイムプリミティブ
zcall、iofd、sock、framer は、システムコール、ファイルディスクリプタ、ソケット、メッセージフレーミングを扱う直接的な構成要素です。
iobuf、lfq、spin、atomix、dwcas は、バッファ再利用、ロックフリーキュー、短い待機方針、アトミックな状態遷移を支えます。
Linux I/Oとランタイム構成
uring は、Linux 6.18+ io_uringへのPure Goインターフェースを提供します。 送信コンテキスト、完了結果、バッファ、マルチショット状態、ゼロコピー通知状態を、上位のコードから扱いやすい形に保ちます。
計算とプロトコル構造
iox、kont、cove、takt、sess は、I/O結果、サスペンドした計算、コンテキスト証拠、完了駆動のシステムステップ、プロトコルステップを表現します。
開発者にとっての価値
リアルタイムシステムを検討しているお客様にとって、このオープンソースの取り組みは、具体的なご相談に入る前に当社の技術的な構成を知っていただけるための材料になります。
ソースコードを確認し、設計を評価しながら、Goベースのリアルタイム基盤がプロジェクト、プラットフォーム、または社内の技術方針に合うかを検討できます。
これらのパッケージは、構成要素であり参照実装です。 実際のプロジェクトでは、そのプロジェクトに合わせた設計、統合、運用上の選択が必要になります。
ソースコードとドキュメント
ソースコードとGoモジュールのドキュメントは code.hybscloud.com で公開しています。