与えられたディスクがフライ解凍に行い、パフォーマンスのために意味をなす遅いと複数のコアでありますか?

StackOverflow https://stackoverflow.com/questions/1840979

質問

これは、効率を犠牲にしてストレージ容量を増やすために使用したディスク圧縮にするために使用が、我々は戻って、すべてのシングルプロセッサシステム上にありました。

これらの日は、潜在的にデータの処理と並行して解凍作業を行うために周りの余分なコアがあります。

I / Oバウンドのアプリケーション(特に重い順次データ処理を読んで)にとっては唯一のディスクに圧縮されたデータを読み書きすることで、スループットを向上させることが可能かもしれません。

は、誰もが、この推測を支持または拒否する任意の経験を持っていますか?

役に立ちましたか?

解決

時間とディスクの読み取り率を求めたディスクを混同しないように注意してください。これは、ハードドライブ(HDD)上の右のトラックをシークするCPUサイクル(5~10ミリ秒または5から10000000ナノ秒)の何百万を取ります。あなたがそこにいるならば、あなたは、低断片化を想定し、秒あたりのデータのメガバイト数十を読むことができます。ソリッドステートドライブ(SSD)のために、時間はHDDのより(35,000-100,000ns)低いシーク

のデータがディスクに圧縮されているかどうかにかかわらず、あなたはまだ模索しなければなりません。質問は(ディスクが+減圧時間圧縮されたデータのための時間を読んで)<(ディスクが圧縮されていないデータのための時間を読んで)である、となります。それは長いものと短いトークンを置き換えるになるので、解凍は、比較的高速です。最後に、それはおそらく、それが最初の場所にあったどれだけデータが圧縮され、どのように大きなに沸きます。あなたが代わりに5キロバイトの元の2キロバイトの圧縮ファイルを読んでいるなら、それはおそらく、それだけの価値はありません。あなたが代わりに25メガバイトの元2MBの圧縮ファイルを読んでいる場合、それは可能性があります。

合理的なワークロードを測定します。

他のヒント

はい!実際には、プロセッサが高速になりましたそれもメモリのために理にかなっているように途方もあります。 (IBMがこれを行い、私は信じています。)私は現在、大きな鉄のマシンのいくつかのも、CPUのキャッシュの圧縮を行う、と考えています。

はい、これは完璧な理にかなっています。 NTベースのWindows OSのオン広く、時にはNTFS圧縮を有効にすると、まさにこの理由のためにそれを無効にするよりも速くできることを受け入れています。これは、それがより真作るべき年とマルチコアのための真のされています。

私は、それはまたあなたの圧縮がIOはあなたがバインドどのように対でどのように積極的に依存だと思います。

例えば、DB2の行圧縮機能は、IOバインドされたアプリケーションを対象としている:データ・ウェアハウス、報告システム、等これは、辞書ベースのアルゴリズムを使用し、非常に積極的ではない - データの50〜80%の圧縮をもたらす(表、ストレージ内のインデックス、ならびにメモリに)。しかし - それはまた、約10%のクエリを高速化する傾向にある

彼らははるかに積極的な圧縮を行っている可能性が、その後パフォーマンスヒットを取っただろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top