Shinichi Tokunaga
@deepneko
まぁ基本的にはタスク数をスレッド数より多くしたほうがいい。当たり前だけどアイドルスレッドを発生させないため。
2010-01-02 19:03:26
Shinichi Tokunaga
@deepneko
タスク分解の原則2. タスク内の処理量は、タスクとかスレッドを管理するオーバーヘッドより多くしましょう。
2010-01-02 19:04:22
Shinichi Tokunaga
@deepneko
このへんはバランスをとればいい。あんまり1タスクに使うスレッドが多すぎると1スレッドの管理オーバーヘッドが多くて損するし。
2010-01-02 19:06:11
Shinichi Tokunaga
@deepneko
依存性がまったくないソースコードを魅惑的並列(enchantingly parallel)というらしいw
2010-01-02 19:15:54
Shinichi Tokunaga
@deepneko
タスクのスレッドへの割り当てをどうするか考えるときは、最初は静的スケジューリングを考えましょう。プログラミングが一番単純だから。
2010-01-02 19:24:07
Shinichi Tokunaga
@deepneko
もちろんタスク間の処理量にばらつきがあったり、予測不可能な場合は動的スケジューリングを使わざるを得ません。
2010-01-02 19:26:05
Shinichi Tokunaga
@deepneko
並列化するとアプリケーションの実行というものが、大規模データの全要素を更新する処理ばかりだということに気づく。
2010-01-02 19:48:09