「並行処理」の記事一覧
-
Goのスケジューラの仕組みと進化
2025-05-18 17:03
科学・技術本記事は、Go 1.24におけるスケジューラの内部動作とその進化を詳述しています。初期のグローバルキュー中心のスケジューラから、GMP(Goroutine、Machine、Processor)モデルへの移行によるスケーラビリティと性能向上の工夫、goroutineの生成や実行、システムコール時の挙動、メモリ管理などについて網羅的に解説されています。Goの高効率な並行処理の裏側を深く知るための技術解説です。
-
Dezyneで構築する検証可能な並行制御ソフトウェア
2025-05-17 09:44
科学・技術Dezyneは、並行制御ソフトウェアを形式的に設計・検証・実装するためのプログラミング言語およびツール群です。状態遷移やメッセージパッシングに基づき、デッドロックや非決定性のないモデルを保証しつつ、構造と動作を統一的に記述可能です。特にサイバーフィジカルシステムや組込み分野に適しており、構成要素間の契約設計によって複雑性の管理を容易にします。オープンソースで提供されています。
-
Rubyの並行処理を理解する:プロセスからFiberまで
2025-05-15 13:56
科学・技術Rubyは並行・並列処理のために複数の機構を備えています。プロセスは完全に独立したメモリ空間を持ち、RactorはRuby 3で導入されたメッセージベースの並列処理を実現する仕組みです。Threadは軽量ですが、GILの制約で同時に1スレッドしか実行できません。Fiberはさらに軽量な非同期処理の単位で、明示的な制御が必要です。用途や目的に応じて、適切なレベルの並行処理を選ぶことがRuby開発では重要です。
-
BEAM:Elixirの信頼性を支えるErlang仮想マシン
2025-05-09 18:48
科学・技術Elixirの基盤となるErlang VM(BEAM)は、高可用性、耐障害性、並行性に優れたシステムを支える設計がなされています。BEAMはプロセスごとに独立したガベージコレクションや非同期通信を採用し、障害が発生してもシステム全体に影響を与えません。ElixirはこのBEAM上で動作し、簡潔な構文と優れたドキュメントで人気を集めています。本記事では、Erlangの歴史とともにBEAMの特徴とElixirとの関係を解説しています。