「RISC-V用の小さなOSを実装してみよう」の連載記事第5回目となります。 前回は、タイムシェアリングスケジューリング機能を実装してみました。 今回は、指定時間だけタスクをスケジューリング対象から外す「タスクの時限待ち機能」を実現してみましょう。
VA Linux が昨年7月から技術ブログを始めて1年余りが経ちました。 そこで今回は、これまで公開した技術記事の紹介や、技術ブログを始めた目的、開設までの準備、運営スタイルなどについて書き留めておきたいと思います。
Intel Optane Persistent Memory を使うにあたり必要な、基本的な概念や Linux 上での使用方法などを説明します。
「RISC-V用の小さなOSを実装してみよう」の連載記事 第4回目となります。 第3回では、割り込みハンドラを動作させるところまで実装してみました。 今回は、タイムシェアリングスケジューリング機能を実装してみましょう。
「RISC-V用の小さなOSを実装してみよう」の連載記事 第3回目となります。 第2回では、複数のタスクが切り替わりながら並列動作できる仕組みを作りました。 今回は割り込みハンドラを動作させるところまで実装してみましょう。
Ubuntu のコアファイル書式が変わっている事を知り、現在の書式を司る Apport について障害情報の収集に関わる話を含め調べてみました。
「メモリセントリックアーキテクチャ」や「ディスアグリゲーテッドコンピューティング」とはどのようなものなのか、従来のアーキテクチャやコンピューティングに対してどんなメリットがあるのか、実現に向けた課題にはどんなものがあるのかを、GigaIO社製品…
「RISC-V用の小さなOSを実装してみよう」の連載記事 第2回目となります。 第1回では、boot プログラムが動くところまできました。今回は、複数のタスクが切り替わりながら並列動作できる仕組みを作っていきます。
2021年5月3日から開催された KubeCon + CloudNativeCon Europe 2021 Virtual について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。
RISC-VはMIPSアーキテクチャの流れを汲むRISC CPUです。 Linux上で利用できるRISC-Vツール群も揃ってきたので、それらを使ってRISC-V用の小さなOSを実装してみようと思います。
Kubernetes v1.20 のリリースノートにおいて、CRI として Docker (dockershim) の利用が非推奨となり、v1.23 では dockershim が Kubernetes から除去されるとの予告がされています。 また、Kubernetes v1.21 のリリースノート には、kubeadm の標準の Cgrou…
CentOS 8 のサポートが2021年12月31日で終了するとの発表がありました。そこで、CentOS 8.3 から AlmaLinux 8.3 への移行するツールを用いて実際に移行してみました。移行の際に、どのようなことが行われているか、どのような注意点があるのかを解説します。
クラウド全盛のこのご時世においても、物理マシンのお守りをしないといけないことはあって、古くなったディスクの交換作業が必要になりました。 オンラインのままディスクを移行できる pvmove というコマンドがありますが、このコマンドの解説記事は少ないの…
前回のFPGAカーネル超入門 (1) では、OpenCLを使用したホスト側プログラムから、カーネルを動かせるようになりましたが、ホスト側で何をやっているのか、特にカーネルを実行するためにどんなことが行われているのか気になります。 そこで、今回は、OpenCLよ…
Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。
Linux カーネルならぬ、FPGA カーネルに関する解説記事です。 対象とする FPGA は、サーバに PCI-e で接続して使用するもので、アクセラレータとも呼ばれています。アクセラレータとしては GPU が最も一般的かと思いますが、FPGA も最近何かと話題になってい…
cgroup とは、Linux カーネルの機能の1つであり、プロセスやスレッドが利用するリソースの制限や分離を行うための機能で、Linux コンテナの根幹を成す技術の1つでもあります。本記事では、Kubernetes のいくつかの機能を例に挙げ、cgroup がどう利用されてい…
RDMA やその他の機能のついている NIC を2枚使って遊んでみました。NICの選定やインストール、接続、性能測定の結果、RDMA を試してみた結果を紹介します。
前回記事「vmlinuxのヒミツ」を書くために、いくつかの実行ファイルで readelf を実行して気づいた、".note.ABI-tag" セクション。この ".note.ABI-tag" について調べてみました。
perf は、Linux の性能に関する情報を収集、分析するためのツールです。本記事では、ネットワークの受信処理を例に、perf を使った性能分析を行う方法を解説します。
Kubernetesでは複雑な操作が必要なアプリを動かすためのカスタムコントローラを用意しています。そこで本記事では、DPDKアプリのSPPを題材にしてSPPのカスタムコントローラの開発例を紹介します。
近年活発に開発が進んでいる AF_XDP を利用したアプリケーションは、Linux Kernel Network Stack をバイパス出来るという観点で、DPDK を活用したアプリケーションと比較されることが少なからずあるかと思います。 本記事では、AF_XDPアプリケーションにおけ…
vmlinux の入手・インストールをはじめ、ELFファイルやセクションについて解説します。
KubeCon + CloudNativeCon Europe 2020は、当初3月末にアムステルダムで計画されていましたが、Virtual 開催に変更になり、8月17-20日の日程で行われました 。 KubeCon と Co-Located Events の 1 つである Cloud Native Security Day について印象に残った…
lockdepは、Linux Kernelのlocking primitiveの誤使用に因るdeadlock検知・予測をはじめ、synchronization primitiveを誤った形で使用している"_bad code_"を幅広く検知する為の機構です。一方で巷にはそのメカニズム、つまり何をどのようにして検知するのか…
InfiniBandやRDMAが誕生して約20年、最近ではRDMAを使用する環境も手軽に用意できるようになりました。しかし、実際にRDMAで通信するプログラムを書こうとすると、まだあまり情報がないように感じます。そこで本稿では、RDMAで通信するプログラムを書くため…
Kubernetes クラスタを IPv4-IPv6 デュアルスタック構成で構築する方法や、IPv6 通信がどのように行われているかを解説します。
Docker コンテナで IPv6 を利用する場合の3つのネットワーク構成パターンを解説します。