1

私は問題に取り組んでおり、自分の仕事が正しいことを確認したいだけなので、誰かが私を批判できれば幸いです.

質問:

検討されている 2 つのアーキテクチャの改善点があります (A1 & A2)。5 つのベンチマーク (B1 ~ B5) のそれぞれについて、ベース システムと比較した速度向上を示す表が渡されました。これらの高速化は、参照コンピューターに対するスペック比です。

A1: B1 = 1.5、B2 = 4、B3 = 3、B4 = 2、B5 = 5

A2: B1=3、B2=1.5、B3=4、B4=4、B5=3

上記の情報を考慮して、どの改善を選択する必要がありますか?

私の答えは次のとおりです。

ベースラインを参照として使用し、改善の仕様比 (A1/A2) の幾何平均を使用して、どちらが優れているかを判断できます。

スペック比は以下の通り。

S1 = 1.5/3

S2 = 4/1.5

S3 = 3/4

S4 = 2/4

S5 = 5/3

幾何平均は次のようになります: (S1*S2*S3*S4*S5)^(1/5) これはおよそ 0.96 に相当します。

したがって、A1 は A2 よりもおよそ 96% しか優れておらず、A2 を選択する必要があります。

繰り返しますが、ここで私の考えが正しいかどうかを確認しています。どんな助けでも大歓迎です。

EDIT1: Mackie の方法論の使用

ベンチマークのベース スピードを取ると、A0 の場合は次のようになります。

B1=B2=B3=B4=B5=1

したがって、Base と A1 のスペック比 (A0/A1) の幾何平均は次のようになります。

((1/1.5) * (1/4) * (1/3) * (1/2) * (1/5)) ^ (1/5) = 0.35

また、Base と A2 のスペック比 (A0/A2) の幾何平均は次のようになります。

((1/3) * (1/1.5) * (1/4) * (1/4) * (1/3)) ^ (1/5) = 0.34

ただし、ここで (Base/A1) と (Base/A2) を比較すると、0.35/0.34 = 1.03 になります。これは、A1 が A2 よりも約 3% 遅いことを意味しますか? 私の計算は間違っていますか、それとも A0 に対して間違ったベンチマークを選択したのでしょうか? 私の最初の方法はより単純に見え、最初の質問が何を求めていたか...

4

2 に答える 2

2

2 つのアーキテクチャ上の改善点のそれぞれについて幾何平均を計算し、結果の 2 つの数値を比較することをお勧めします。このようにして、それぞれをベース システム (スコアは 1.0) と比較することもできます。もちろん、2 つの数値を除算すると、上記と同じ結果が得られます (A1 は A2 よりも 0.96 倍遅い)。

このようにすると、各マシンのパフォーマンスを 1 つの数値で特徴付けることができます。それが練習のポイントです。比較するマシンがたくさんある場合、この方法ははるかに難しくなります...

于 2013-11-02T23:22:14.723 に答える
0
Given the above information, which improvement should be chosen?

これは興味深い質問ですが、与えられた情報が十分ではないように感じます。まず、システムのユーザーにとってより重要なことは、タスクのバッチを実行するのにかかる合計時間を最小限に抑えたいかということです。それとも、バッチ内で最も長いタスクにかかる時間を気にしており、それが長すぎてはいけません (リアルタイム システム?)? それとも、バッチ内の最短のタスク時間に関心がありますか?最初に解決するために他の人と競争していて、最初の解決策のみが報われるためです (競争力のあるメルセンヌ素数探索)?

さらに、上記の情報を次の新しい情報で補足すると:

Benchmarks B1,B3-B5 represent tasks that happen just 0.01% of the time in production
Benchmark B2 represents the 99.99% of tasks

その場合、平均的なケースを最適化すると、A1 は A2 の 2 倍を超えます。どちらの改善が優れているかはすぐにはわかりません。

編集: ブレーンストーミング - B1 から B5 が平均的なタスクを表し、実行時間の違いがランダムに扱われる場合、標準偏差が最小の改善を選択するのが最善でしょうか?

于 2013-11-02T22:27:20.043 に答える