Grand Central Dispatchのアプローチにおけるもう1つの特徴は、集中化だ。それぞれのアプリケーションがブロックを独自に管理するのではなく、OSがすべてのアプリケーションのブロックを管理することに気を配る。Appleによると、この集中化という考え方は、どのタスクがどのリソースを使用するかをOSが決定し、システム全体はビジー状態でも応答性が良くなることを意味しているという。
Snow Leopardがプログラマーに対し、ハードウェアの能力を利用する新しい方法を提供するもう1つのメカニズムが、「Open Computing Language(OpenCL)」だ。OpenCLによって、コンピュータはグラフィックチップを、グラフィックスだけでなく通常の演算の一部を加速するために使用できるようになる。
OpenCLを使用するには、プログラマーは、C言語のバリエーションである「OpenCL C」と呼ばれるプログラミング言語でコードモジュールを記述する。Snow Leopardは、そのコードをオンザフライでグラフィックチップが理解できる指示に変換し、必要なデータをグラフィックシステムのメモリに転送する。OpenCLは、それほど多くのタスクに役立つわけではないが、ビデオゲームの物理シミュレーションや人工知能アルゴリズム、技術的なコンピューティング作業、マルチメディア操作には効果がある。
グラフィックチップの3大メーカーであるIntel、NVIDIA、AMD(ATI)はOpenCLを支持しており、Khronos GroupがOpenCLを標準化した。これは、プログラマーがWindowsアプリケーションでもOpenCLコードを再利用できる可能性が高いことを意味している。
グラフィックプロセッサはパラレルエンジンを利用しており、多くのデータ要素について同じ処理操作を実行するのに適している。しかし、グラフィックチップが搭載されていないマシンでも、OpenCLでは通常のマルチコアプロセッサで同じパラレル実行戦略を利用できる。
Appleは数年前、Intel製のチップに切り替える前に使用していた「PowerPC」プロセッサで、64ビットへの移行を開始した。Snow Leopardでは、「Mail」「Safari」「Finder」「iChat」「QuickTime」といった、付属するソフトウェアのほぼすべてが64ビットのプログラムとなった。
最近のIntel製チップは64ビットであるが、32ビットのチップと比べて何が優れているのか。簡単に言うと、高負荷のプログラムで4Gバイト以上のメモリが使用でき、レジスタと呼ばれるチップのメモリスロットが多くなることでパフォーマンスが向上し、数学的な演算が高速になる。
しかし、64ビット設計へ移行したからといって、即座にスピードアップが保証されるわけではない。Appleは開発者向けの文書で、「通説:アプリケーションを『ネイティブ』の64ビットアプリケーションにすればはるかに速く動く。事実:64ビットの実行ファイルでも、64ビットのIntelやPowerPCアーキテクチャ上で動作が遅くなるものがある」と述べている。1つの問題:メモリアドレスの参照が倍の長さになる。
Appleはプログラマーに対し、64ビットで動作が速くなるかどうか確認するために、ソフトウェアをテストするよう勧めている。64ビット版に移行したApple独自のアプリケーションはすべて速くなったと同社は述べている。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス