クエリ: 英語で「基準」という意味がある、コンピューターのハードウェアやソフトウェアの性能を比較するために行われるテストを何という?
文章: ベンチマーク ベンチマークは実際のアプリケーションの代替品であり、そのアプリケーションが何らかの理由で使えないときのみ使われるべきものである。性能が最重要課題ならば、実際に使うシステムの負荷をベンチマークとして使う。それが不可能なら実際の負荷になるべく近いベンチマークを使う。そのベンチマークが認証されたものでなければ、慎重さが重要となる。たとえば、同じプログラムで性能を測定しても、入力や負荷状況によって測定結果が逆転することはあり得ないことではない。このような状況が問題となった1980年代は、CPUのアーキテクチャが従来の16ビットから32ビットへ大きく転換する時期にあたり、企業が都合のよい独自のベンチマークを発表していた。アーキテクチャやOSが異なる環境での比較は単純ではなく、アプリケーションベンダやユーザも巻き込んでの試行錯誤が続いていた。
文章: ソフトウェア ソフトウェア(英: software)は、コンピューター分野でハードウェア(物理的な機械)と対比される用語で、何らかの処理を行うコンピュータ・プログラムや、さらには関連する文書などを指す。 文章: ソフトウェアシステム ソフトウェアシステム (英: software system)は、コンピュータシステム(ハードウェアとソフトウェアの組み合わせ)の一部を形成するソフトウェアに基づいてコンポーネントを相互通信するシステムのこと。これは、「いくつかの個別のプログラム、これらのプログラムのセットアップに使用される構成ファイル、システムの構造を説明するシステムドキュメント、およびシステムの使用方法を説明するユーザードキュメントで構成される。」 「ソフトウェアシステム」という用語は、「コンピュータプログラム」および「ソフトウェア」という用語と区別する必要がある。コンピュータプログラムという用語は、一般に、特定のタスクを実行する一連の命令(ソースコードまたはオブジェクトコード)を指す。ソフトウェアシステムは一般に、仕様、テスト結果、エンドユーザードキュメント、保守記録など、より多くのコンポーネントを含む、より包括的な概念を指す。 ソフトウェアシステムという用語の使用は、ソフトウェア工学の文脈でのシステム理論アプローチの適用に関連する場合がある。ソフトウェアシステムは、一緒に動作するいくつかの個別のコンピュータプログラムと関連する構成ファイル、ドキュメントなどで構成される。 この概念は、ソフトウェアの主要コンポーネントとそれらの相互作用に焦点を当てているため、大規模で複雑なソフトウェアの研究で使用される。また、ソフトウェアアーキテクチャの分野にも関連する。 文章: Folding@home Folding@homeでは、オープンソースのOpenMMライブラリを使用している。 このライブラリは、2つのアプリケーション・プログラミング・インターフェース(API)レベルを持つブリッジ設計パターンを使用して、分子シミュレーション・ソフトウェアの基礎となるハードウェア・アーキテクチャにインターフェースする。 OpenMMベースのGPUシミュレーションでは、ハードウェアの最適化が追加されたことで、大幅な変更は必要とせず、手作業でチューニングされたGPUコードとほぼ同等の性能を実現し、CPUの実装を大幅に上回る性能を発揮する。 2010年以前は、GPGPUコンシューマーグレードのハードウェアの計算信頼性はほとんど知られておらず、GPUメモリに内蔵された誤り検出と訂正がないことに関する状況証拠により、信頼性の懸念が生じた。 2010年、Folding@home ネットワーク上の2万台以上のホストを対象とした大規模なGPU科学的精度テストでは、テストされたGPUの3分の2のメモリサブシステムでソフトエラー(英語版)が検出された。 これらのエラーはボードアーキテクチャと強く相関しているが、ソフトウェア側のエラー検出などのハードウェアの特性に注意を払っている限り、信頼性の高いGPUコンピューティングは大いに実現可能であると結論づけている。 Folding@homeの第一世代のGPUクライアント(GPU1)が2006年10月2日に公開され、CPUベースのGROMACSと比較して、いくつかの計算で20~30倍の高速化を実現した。 これは、GPUが分散コンピューティングや主要な分子動力学計算に使用された初めての試みであった。 GPU1は研究者にGPGPUソフトウェアの開発に関する重要な知識と経験を与えたが、2008年4月10日にDirectXの科学的な不正確さに対応して、第2世代のクライアントであるGPU2に引き継がれた。 GPU2の導入後、GPU1は6月6日に正式に引退した。 GPU1に比べて、GPU2はより科学的な信頼性と生産性が高く、ATIやCUDA対応のNvidia GPU上で動作し、より高度なアルゴリズム、より大きなタンパク質、タンパク質シミュレーションのリアルタイム可視化をサポートしていた。 これに続き、2010年5月25日には第3世代のFolding@homeのGPUクライアント(GPU3)がリリースされた。 GPU3は、GPU2との後方互換性を持ちながらも、より安定性、効率性、柔軟性に優れた科学的能力を持ち、OpenCLフレームワークの上にOpenMMを使用していた。 これらのGPU3クライアントはオペレーティングシステムLinuxとmacOSをネイティブにはサポートしていなかったが、Nvidiaのグラフィックカードを搭載したLinuxユーザーはWineソフトウェアアプリケーションを介してGPU3を実行することができた。 GPUは、Folding@homeのFLOPSの中で最も強力なプラットフォームであることに変わりはない。 2012年11月現在、GPUクライアントは、プロジェクト全体のx86 FLOPSスループットの87%を占めている。 文章: ソフトウェア品質 ソフトウェア品質(ソフトウェアひんしつ、英: Software quality)は、ソフトウェアの品質を指し、プログラマの観点からはソースコードの品質、エンドユーザーの観点からはアプリケーションソフトウェアの品質を意味する。 ソフトウェア品質の定義は様々である。ジェラルド・ワインバーグは著書 Quality Software Management: Systems Thinking v. 1 で「品質とは誰かにとっての価値である」と書いている。この定義は品質が本来主観的なものであることを強調している。同じソフトウェアであっても人によって品質の感じ方は全く異なる。この定義の利点は、ソフトウェア開発チームに「このソフトウェアは誰のために作っているのか?」とか「彼らにとって価値とは何か?」といった疑問を抱かせる点にある。 品質を「目的への適合性」と定義する場合、品質を測定するのに使うべき尺度(属性)を決定する際に、そのソフトウェアの目的を考慮する必要があることを意味する。 文章: Windows Hardware Lab Kit Windows 2000, XP, 2003の時間枠にて、デバイスを認証するための古いツールのハードウェア互換性テスト(Hardware Compatibility Test ,HCT)がありました。Windows Vistaがリリースされたとき、ツールは、当時サポートされていたすべてのプラットフォームのドライバを認証することができるDriver Test Manager (DTM)に置き換えられました。当時DTMはWindows Driver Kit (WDK)の一部でした。その後、DTMはWDKから分離され、Windows Logo Kit (WLK)に名称が変更されました。Windows 8では、//Build/カンファレンスで発表されたように、Windows Hardware Certification Kit (Windows HCK)に名称が変更されました。その後、Windows 10のリリースでは、Windows 10プラットフォーム上でのハードウェアとドライバのテストを目的とした「Windows Hardware Lab Kit (Windows HLK)」に名称が再び変更された。Windows ハードウェア認証キットは、Windows 7、Windows 8、Windows 8.1 (およびそれぞれのサーバー製品) プラットフォームでのハードウェアのテストを継続しています。 文章: ソフトウェア ソフトウェア (英: software)は、コンピューター分野でハードウェア(物理的な機械)と対比される用語で、何らかの処理を行うコンピュータ・プログラムや、さらには関連する文書などを指す。 文章: 熱衝撃試験 熱衝撃試験(ねつしょうげきしけん)とは、電子部品や装置が周囲温度の変化にどのくらいの耐性があるか確認する環境試験のひとつ。 文章: ファイルコンペア ファイルコンペア (英: file comparison)、ファイルの比較は、コンピューティングでは、データオブジェクト (ソースコードなどのテキストファイルなど)間の相違点を比較して見つけ、出力すること。比較の方法、実装、結果は、diff (ディフ)と呼ばれることがある。これは、UNIXのdiffユーティリティが由来となっている。出力は、グラフィカルユーザーインターフェイスで表示されたり、ネットワーク、ファイルシステム、リビジョン管理のタスクの一部として利用される。広く使用されているファイル比較プログラムには、diff、cmp、FileMerge、WinMerge、Beyond Compare、File Compareが挙げられる。多くのテキストエディタやワードプロセッサでは、ファイル比較の機能があり、比較実行後に文書の変更部分を強調表示する。 文章: ソフトウェアパフォーマンステスト 負荷テストは、パフォーマンステストの最も単純な形式である。負荷テストは通常、特定の予想される負荷の下でのシステムの動作を理解するために実行される。負荷をかける例として、設定された期間内に特定の数のトランザクションを実行するアプリケーションソフトウェアで予想される同時ユーザー数を増やしテストをする。このテストは、すべての重要なビジネスクリティカルトランザクションの応答時間を示す。データベース、アプリケーションサーバなどもテスト中に監視される。これは、アプリケーションソフトウェアとソフトウェアがインストールされているハードウェアのボトルネックを特定するのに役立つ。 ストレステストは通常、システム処理能力の上限を理解するために行われる。この種のテストは、システムへの極端な負荷に関するシステムの堅牢性を判断するために行われ、管理者が、システムへの負荷が予想される最大値を大幅に上回った場合にシステムが十分に機能するかどうかを判断するのに役立つ。 耐久性テストとも呼ばれるソークテストは、通常、システムが継続的な予想負荷に耐えられるかを判断するために実行される。ソークテスト中、潜在的なメモリリークを検出するためにメモリ使用率を監視する。また、重要だが、見過ごされがちなのは、パフォーマンスの低下である。つまり、長期間の持続的なアクティビティの後のスループットや応答時間が、テストの開始時と同じかそれ以上であることを確認する。これには、基本的に、システムにかなりの期間、かなりの負荷をかける必要がある。継続的な使用下でのシステムの挙動を見るのが目的である。 文章: ソフトウェア品質 言語はソフトウェア設計の意図していることをなるべく簡単に記述できるよう進化してきた。文、サブルーチン、ファイル、クラス、テンプレート、ライブラリ、コンポーネントといった概念の導入により、プログラムの記述が抽象化・階層化・モジュール化され、コードの理解が容易になってきた。 さらに言語の進化によってデータの構造や利用に関しても正確な制御が可能となってきた。 プログラムが要求仕様などの通りに動作するかを判定するのがソフトウェアテストである。単体テストは、プログラムのごく一部(多くの場合1つのサブルーチン毎)を対象に仕様通りに動作することを確認する。結合テストは、より大きなモジュール単位での動作を確認する。 文章: コンピュータ適応型テスト コンピュータ適応型テスト(コンピュータてきおうがたてすと, Computer-adaptive Testing, Computerized adaptive test) 略称CATは項目応答理論(略称IRT)によって推定されたパラメータの付与された問題項目(アイテム)をアイテムプールに置き、受験者の回答パターンに応じて、困難度の異なるアイテムを選んで出題することにより、動的、短時間、高精度で受験者特性の測定を判定を行う方法である。受験者ごとに異なる問題を解いても、能力推定値つまり得点の信頼性は、項目応答理論により保証される。 文章: 半導体試験装置 半導体デバイスに電気を流すことで、正常に動作するかを試験する装置。ATE(Automated Test Equipment)とも呼ばれる。検査対象(DUT, Device Under Test)の集積回路設計時に作成したテストパターンを元に、入力信号を生成し出力信号を期待値と比較する。ウェハーのレベルでの試験(前工程試験、プローブテスト)、パッケージング後の試験(後工程試験)の2回の試験が行われる。装置の価格が数千万円程度と高価であり、テスト時間(主にテストパターン長に依存)が長いと半導体製品の価格に影響を与える。ウェハーレベルでの試験の際、電気を流すためにウェハーに針(プローブ)を当てるための装置。テスタと接続して用いられる。DUTのPADの位置にプローブを配置したプローブカードをDUT毎に交換して用いる。パッケージング後の試験の際、テスタにデバイスを供給するための装置。 文章: ソフトウェアテスト 仕様通りに動いているか、試験仕様に基づいて確認する試験を検証試験 (verification test)、エンドユーザーの意図通りに動いているかどうかを確認する試験を妥当性確認試験 (validation test) という。 決めた仕様に合致しているかどうかを試す試験。プログラミング言語、OS、通信規約、データベースなどの仕様に合致しているかどうかを試す試験を適合試験ということがある。 OS、プログラミング言語、ネットワーク通信プロトコル、データベースなどソフトウェアを動かすための基本的なプラットフォームが、仕様に適合しているかどうかを確認する検証試験 (verification test)。OSの国際規格の一つであるPOSIXでは、 NIST が適合試験のソースコードを公開している。 自動車用OSの国際規格OSEKでは、MODISTARC (Methods and tools for the validation of OSEK/VDX based distributed architectures) がある。 TOPPERS OSでは、TTSP (TOPPERS Test Suite Package) というテスト環境を提供し、適合テスト等を実施しやすくしている。 プラットフォームの適合試験を実施せずに、アプリケーションソフトウェアの試験を実施すると、プラットフォーム仕様の変化に対応できていないことがある。 文章: 直交表テスト 直交表テスト (ちょっこうひょうテスト、英: orthogonal array testing) は、ソフトウェアテストの体系的で統計的な方法であるブラックボックステスト手法である。 これは、システムへの入力の数が比較的少ないが、システムへのすべての可能な入力の徹底的なテストを可能にするには大きすぎる場合に使用される。 これは、コンピュータソフトウェアシステム内の障害のあるロジックに関連するエラーを見つけるのに特に効果的である。 直交表は、ユーザーインターフェイステスト、システムテスト、回帰テスト、構成テスト、およびパフォーマンステストに適用される。テストケースはそれぞれ、結果が無相関であるように選択されているため、各テスト結果は固有の情報を提供する。このような処理で実験を整理することで、同じ情報を最小数の実験で収集できる。 文章: 仮想化 仮想化(かそうか、英語: virtualization)とは、コンピュータのリソースを抽象化することであり、ソフトウェアと物理的なハードウェアの間に抽象化されたレイヤーを提供することで、コンピュータリソースを管理するための様々な技術である。仮想化ソフトウェアを実行しているマシンは、さまざまなオペレーティングシステム(OS)で実行されているアプリケーションを管理できる。サーバー、ストレージデバイス、ネットワークリソースなどのハードウェアプラットフォームをソフトウェアで効果的にエミュレートまたはシミュレートする。一言で言えば、WindowsなどのOS内で別のOSを使用すること。 主にユーザーに提供するコンピュータそのものをハードウェアの詳細から切り離した状態でソフトウェア化する事を指す。ユーザーは画面切り替えの要領で複数のコンピュータを使い分けられる。管理者にとっては、ユーザーに提供するコンピュータに関わる全ての作業をソフトウェアの設定変更のみで行えるようになり、構成変更に掛かる時間が劇的に短縮されるため、物理的な作業では対応できないような管理を行う事が出来るようになる。ソフトウェア化したコンピュータを仮想マシン、仮想マシンを実際に稼動させるハードウェアを物理マシンと呼ぶ。仮想マシンは別の物理マシン上にデータ移動のみで移す事が出来るため、USBメモリなどにも収められる。 「リソースの物理的特性を、そのリソースと相互作用するシステム/アプリケーション/エンドユーザーから隠蔽する技法。単一の物理リソース(サーバ、OS、アプリケーション、補助記憶装置など)を複数の論理リソースに見せかけたり、複数の物理リソース(複数の補助記憶装置群やサーバ群)を単一の論理リソースに見せかけたりできる」という実用的定義がある。また、単一の物理リソースを何らかの特性の異なる単一の論理リソースに見せかけることもできる。そして、仮想回線により、幅が拡がる。