SSブログ
ソフトウェア ブログトップ

CPU情報 [ソフトウェア]

ソフトじゃないんですが。。。CPU情報の取得方法。
LinuxとSolarisとWindowsと、全て、異なるからややこしい。
思わず、Linuxで、psrinfoとか打ちそうになった
Linuxでは、cat /proc/cpuinfo、/proc/meminfoで、情報が取得できます。
Linuxの方が、コマンドではないものの、簡単なんだよね。
Solarisだと、sysdef, prtconf, psrinfo, dmesg, prtdiagとかで情報が採れますが、コマンド名を忘れるとアウト!
最近、物忘れが激しいから、覚えていられる自信もなし。。。
 そんなわけで、ちょっと覚え書きなのでした。


memcpy [ソフトウェア]

LinuxとSolaris10で、ちょっとI/Oの性能改善をやってます。
どうも、memcpy,memsetのメモリ関連がネック。
大きいサイズのデータをwrite(2)で書き出すと、write(2)のオーバーヘッドが目立ってくるため、memcpyのオーバーヘッドは見えなくなってくるが、512K以下のデータwriteでは、memcpyのオーバーヘッドが目立つ。
プログラムにも問題があり、最適化がかからないような書き方ではあるが、このオーバーヘッドはどうにかならないものだろうか。。。
自分で最適化関数作るなんて、原始的なことやらなきゃダメなのかしら。。。


O_DIRECT [ソフトウェア]

Linuxシステムで、open(2)でO_DIRECTを指定すると、ファイルに対する I/O のキャッシュの効果を最小化できる。
しかし、このフラグは要注意で、一般的に性能が低下する。
が、アプリケーションが独自にキャッシングを行っているような特別な場合には性能が上がるらしい。
ということで、このフラグを使用してみた。
確かに、あるファイルシステムでは性能が上がった。
が、一般的なext3だと、何と、write(2)でエラーになる。
何故か、open(2)では、エラーにならず、write(2)でエラーになる
調べてみると、ext3では、エラーにならないのが仕様らしい(バグではないらしい)。
最悪だ。。。
おかげで、/etc/fstabやら/etc/mtabやらの中身を見て、ファイルシステムを判定する羽目に陥った
こんな余計な処理して、却って性能が落ちるってことないんだろうか。。。
何で、エラーになるかなぁ。
せめて、open(2)でエラーにしてくださいって。
さすが、Linuxってところか。


述語論理やらN、NPやらMPIやら。。。 [ソフトウェア]

先日、教育を受けてきました。
ソフトウェアを日常的にプログラミングしているくせに、述語論理とか言われると、さ~っぱり。
分かるような分からないような。。。
エッセンスだけを書くのは、何て難しいのだろう。

NP,NP完全、NP困難。
これも、事前学習で苦労した。
結局、分かったような分からないような。。。
図解説明されて、何となく、分かった気になったけど、難しいな。
glibcのVLの違いとか、性能改善とかの方が、よっぽど簡単そう。

そして、今日、Fujitsu MPIの難しさを実感した。勉強させて貰いました。
このソフト、全然、人に優しくない(笑)
マニュアルを読んで指定しても、上手く実行できない。
コマンド指定時の順番があるらしい。
読み取れないよなぁ。。。


__thread [ソフトウェア]

thread local storageを使いたくて、いろいろ調べてみた。
まっ、結果は、今まで調べた通り、__threadで宣言して使うのが一番楽そうなのではあるが。。。
当たり前かもしれないが、EM64Tでは、static,dynamicで、オブジェクトの出方が違う。
そのおかげか、あるいは、gcc4系と3系の差のせいか、その辺りはまだよく調べていないが、static結合させると、リンクエラーになる。
簡単お手軽であるけれど、その分、注意して使わないといけないのかもしれない。
しかし、自分で、TLSをcreateして管理するのも面倒だしなぁ。。。。
gcc4系を少し、調べてみようか。


ソフトウェア ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。