OS X 10.9 Mavericksの圧縮メモリはRAMの解放とバッテリー寿命の延長を目的としています

OS X 10.9 Mavericksの圧縮メモリはRAMの解放とバッテリー寿命の延長を目的としています

Apple は、RAM、ストレージ、CPU の使用率を最大化すると同時に電力効率も向上するように設計された OS X 10.9 Mavericks の重要な新機能、圧縮メモリを公式に宣伝しました。

より多くのリソース、より少ない欠点

新しい圧縮メモリ機能は、まさにユートピア的な発想です。オペレーティングシステムがメモリ内の重要度の低いコンテンツにデータ圧縮を適用し、RAMの空き容量を増やします。しかも、その効率性は非常に高く、CPUとストレージデバイスの負荷を軽減し、バッテリー消費も抑えます。

この新機能は、MacBook Air などの Apple のモバイル製品の設計方針に特によく適合しています。MacBook Air は、機械式ハードドライブではなく SSD ストレージによって長いバッテリー寿命を実現することを目指していますが、アフターマーケットの RAM 拡張の可能性は提供していません。

Appleの現行MacBook Airモデルは、最低でも4GBのRAMを搭載しており、購入時に100ドルで8GBの増設オプションを選択できます。しかし、OS X Mavericksが動作可能な初期モデルは、2011年までわずか2GBのRAMしか搭載していませんでした。限られたRAMリソースを最大限に活用するため、Appleは動的メモリ圧縮機能を搭載し、RAMに読み込まれているもののすぐには必要のないコンテンツのメモリ容量を自動的に縮小します。

このように限られた RAM リソースを最大限に活用するために、Apple は動的メモリ圧縮を使用して、RAM にロードされているがすぐには必要のないコンテンツのフットプリントを自動的に縮小します。

OS Xはこれまでも仮想メモリを同様の目的で使用してきました。仮想メモリでは、OSは重要度の低いコンテンツをディスク(ハードドライブまたはSSD)に「ページング」し、必要に応じてアクティブメモリに読み込みます。しかし、これにはCPUとディスクに大きなオーバーヘッドがかかります。ユーザーが利用可能なメモリを使い果たしそうになるほど、システムはディスクスワップストレージへのページングをより多く行う必要があります。

オペレーティングシステムはメモリをオンザフライでさらに効率的に圧縮できるため、仮想メモリにおけるアクティブページングの必要性が軽減されます。これにより、CPUとドライブの電力消費が抑えられ、バッテリー消費が削減されます。

超高速、超効率的な圧縮

Apple は OS X Mavericks の高度なテクノロジーのページで、「Mac に搭載できるメモリが多ければ多いほど、動作が速くなります」と述べています。

しかし、複数のアプリを実行すると、Macはより多くのメモリを使用します。OS X Mavericksでは、圧縮メモリにより、Macは最も必要なときにメモリ領域を解放できます。Macのメモリ容量が最大に近づくと、OS Xは非アクティブなアプリのデータを自動的に圧縮し、より多くのメモリを利用できるようにします。

OS X 10.9 メモリ圧縮

Appleは技術概要の中で、「圧縮メモリはメモリ内で最も使用頻度の低い項目を自動的に圧縮し、元のサイズの約半分に圧縮します。これらの項目が再び必要になったときは、瞬時に解凍できます」とも述べています。

その結果、システムで利用できる空きメモリが増え、「システム全体の帯域幅と応答性が向上し、Mac が大量のデータをより効率的に処理できるようになります。」

Apple は WKdm 圧縮を使用しています。これはデータのパックが非常に効率的であるため、圧縮と解凍のサイクルが「ディスクの読み書きよりも高速」です。

データ圧縮の新しい古い技術

メモリやストレージの圧縮自体は、決して新しいものではありません。1980年代には、DiskDoublerなどのツールによって、ファイルをアーカイブに圧縮する(コンピュータの黎明期に遡る)のではなく、ディスク上のファイルをオンザフライで圧縮できるようになりました。RAM Doublerはメモリに対して同様の機能を提供しましたが、この技術は90年代後半に仮想メモリにほぼ取って代わられました。

時が経つにつれ、特にストレージが安価で豊富になり、オペレーティングシステムに新しい技術が組み込まれるにつれて、ファイル圧縮のメリットはそれに伴うオーバーヘッドによって大きく上回られるようになりました。しかし、近年のモバイルコンピューティングへの移行と、比較的高価なソリッドステートストレージ(そしてアイドル状態になることが多いが非常に高速なCPUコア)の使用により、圧縮は再び人気を集めています。

