Apple は、電力効率を向上させながら RAM、ストレージ、CPU の使用量を最大化するように設計された OS X 10.9 Mavericks の重要な新機能である Compressed Memory を公に宣伝しました。
より多くのリソースを、より少ない欠点で
新しい圧縮メモリ機能はまったく理想郷のように聞こえます。オペレーティング システムは、メモリ内に保持されている最も重要度の低いコンテンツにデータ圧縮を適用して、利用可能な RAM をより多く解放します。また、非常に効率的に実行されるため、CPU とストレージ デバイスの動作が減り、バッテリーも節約されます。
この新機能は、MacBook Airなどのモバイル製品に対するAppleの設計方向性に特によく適合しており、(機械式ハードドライブではなく)SSDストレージによって長いバッテリ寿命を実現することを目指しているが、アフターマーケットのRAM拡張も提供していない。潜在的。
Apple の現行の MacBook Air モデルは現在、最低 4GB RAM を搭載しており、購入時に 8GB をインストールする 100 ドルのオプションが付いています。ただし、OS X Mavericks を実行できる初期のモデルは、わずか 2GB しか搭載せずに 2011 年まで販売されました。このような限られた RAM リソースを最大限に活用するために、Apple は動的なメモリ圧縮を使用して、RAM にロードされているがすぐに必要ではないコンテンツの占有領域を自動的に縮小します。
このような限られた RAM リソースを最大限に活用するために、Apple は動的なメモリ圧縮を使用して、RAM にロードされているがすぐに必要ではないコンテンツの占有領域を自動的に縮小します。
OS X は、同様の目的を果たすために常に仮想メモリを使用してきました。仮想メモリを使用すると、OS は重要度の低いコンテンツをディスク (ハード ドライブまたは SSD) に「ページング」し、必要に応じてアクティブ メモリにロードし直します。ただし、これにはかなりの CPU とディスクのオーバーヘッドが必要になります。ユーザーが使用可能なメモリの不足に近づくほど、システムはディスク スワップ ストレージに対してより多くのページングを行う必要があります。
オペレーティング システムはオンザフライでメモリをさらに効率的に圧縮できるため、仮想メモリでのアクティブなページングの必要性が減少することがわかりました。これにより、CPU とドライブの電力がより頻繁に低下し、バッテリーの消費が節約されます。
超高速、超効率的な圧縮
「Mac が自由に使えるメモリが増えるほど、動作が速くなります」と Apple は OS X Mavericks について述べています先端技術ページ。
「しかし、複数のアプリを実行している場合、Mac はより多くのメモリを使用します。OS X Mavericks を使用すると、圧縮メモリにより、最も必要なときに Mac のメモリ領域を解放できます。Mac が最大メモリ容量に近づくと、OS X は自動的にデータを圧縮します。非アクティブなアプリにより、より多くのメモリが利用可能になります。」
Appleはまた、技術概要の概要で、「圧縮メモリは、メモリ内で最も最近使用されていない項目を自動的に圧縮し、元のサイズの約半分に圧縮します。これらの項目が再び必要になった場合は、即座に圧縮を解除できます。」と述べています。
その結果、システムで利用できる空きメモリが増え、「システム全体の帯域幅と応答性が向上し、Mac が大量のデータをより効率的に処理できるようになります」。
Apple は WKdm 圧縮を使用しています。これはデータの圧縮に非常に効率的であるため、圧縮と解凍のサイクルが「ディスクへの読み取りと書き込みよりも高速」です。
データ圧縮の新旧テクノロジー
一般に、メモリとストレージの圧縮はまったく新しいものではありません。 1980 年代には、DiskDoubler などのツールを使用して、ファイルをアーカイブに圧縮するのではなく (コンピューティングの初期に遡ります)、ユーザーがその場でディスク上のファイルを圧縮できるようになりました。 RAM Doubler はメモリに対して同じことを行いましたが、この技術は 90 年代後半に仮想メモリに本質的に置き換えられました。
時間が経つにつれて、特にストレージが安価になり、より豊富になり、新しい技術がオペレーティング システムに組み込まれるにつれて、ファイルを圧縮することによるメリットが、関連するオーバーヘッドによって大きく上回られるようになりました。しかし、最近のモバイル コンピューティングへの動きと、比較的高価なソリッド ステート ストレージ (アイドル状態であることが多いが非常に高速な CPU コア) の使用により、圧縮の人気が再び高まっています。
OS X 10.6 Snow Leopard 以降、Apple はシステム ファイルのディスク領域を節約する機能として HFS+ 圧縮を密かに追加しました。以前のバージョンの OS X ではこれらの圧縮ファイルを認識できなかったため、この利点は限られており、圧縮はシステム外のファイルには適用されませんでした。
Windows も、Linux の Btrfs と同様に NTFS でのファイル圧縮を使用しますが、一般に、これらによってパフォーマンスが低下するため、主な利点はパフォーマンスを犠牲にしてディスク領域を増やすことになります。ディスク ストレージではなく、揮発性システム メモリの内容を圧縮することは、さらに実験的なままです。
ディスク ストレージではなく、揮発性システム メモリの内容を圧縮することは、さらに実験的なままです。 VMWare の ESX など、多くの仮想化製品ではデフォルトでアクティブになっています。そしてそれはまた研究された一般的なコンピューティングで使用されます。
Linux では、コンプキャッシュプロジェクトは、LZO アルゴリズムを介して同様にメモリを圧縮しようとしていますが、そうでなければディスクへのページングにコストがかかります。ただし、ここでも利点は、関係するオーバーヘッドや、冬眠からの復帰などの操作に伴う追加の複雑さに必ずしも見合うものではありませんでした。
新しい問題に対処する最新のソリューション
しかし、今日では、高速でアイドル状態になることが多い CPU コアの組み合わせが使用されています。大規模なデータセット。より高価な SSD ストレージとモバイル コンピューティングの効率要件により、使用される圧縮テクノロジが実行されるタスクの種類に適合していれば、メモリ圧縮はさまざまな問題に対する完璧な解決策となります。
クレムソン大学のマシュー・シンプソンによる研究メリーランド大学、ラジーブ・バルア氏とスルパ・ビスワス氏、調べた10 年前には、特にメモリが不足する可能性が高い組み込みシステムに関して、さまざまなタイプのメモリ圧縮が使用されていました。
そこで問題となったのは、使用する最適な圧縮技術です。研究では、「辞書ベースのアルゴリズムは圧縮速度が遅く、解凍速度が速い傾向があるのに対し、統計アルゴリズムは圧縮と解凍の速度が同等に速い傾向がある」と指摘しています。
Apple が現在使用している WKdm 圧縮 (辞書圧縮技術と統計圧縮技術の両方を組み合わせたもの) は、最速 (したがって最も効率的な) 圧縮速度と解凍速度の両方で効果的な圧縮を提供することが研究で判明しました。
スーパーチャージされた仮想メモリ
Apple の新しい圧縮メモリ機能も仮想メモリ上で動作し、さらに効率的になります。
Appleは、「Macが[仮想メモリ経由で]ディスク上のファイルを交換する必要がある場合、圧縮されたオブジェクトはフルサイズのセグメントに保存されるため、読み取り/書き込み効率が向上し、SSDやフラッシュドライブの消耗が軽減されます。」と説明しています。
Apple は、自社の圧縮技術により「最近使用されていないメモリ内の項目のサイズが 50% 以上削減される」と述べ、「圧縮メモリは信じられないほど高速で、わずか数秒でメモリのページを圧縮または解凍します」と述べています。 100万分の1秒です。」
Compressed Memory は、「従来の仮想メモリとは異なり」複数のコアでの並列実行も利用できるため、「未使用のメモリの再利用とメモリ内のめったに使用されないオブジェクトへのアクセスの両方で超高速のパフォーマンスを実現します」。
仮想メモリの動作方法を改善することで、システムが「メモリとストレージの間でデータを継続的にやり取りして時間を無駄にする」必要がなくなりました。その結果、上で示したように、メモリ圧縮により負荷時の一般的な応答性とスタンバイからの復帰時間の両方が向上すると Apple は述べています。
(4) の脚注では、Apple がグラフィック注記で次のように言及しています。「テストは、256 GB のフラッシュ ストレージ、4 GB の RAM、プレリリース版の 1.8 GHz Intel Core i5 ベースの 13 インチ MacBook Air システムを使用して、2013 年 5 月と 2013 年 6 月に Apple によって実施されました」 OS X v10.9 および OS X v10.8.4 のバージョン。パフォーマンスはシステム構成、アプリケーションのワークロード、その他の要因によって異なります。」