編集部からのお知らせ
PDF Report at ZDNet:「ドローン活用」
「ニューノーマル」に関する新着記事一覧

「劣化した」コードを自動的に最適化--MITとAdobeが進めるプロジェクトHelium

Chris Kanaracus (Special to ZDNet.com) 翻訳校正: 編集部

2016-01-06 10:16

 コードの劣化(code rot)を避けるには、ソフトウェアの最適化を継続する必要があるが、これには膨大な時間と経費が必要であり、開発者の力が新たなイノベーションではなく、メンテナンスに割かれることにも繋がる。「Helium」と呼ばれるこのプロジェクトは、コードの最適化を自動化することを目指すものだ。

 Adobeが公開したブログ記事によれば、同社の「Photoshop」を対象とした最初の概念実証コードが完成したという。

 AdobeとMITの研究者は、このアイデアを試すために、Photoshopのフィルタの最適化を対象として選んだ。単にフィルタのソースコード自体を分析するのではなく、実行トレース、つまりフィルタを適用した時にCPUで実際に実行された命令を分析して、どの命令が実際に使用されているか、複数回適用されていたり、非効率なものはどれかを特定した。

 研究者らは、フィルタの実行トレースと、画面上で実際にピクセルに適用される変化を比較することで、元になっているバイナリコードのハイレベルな表現を作成し、それを画像処理に適した最新のプログラミング言語であるHalideで再現できるようにした。その後、このHalideのコードに対して自動最適化を行い、最新のハードウェアに最適化して、再コンパイルを行う。

 Heliumは、多くのPhotoshopのフィルタの性能を75%、Windowsでよく利用される画像編集フリーウェアである「IrfanView」の性能を500%向上させた。

Heliumの将来性は?

 Heliumはまだ生まれたばかりだが、将来性は高い。ソフトウェアメーカー以外にも、レガシーアプリケーションの最適化に関心のある企業であれば、この取り組みに参加するメリットがあるだろう。Heliumのソースコードは、MITライセンスでオープンソース化されており、今後コードのフォークや、企業による商用実装も出てくる可能性がある。

 最初の概念実証コードはPhotoshopのフィルタを対象としたものであり、これはフィルタで消費される計算リソースの量を考えれば非常に有意義な試みだが、Heliumは当然他の種類のソフトウェアにも応用できるはずだ。

 「プロジェクトHeliumは、分散データ分析プラットフォームにも適用できるかもしれない」と、Constellation Researchのバイスプレジデント兼主席アナリストのDoug Henschen氏は言う。「近年では、データベースベンダーはCPUやGPUに組み込まれているマルチスレッド機能やベクトル計算機能の両方を利用している。新しいチップでさまざまな機能や性能を向上させる要素が導入された際に、その能力を利用できるよう、データベースのクエリ最適化エンジンやデータ変換ソフトウェアを自動的にアップグレードできれば素晴らしい」(Henschen氏)

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    AWSが提唱する、モダン分析プラットフォームのアーキテクチャと構築手法

  2. クラウドコンピューティング

    AWS資料、ジョブに特化した目的別データベースを選定するためのガイド

  3. ビジネスアプリケーション

    進化を遂げるパーソナライゼーション、企業に求められる変革とは

  4. クラウド基盤

    【事例】機器の老朽化・陳腐化、ストレージ運用の属人化…複数課題を一気に解決したカプコン

  5. セキュリティ

    「日経225銘柄」企業の現状から読み解く、インターネットアクセスにおける業種別の弱点とは?

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]