2025-01-01から1年間の記事一覧
リンクリストより複雑で、Linuxでよく使われている red-black tree を紹介します。 今回は、その前編ということで、red-black tree の概要と挿入操作について、カーネル実装と併せて解説します。
KVM がどのように仮想マシンを実現しているかを、Qemu との連携を含めて解説します。 CPUの仮想化、メモリの仮想化、割り込みの仮想化、デバイスの仮想化について見ていきましょう。
前回は、受信パケットがIP層に到達した後の処理について解説しました。 今回は、その続きとなるUDPレイヤーの処理について解説していきます。
Linux PC と RDMA ネットワークで vLLM スケールアウト構成を構築し、コストパフォーマンス重視のローカルLLM実行環境を提案・検証します。 前回の「AI特需に対応: 安価なGPUの可能性 (3)」の内容を踏まえた続編です。
Linux PC と RDMA ネットワークで vLLM スケールアウト構成を構築し、コストパフォーマンス重視のローカルLLM実行環境を提案・検証します。 前回の『AI特需に対応: 安価なGPUの可能性 (2)』の内容を踏まえた続編です。
遅延処理の仕組みである Workqueue (WQ) を、現在のWQの特徴であるConcurrency Management導入前後の実装を比較しながら紐解きます。
Linux PC と RDMA ネットワークで vLLM スケールアウト構成を構築し、コストパフォーマンス重視のローカルLLM実行環境を提案・検証します。 本記事は「AI特需に対応: 安価なGPUの可能性 (1)」の続編です。
Linux PC と RDMA ネットワークで vLLM スケールアウト構成を構築し、コストパフォーマンス重視のローカルLLM実行環境を提案・検証します。
カーネルv6.8のタスクスケジューラ解説シリーズの第3弾です。前回で解説したFAIRスケジューリングクラスとEEVDFアルゴリズムに続き、残るスケジューリングクラスであるRTおよびDEADLINEの仕組みと実装を深掘りします。
Linuxのコードを読むと、つい細部に気を取られて本質から外れてしまうことがあります。本ブログでは「これは何だろう?」と思う部分について、深追いせず理解できる情報を提供し、コード読解の負担を軽減することを目指します。
最終回となる本記事では、過去の記事では触れられなかったエグゼキューターのより高度な概念と詳細について解説します。特に、本記事のEventsExecutorに関する内容はActionの章と関連が深いため、順番に読むことを推奨します。
Linuxコード解析の初心者向けシリーズがスタート! 本シリーズでは、Linuxにテーマを絞り、これからコード解析に挑戦したい方に向けて"入口"となる情報をお届けします。 筆者の視点から、「ちょっと気になるポイント」や「今さら聞けない基礎知識」をやさし…
3回目となる本記事では、前回までの記事で触れられなかったエグゼキューターに関する少し高度な概念や細かい内容について紹介していきます。
2回目となる本記事では、`rclcpp::Executor`の実装を追っていきながら、スケジューリングメカニズムやエンティティの管理方法について紹介していきます。
「OS徒然草」シリーズは今回で最終回です! 仮想化、エミュレータ、ハイパーバイザー、コンテナ技術の進化と課題についてのお話です。
この連載では、ROS2のC++ APIで広く使われているにもかかわらず理解が進んでいない「エグゼキューター (Executor)」について、rclcppライブラリのソースコードを追いながらその仕組みを解説します。
ブログ連載1周年を記念して、新Linuxカーネル解読室プロジェクトがはじまった経緯や今後の方針、および執筆の裏側についてお話します。
ROS2(Robot Operating System 2)は、ロボット開発に必要な通信や制御、シミュレーション機能などを備えたフレームワークです。 本記事では、ROS2に初めて触れる方向けに、その基本的なコンセプトを紹介します。
今回はマルチプロセッサ (MP) にまつわるお話です。
今回は、パケット受信処理 ~Ethernetドライバ ポーリング処理編~の続編として、受信パケットがIP層に到達した後の処理、特にルーティング処理を中心に解説します。
今回はメモリ管理にまつわるお話です。
C++の非同期IOライブラリであるAsio(Boost.Asio)の解説シリーズの最終回として、 ライブラリが提供する各種クラスやI/O機能をサンプルコードとともに網羅的に紹介します。 辞書的な活用を想定した構成となっておりますので、皆様の参考になれば幸いです。
17年ぶりにFAIRクラスのタスクスケジューラが刷新され、CFSからEEVDFに置き換わりました。 今回は、この新しいEEVDFに焦点を当て、「どのタスクをどの程度実行するか」というタスクスケジューラの最重要機能を解説したいと思います。 スケジューラやEEVDFに…
本記事ではIsaac Gym入門の実践編として、Isaac Gymの強化学習のフレームワークについて解説し、独自の学習環境を作成する方法を紹介します。
本記事では、C++の非同期IOライブラリであるAsio(Boost.Asio)を解説します。 第4回では、Asioライブラリを利用する上で重要なライブラリ機能、完了トークンと`async_compose`について紹介していきます。
CiliumサービスメッシュのmTLSについて解説編と実装編の2本立てで紹介します。本編では、解説編で説明したCiliumの相互認証と暗号化の両機能を有効化してmTLS通信を実装してみましょう。
CiliumサービスメッシュのmTLSについて解説編と実装編の2本立てで紹介します。Ciliumは従来のサービスメッシュの手法とは異なり、eBPFを活用してL4/L7ネットワークのパケットを操作することで、従来のサイドカープロキシを不要とするのが特徴です。Ciliumのm…
本記事では、C++の非同期IOライブラリであるAsio(Boost.Asio)を解説します。 第3回では、Asioライブラリのコアとなる概念やいくつかの用語について紹介していきます。
本記事では、C++の非同期I/OライブラリであるAsio(Boost.Asio)を解説します。 第2回では、Asioで採用されている重要なデザインパターン「Proactor」について解説し、関連する簡単なサンプルコードを紹介します。
本記事では、C++の非同期I/OライブラリであるAsio(Boost.Asio)を解説します。 第1回では、ライブラリの基本導入と、採用されている非同期デザインパターンの1つであるReactorについて説明します。