人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

自作のソフトウェアが、ハイパースレッドやマルチプロセッサ環境で正しく動作するかを確認するする手法やツールにはどのようなものがあるでしょうか?
ソフトウェアの作成方法についてのガイドラインはいくつか見ましたが、客観的にテストできるツール類の情報がなくて困ってます。
現状は、インテルスレッドチェッカーの評価版を使用してみる予定です。
動作環境は、OS:windows2003,開発環境は VisualStudio 2005。
ソフトウェアの種類はDB,IISと連携するサーバアプリケーションです。

●質問者: silver_ocapi
●カテゴリ:コンピュータ インターネット
✍キーワード:dB IIS OS VisualStudio アプリケーション
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● studioes
●27ポイント

http://www.compuware.co.jp/products/devpartner_fm/boundschecker/

こんなのもありますが・・・

情報がないというか、選択肢がないのだと思います。

マルチタスクによる問題を確実に確認する手法はあまり無いと思います(学会でコードからのデッドロック検出手法につての論文が出ていた気がするし) 起こらないように作るしかないんじゃ・・・

シリアライズする。 ロックの順序を統一する。 ロック後に別のロック待ちをするときにはタイムアウトを設定する等、基本的な対策でやるしか無いかと。

特にデータベースへのロックになってくると、追いかけるのは大変です(ユースケースに基づくテストプログラムを作って、データベース側のデッドロック検出を併用する等の力業で・・・)

◎質問者からの返答

作成するにあたっては当然気をつけるのですが、ソースコードレビューと、自分で考えたテストケース作成、バグ発生時のデバッグ以外の確認方法がないかなと思っております。

ご紹介いただきました、Bounds Checker は使用したことがないです。Purify は使用しております。紹介ページにはマルチプロセッサ特有のチェックには記載がありませんでした。

評価版がダウンロードできるようなので、後日試してみることにします。


2 ● felix33
●27ポイント

実際に動作させてみないとわかりませんね。チップレベルでダメという場合もありますから。

◎質問者からの返答

動作させてみるとのことですが、マルチプロセッサでの動作確認ためには、このようなことをやってみるという具体的な内容はないのでしょうか?

チップレベルでということなので、問題の切り分けのためのリファレンスチップセットと比較するとかでしょうか?


3 ● kurukuru-neko
●26ポイント

あまりツールには頼れないとおもいますよ。

同時稼動するたとえ正常に排他制御がされても

それだけでおよいと言うわけでもありません。

プロファイラーでの解析や、デッドロック

は必ず発生する前提でコードを作成して対策

(トレース)していないと再現も困難です。

試験時サーバー側のCPUの処理能力に

応じた並列度で試験を繰り返し自動実行

して期待した結果と、統計情報を得て

解析するしかないような気がします。

http://support.microsoft.com/kb/231282/ja

http://q.hatena.ne.jp/1112054078

なげやりですがもうすぐセミナーがあるので

質問してみるとか?

http://www.xlsoft.com/jp/products/intel/college/seminar_multicor...


>チップレベルでということなので

CPU、チップセットレベルの不具合

と言う事では?

コンパイラもありますが。

◎質問者からの返答

セミナー情報ありがとうございました。早速申し込んでみました。インテル製品を買ってねということなのでしょうが、使ってみるつもりだったのでデモを見ることができて助かります。他には近日ソフトウェア開発環境展があるので、何かないか見てみます。

ツールに頼りきるつもりはなくて、アプリケーションとしてのテストは当然行って、マルチプロセッサのケースに特化した手法があるかなぁということです。

プロセッサ数を増やして負荷テストを中心にテストを行ってみるということでしょうか?

この場合も、どこまでやればOKとするのかは難しい所ですねぇ。

自分のアプリ以外のバグはとりあえず範囲外かと。OSやライブラリのバグとか言い出したらきりがないので。当然切り分けは必要なのですが。

世間で、ハイパースレッド対応とうたってるソフトウェアは何でOKとしてるんでしょうねぇ。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