アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
HyperThreadingはオフ (スコア:1, 興味深い)
Re: (スコア:1, 興味深い)
確かにHTはスレッドあたりの性能を悪くしますが、マルチスレッド全体での性能は間違いなく向上します。
サーバの場合、単一のスレッドで動いているとは考えられないため性能は上がると思うのですが。
巨大なファイルのコピーを複数同時に行うと悲惨なことになるように、
HTのおかげで並列度が上がってI/Oがボトルネックになってるとか?
Re: (スコア:5, 参考になる)
http://technet.microsoft.com/ja-jp/magazine/cc137784.aspx [microsoft.com]
この場合は、DBMS 自身がスレッディングとキューイングを既に効率化させているため、HT によるスレッディングによって却って DBMS の動作が非効率になるという、ある種不幸な事象が原因でした。
Re:HyperThreadingはオフ (スコア:3, 参考になる)
ません。むしろ並列プログラミング特有のボトルネックが出てしまって、トータルではかえって
性能が低下したというだけに見えます。シングルCPUに(過度に)最適化したアプリをそのまま
マルチCPUに持っていっても性能が出ないのはある意味予想されていたことなのですよ。マルチ
CPUはCPUの内部的な演算は高速化してくれるけど、それ以外は今までと変わりないですから。
Re:HyperThreadingはオフ (スコア:5, 参考になる)
ソフト単体だと、プログラマ自体がマルチスレッドで意識して書かないと100%使い切るような性能はなかなか出ないですね(汗
HTは使ってみるとわかるんですが、論理上(少し性能の劣る)マルチコアに見えるというだけであり、マルチスレッドのソフトは基本的に素直に性能が上がりますね。
(HTとは関係無しに)マルチスレッドで出た問題を挙げると
やたら演算ばかりするスレッドを書くと、スレッドが回りすぎて、他のスレッドと比較して負荷が上がる>Windowsのスケジューリングで負荷が高い物を優先してスケジューリングする(Boost)>結果特定スレッドのみCPU時間を取ってしまい、他のスレッドに時間が回らず、想定よりもパフォーマンスが落ちる(Boost問題)
(余談ですがSEGAのPSOBBでアイドルループの書き方がまずくて、こうなってた事例があります)
自分で書いたソフトには問題が無いが、ASPIレイヤで「同一ソフトから同一IDのデバイスの操作は一つだけ」という条件が入っている為に速度が出ない(環境的な問題)
マルチスレッドをあまり意識せずにパフォーマンスを稼ぎたい場合は
・OpenMPを使う
・シングルスレッドで書いて複数走らせる
が良いかと思います
(特に後者は解析等で分散して解析を行うのに便利だったりしますし、意外に侮れないwww)