OS X 10.6 Snow Leopard以降、Appleはシステムファイルのディスク容量を節約する機能として、HFS+圧縮をひっそりと追加しました。しかし、以前のバージョンのOS Xではこれらの圧縮ファイルを認識できず、システム外のファイルには圧縮が適用されなかったため、その効果は限定的でした。

WindowsもNTFSでファイル圧縮を使用しており、LinuxのBtrfsも同様です。しかし、一般的にこれらはパフォーマンスの低下を招くため、主なメリットはパフォーマンスを犠牲にしてディスク容量を増やすことにあります。ディスクストレージではなく、揮発性システムメモリの内容を圧縮する方法は、さらに実験的な段階に留まっています。

ディスクストレージではなく揮発性システムメモリの内容を圧縮する手法は、依然として実験段階にあります。VMwareのESXなど、多くの仮想化製品ではデフォルトで有効になっています。また、一般的なコンピューティングへの応用についても研究されています。

Linuxでは、CompcacheプロジェクトがLZOアルゴリズムを用いて同様にメモリを圧縮しようと試みています。LZOアルゴリズムは、本来であればディスクへのページングに要するコストの高いメモリを圧縮するものです。しかし、ここでも得られるメリットは、必ずしもオーバーヘッドや、休止状態からの復帰などに伴う追加の複雑さに見合うものではありませんでした。

新たな問題に対処するための現代的なソリューション

しかし今日では、高速でアイドル状態になることが多い CPU コア、大規模なデータ セット、より高価な SSD ストレージ、およびモバイル コンピューティングの効率要件の組み合わせにより、実行されるタスクの種類に適した圧縮テクノロジが使用されている場合、メモリ圧縮はさまざまな問題に対する完璧なソリューションとなっています。

クレムソン大学のマシュー・シンプソン氏とメリーランド大学のラジーヴ・バルーア博士およびスルパ・ビスワス氏による研究では、10年前、特にメモリが不足しがちな組み込みシステムに関して、さまざまな種類のメモリ圧縮の使用について調査しました。

当時、問題となったのは、どの圧縮技術を使用するのが最適かという点でした。この研究では、「辞書ベースのアルゴリズムは圧縮速度が遅く、解凍速度が速い傾向があるのに対し、統計アルゴリズムは圧縮と解凍が同程度に速い傾向がある」と指摘されています。

OS X 10.9 メモリ圧縮

Apple が現在使用している WKdm 圧縮 (辞書圧縮技術と統計圧縮技術の両方を組み合わせたもの) は、同社の調査により、最速 (したがって最も効率的) の圧縮速度と解凍速度の両方で効果的な圧縮を実現できることが判明しました。

スーパーチャージされた仮想メモリ

Apple の新しい圧縮メモリ機能も仮想メモリ上で動作し、さらに効率的になります。

「Mac が [仮想メモリ経由で] ディスク上のファイルをスワップする必要がある場合、圧縮されたオブジェクトはフルサイズのセグメントに保存されるため、読み取り/書き込みの効率が向上し、SSD やフラッシュドライブの消耗が軽減されます」と Apple は説明しています。

Apple は、同社の圧縮技術により「メモリ内で最近使用されていない項目のサイズが 50% 以上削減される」と述べており、「圧縮メモリは信じられないほど高速で、わずか数百万分の 1 秒でメモリ 1 ページを圧縮または解凍する」としています。

圧縮メモリは、「従来の仮想メモリとは異なり」複数のコア上での並列実行を活用することもできるため、「未使用のメモリの再利用と、メモリ内のあまり使用されないオブジェクトへのアクセスの両方で超高速のパフォーマンスを実現します。」

OS X 10.9 メモリ圧縮

仮想メモリの動作方法を改善することで、システムが「メモリとストレージ間でデータを継続的に転送する時間を無駄にする」必要性が減ります。結果として、Appleは、メモリ圧縮によって、負荷時の全体的な応答性が向上し、スタンバイからの復帰時間も改善されると述べています(上図参照)。

Appleが図の中で言及している(4)の脚注には、「2013年5月と2013年6月にAppleが、256GBのフラッシュストレージ、4GBのRAM、OS X v10.9およびOS X v10.8.4のプレリリース版を搭載した1.8GHz Intel Core i5ベースの13インチMacBook Air量産システムを使用して実施したテストです。パフォーマンスはシステム構成、アプリケーションのワークロード、その他の要因によって異なります。」と記されています。