今さら聞けないマルチプロセッサの基礎教えます ――キャッシュの共有,割り込みの共有,OSによる制御

木村啓二

tag: 組み込み

技術解説 2005年2月18日

2 マルチプロセッサ・システム開発の注意点

 対称型マルチプロセッサ・システムを使用するもっとも大きな動機の一つは,(相互にほとんど依存しない)複数のタスクやスレッドを同時に実行し,システムの処理性能の向上を図ることです.その一方で,複数のタスクやスレッドが相互に作用しながら処理を行っていくような運用方法も,もちろんあります.ここでは,後者の方針でプログラムを開発する場合に,注意すべきことを考えます.

● 通信間隔をどこまで長くできるか見極める

 複数のプロセッサに割り当てられたタスクやスレッドが相互に作用するということは,プロセッサ間で何らかの通信が必要です.通信手段としては,これまで説明してきたcashe coherence protocolによるキャッシュ間データ転送や,プロセッサ間割り込みによるものなど,いろいろとありますが,いずれにしても通信にはそれなりの時間がかかります.

 タスク間(あるいはプロセッサ間)の通信にあまり時間をかけすぎると本来の処理を実行するのに支障をきたすので,通信間隔をなるべく長くして相対的に通信のオーバヘッドを小さくするようなくふうが必要となります.ところが,通信間隔を長くしすぎると,あるCPUはタスクを実行し続け,別のCPUは実行中のタスクの結果を待ち続けるといった,プロセッサ間の負荷の不均衡の問題が起きやすくなります.このような,通信間隔とプロセッサの負荷分配については,プログラムの設計段階からよく考えておく必要があります.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日