Cilium入門 (Monitoring & Metrics編)

Kubernetes の CNI (Container Network Interface) プラグインの一つである Cilium には、Security や Observability など幅広い機能があることがわかったので、実際に Cilium の Monitoring Metrics の機能を試してみました。

「ディスアグリゲーテッドコンピューティング」とは何か? (4)

「ディスアグリゲーテッドコンピューティング」=「一次記憶の共有」という側面に注目し、登場しつつあるテクノロジや議論されているそのユースケースを調査するために、YouTube で公開されている講演 174 本を視聴しました。 その過程で、略語が多く登場す…

「ディスアグリゲーテッドコンピューティング」とは何か? (4) 略語リスト

「ディスアグリゲーテッドコンピューティング」とは何か? (4) で言及した略語リストです。

「ディスアグリゲーテッドコンピューティング」とは何か? (4) 講演リスト

「ディスアグリゲーテッドコンピューティング」とは何か? (4) で言及した講演リストです。

Isaac Gym入門(活用編)

前回の「環境構築編」では、深層強化学習と Isaac Gym の解説および環境構築を行いました。 本稿の「活用編」では、Isaac Gym での学習の実行方法について必要な知識等を解説していきます。

Isaac Gym入門(環境構築編)

Isaac Gym と呼ばれる深層強化学習向けの物理シミュレーション環境について解説します。 Isaac Gym はまだ開発段階で使用ユーザーもあまりおらず、本技術に関する記事が非常に少ないので技術記事を執筆してみる事にしました。 今回は、深層強化学習と Isaac …

Wasm入門(仕様編)

WebAssembly (以下、Wasm) について、最近 Kubernetes でコンテナの代わりに Wasm アプリケーション を扱えるような記述を見かけるに至り、にわかに関心が出てきたので Wasm の仕様について調べてみることにしました。

InferでLinuxカーネルのメモリ関連エラーを検出してみる

静的コード解析ツールの1つである Inferを使ってLinuxカーネルのソースコードを解析し、メモリ関連の不具合を検出してみます。Infer のビルドから、解析の実行と検証、解析結果の精査についてまとめました。

「ディスアグリゲーデッドコンピューティング」とは何か? (リンク集)

前回記事 「ディスアグリゲーデッドコンピューティング」とは何か? (3) の執筆時点で参考にしたYouTubeコンテンツの一覧をまとめました。

「ディスアグリゲーデッドコンピューティング」とは何か? (3)

BlueField-2 DPU を使って、サーバに RNIC (ConnectX) を搭載し、あるタスクを VM 上で行う従来構成と、VM は起動せずにタスクを DPU 上で行う構成とで性能を比較し、DPU があると何が嬉しいのかを考察しました。

Validating Admission Policy は何ができるのか?

webhook を使わずに Kubernetes の validation (検証) を実現する Validating Admission Policy について、Kubernetes の リリースノートで目にしたことがある程度で実際に使ったことがなかったので、この機会に触ってみました。

Qemu小ネタ集

前回記事「Qemuのしくみ (の一部)」の内容が重かったので、今回はQemuの小ネタを集めてみました。

KubeCon + CloudNativeCon Europe 2023 レポート

2023年4月18~21日に開催された KubeCon + CloudNativeCon EU 2023 に Virtual 参加し、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてまとめました。

「ディスアグリゲーデッドコンピューティング」とは何か? (2)

BlueField-2というDPUの開発環境を作るために、オークションサイトでいろんなアイテムを購入して動かしてみました。

DPDKのソースコードから読み解くユーザ空間ドライバとPCIデバイスの関係

DPDKのソースコードを読み解くことで、「カーネルのEthernetドライバの代わりにユーザ空間でEthernetドライバを作っている、とあるが実際のPCIデバイスにどうやってユーザ空間からアクセスしているのだろうか?」という疑問を(部分的ながら)解決します。

Qemuのしくみ (の一部)

OSS の開発支援や障害解析サービスなどの仕事柄、Qemu の仕組みや内部動作をお客様に説明する必要がある場合があります。そんな時に「Qemuの〜についてはここを見てね」と言えるような文書があるといいなぁと思い、自分で作ってみることにしました。

