

こんにちは。cstepと申します。
Intel Core 2 Quad(コア数x4)のマシン上の ReaHat Linux 9(Kernel 2.4.20-8)環境で、pthread(glibc-2.3.2-11.9, NPTL 0.29, gcc 3.2.2)を使用したマルチスレッド・プログラミングをしています。
各スレッドのコア割り当てを(OSの自動スケジューリングではなくて)手動で固定的に割り当てることは可能でしょうか? 可能な場合それを実現するAPIや実現方法をご教授いただけますでしょうか。
例えば、8つのスレッドからなるプログラムだとした場合、
・スレッド1と5 → コア1に割り当て
・スレッド2と6 → コア2に割り当て
・スレッド3と7 → コア3に割り当て
・スレッド4と8 → コア4に割り当て
というふうに、各スレッド(1~8)を任意のコア(1~4)に固定的に割り当てて動作させたいと考えております。
Windowsの場合は、SetThreadAffinityMask() または SetThreadIdealProcessor() といったAPIを使うことで上記の要求は可能かと思いますが、Linuxでの方法が分からず、質問させていただきました。
よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
直接の回答ではありませんが、インテルからツールが出ているようです。
http://www.rbbtoday.com/news/20070411/40710.html
参考にしてください。
では。
この回答への補足
質問者のcstepです。その後、調査しましたので結果を記します。
Linux kernel 2.6(以降?)では、ハード・アフィニティを利用することで、任意のプロセス(スレッドも?要確認)を任意のコアに割り当てることが可能なようです。となると、RedHat Linux9 (kernel 2.4) では不可ですね。
もしも、RedHat Linux9 (kernel 2.4) でも可能な方法なご存知の方いらっしゃいましたら、ご教授をお願いいたします。
---以下、参考情報---
Linux kernel 2.6では、
- sched_get_affinity()
- sched_set_affinity()
といったAPIを使うことにより、CPUアフィニティを設定・取得できます。
以下のサイトが参考になりました。
プロセッサー・アフィニティーの管理
http://www-128.ibm.com/developerworks/jp/linux/l …
sched_setaffinity(2) を使って任意のプログラムを任意のCPU上で動かす
http://d.hatena.ne.jp/naoya/20070824/1187945715
Manpage of SCHED_SETAFFINITY (linux.or.jp)
http://www.linux.or.jp/JM/html/LDP_man-pages/man …
Example of sched_set_affinity and sched_get_affinity
http://www.ussg.iu.edu/hypermail/linux/kernel/02 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトが重い
-
ウィンドウのスクロールでCPU負...
-
パラメーターが間違っています...
-
アクセスが拒否されるプロセス
-
LUlnchr.exeって・・・?
-
CPUコアの使われ方についてご教...
-
タスクマネージャーにあるexe....
-
マルチコア上のLinux環境にて、...
-
タスクマネージャのexe
-
メモリの「コミット済み」の意...
-
FORMが開いているかどうかの確...
-
HDDからSSDに換装したらまた変...
-
\\Device\\Harddisk1\\DR1 でコ...
-
Windows98SE ・Meの動作「上限...
-
起動時に毎回 Press The ESC Key
-
RECOVERY(D:)ってなんですか?
-
パソコンの画面をテレビに映す...
-
会計ソフトJDL macで使いたい W...
-
SSDクローン換装後の旧ハードデ...
-
Windows10で急に解像度が低くな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが重い
-
パラメーターが間違っています...
-
「構成システムを初期化できま...
-
これは何ですか?igfxext.exe
-
CPUコアの使われ方についてご教...
-
プロセス、サービスについて
-
Explorer.exeがCPUを独占し...
-
μITRONのスタック見積もりについて
-
RTOSの無限ループ
-
explorer.exeとdrwtsn32.exeの...
-
パソコン CPUの使用率
-
シャットダウントラブル対処法...
-
PCの動作が徐々に重くなるのですが
-
ウィンドウのスクロールでCPU負...
-
drwtsn32.exe
-
CPU使用率の異常上昇
-
I/Oとは?
-
JavaScriptでSafariが劇重に
-
仕事で使うパソコンが遅い!!...
-
CPU使用率が10秒間隔くらいで...
おすすめ情報