異なるインフラストラクチャで実行された実験を比較する方法


8

私は分散アルゴリズムを開発しています。効率を改善するには、ディスクの数(マシンごとに1つ)と効率的なロードバランス戦略の両方に依存しています。ディスク数が増えると、I / Oに費やす時間を削減できます。また、効率的なロードバランスポリシーにより、データレプリケーションのオーバーヘッドをあまりかけずにタスクを分散できます。

同じ問題を扱った文献に関する多くの研究があり、それらのそれぞれが彼らの提案を評価するために異なる実験を実行しています。いくつかの実験は提示された戦略に固有のものであり、弱いスケーリング(スケーラビリティ)や強いスケーリング(スピードアップ)などの他の実験はすべての作業に共通しています。

問題は、通常、実験が完全に異なるインフラストラクチャ(ディスク、プロセッサ、マシン、ネットワーク)で実行され、評価対象によっては、偽/不公平な比較が発生する可能性があることです。たとえば、Infiniband接続の10台のマシンで実行しているアプリケーションで速度が100%向上する可能性がありますが、接続がイーサネットの場合、同じまたはさらに悪い結果が得られる可能性があります。

では、さまざまな実験を正直に比較して、効率の向上を指摘するにはどうすればよいでしょうか。

回答:


3

これは非常に良い質問であり、一般的な状況です。

私の意見では、制御する必要がある3つの異なる要素があります。

  • データ:アルゴリズムとアーキテクチャを評価するために、すでに異なるベンチマークが存在します。これらのデータは、誰もが自分のアプローチを対比できるように、公開されている必要があります。
  • アーキテクチャ:私の提案は、クラウドですべてをテストして、誰もが結果を比較できるようにすることです。また、同じマシンとソフトウェアが使用されていることは間違いありません。
  • アルゴリズム:分散アルゴリズムを開発した場合は、特定のデータでアルゴリズムを比較することをお勧めします。この場合、アルゴリズムは公開しないでください。

したがって、質問に答えて、異なる実験を比較して、分散アルゴリズムが他のアルゴリズムよりどの程度優れているかを述べる場合は、実験が実行されたのと同じ環境(データとアーキテクチャ)をできるだけ正確に複製するようにしてください。

これが不可能な場合、私の提案は、公開データとクラウドアーキテクチャでアルゴリズムをテストし、将来のアルゴリズムの比較を容易にするときに参照になるようにすることです


2

言うのは簡単ですが、変化する環境を変数として扱い、これらの変数に基づいてアルゴリズムのパフォーマンスベースを記述/推定することをお勧めします。そしてうまくいけば、他の人も同じことをするでしょう。興味深いことに、研究検証としての実験-行き過ぎているのか?


2

次の一般的な答えは私の知識のない推測ですので、塩の粒でそれを取りなさい。うまくいけば、それは理にかなっています。実験を(他のシステムと同様に)一般的に説明または分析する最良の方法は、統計(多変量)モデルを構築して評価することだと思います。一連の実験の環境同じモデルで表されているか、別のモデルで表されているかに応じて、次のアプローチが見られます。

1)単一モデルアプローチ。 すべての環境(従属変数と独立変数、データタイプ、仮定、制約)の実験の統計モデルを定義します。それを分析します(おそらく回帰分析を使用します)。さまざまな環境を決定(影響)する変数間で結果比較します。

2)複数のモデルによるアプローチ。前のケースと同じ手順ですが、異なる環境に対応するモデル間で結果比較します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.