KubeCon + CloudNativeCon NA 2022 レポート

2022年10月24日から開催された KubeCon + CloudNativeCon NA 2022 について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。

ARMv8-A AArch64 ベタメタルプログラミング ブート編

ARMv8-A アーキテクチャでの 64bit 環境 (AArch64) でのブートプログラム作成についてまとめます。 今回のブート処理では AArch64 ステートで実行し例外レベルを EL1 にして特権プログラムの実行の準備までを行います。

OpenStack-Ansibleで構築するOpenStack環境

OpenStack は IaaS 環境を構築するためのソフトウェア群で、簡単に AWS の様なクラウドサービス環境を作成する事ができます。本記事では OpenStack-Ansible を用いた OpenStack 環境を構築してみます。

詳説 eBPF 実装編

前回の概論編では、eBPFがどんなもので、どのように実現されているかを中心に解説し、eBPFの技術要素 (BCC、BCC-Tools、CO-RE) にも触れました。 実装編となる今回は、BCC-Toolsの後継となるlibbpf-toolsよりopensnoopコマンドに着目してソースコードレベル…

詳説 eBPF 概論編

近年注目されているeBPFについて、概論編と実装編に分けて解説します。 概論編となる本稿では、eBPFとは何か、eBPFで実現できる事、eBPFの仕組み、eBPFの技術要素 (BCC、BCC-Tools、CO-RE) についてまとめました。

ハンガリアン SCHED_DEADLINE

Linux のリアルタイムスケジューリング実装である SCHED_DEADLINE の概要に触れた後、最適化問題 IAP (Incremental Assignment Problem) を核に据えて Unrelated なマルチ・プロセッサモデルでの SRT-optimality を証明した Unr-EDF をベースに、SCHED_DEADL…

KubeCon + CloudNativeCon Europe 2022 レポート

2022年5月16日から開催された KubeCon + CloudNativeCon Europe 2022 について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。

vmlinuxのヒミツ2 -- vmlinuxに特有のセクション その3 - exception table

これまで様々なvmlinux特有のELFセクションを見てきました。今回は`__ex_table`セクションを取り上げ、実際のコードがどうなっているのか、という方向からこのexception tableを見ていきます。

OAuth 2.1 のドラフトから OAuth 2.0 のプラクティスを学ぶ

OAuth 2.1 について、今あるシステムやこれから作るシステムをグッド・プラクティスに沿った形にするために、OAuth 2.1 のドラフトの内容を把握してプラクティスを学んでみます。

vmlinuxのヒミツ2 -- vmlinuxに特有のセクション その2 - 起動時バイナリパッチ

前回記事では、vmlinuxのinitセグメントに含まれる、`.percpu`、`.init.text`、`.init.data`などのセグメントについて調べました。今回はその続きで、そのinitセグメントに含まれている`.parainstructions`、`.altinstructions`、`.altinstr_replacement`の…

詳解 Linux ネットワーク - NAPI 編 (後編)

前編では、NAPI とそれに関連するソフトウェア割り込みの仕組みについて解説しました。 本稿では、前回の最後に触れた通り、Linux kernel に組み込まれている、NIC をソフトウェア割り込み以外で polling するための仕組みである、Busy Poll Socket と kthre…

vmlinuxのヒミツ2 -- vmlinuxに特有のセクション その1

1年半前に投稿した「vmlinuxのヒミツ」(https://valinux.hatenablog.com/entry/20200910) の第2弾です。 今回は、コード例もなく、単にLinuxという巨象の枝葉末節をああでもないこうでもないと闇雲に撫で回してみました。

詳解 Linux ネットワーク - NAPI 編 (前編)

Linux におけるネットワーク受信処理で利用されている、NAPI (New API) と呼ばれる仕組みについて、実装レベルで解説します。

KubeCon + CloudNativeCon NA 2021 レポート

2021年10月11日から開催された KubeCon + CloudNativeCon NA 2021 について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。