
Facebookが公開したPHP仮想マシン「HipHop VM」とは
ウェブの複雑化、高機能化が加速するなか、ウェブアプリケーション実行基盤の高速化は極めて重要な課題になっている。
そんななか、米FacebookはPHP用の高速実行環境「HipHop Virtual Machine」(以下、hhvm)を発表した。今回は、この新しい仮想マシンについて紹介する。
HipHop VM開発に至る経緯
Facebookでは、爆発的なユーザー数の増加に対応するため、アプリケーション実行速度の高速化が急務とされていた。しかし、Facebookの成長はすでに既存のPHPの枠組みでは対処が追いつかないレベルにまでなっていた。問題は、これまでに蓄積されてきた膨大な量のPHPコードベースだった。PHPを捨てて他の言語に移行するためには、それらのコードをすべて書き直さなければならない。
そこでFacebookが選んだのは、アプリケーションのコードに手を加えるのではなく、PHPの実装そのものを改善する方法だった。

そのための試みとして、同社では2010年より「HipHop for PHP」で2種類のPHPの実装を進めてきた。ひとつはPHPコードをC++コードに変換し、そこからバイナリコードを生成するHipHop compiler(hphpc)、もうひとつは独自のPHPインタプリタ実装であるHipHop interpreter(hphpi)だ。ネイティブ実行が可能な前者の方が圧倒的にパフォーマンスは高いが、静的なコード解析しか行うことができない上に、コンパイルの待ち時間が必要なことからPHPの手軽さが犠牲になる。Facebookでは社内のソフトウェア開発にはhphpiを使用し、外部向けの本番環境にはhphpcによって生成したバイナリコードを配備するという形で使い分けてきたという。
しかしながら、このやり方では2種類の実装を同時にメンテナンスし続けるコストが必要となる。開発用と本番用で実行基盤が異なるというのも、テスト工程の増加など様々な面で問題をはらんでいることは想像に難くない。そこで同社が次の一手として開発したのがhhvmというわけだ。
hhvmはJIT(Just-In-Time)コンパイラを搭載し、実行時に動的にバイナリコードを生成する。これによってhphpcのようにPHPコードをC++に変換することなく、直接高速に実行することができるようになる。サービスの開発から公開までの全域にわたって効率化を実現できることから、Facebook社内での注目度は高いという。
HipHop VMの仕組みと効果
- 新着記事
- 特集
- ブログ
- 企画特集
-
連載!プロが語るストレージ戦略
-
次期自治体ネットワーク強靭化へ
-
明日からではもう遅い?!
-
クラウド時代に理想のセキュリティ
-
IDaaSって何?
-
未来のセキュリティイノベーターへ
-
いまさら聞けない「PPAP」
-
エンジニアのためのREHL8まとめ
-
性能の大幅向上を実現!
-
次の一手はこれだ!
-
DX時代のアプリケーションセキュリティ
-
第4回CNBFミートアップレポート
-
厳しい目が向けられる内部不正
-
ゼロトラストに向けた道のりを支援
-
リモート、オフィス、オンサイト
-
データの散在と非常率運用がネック
-
連載!プロが語るストレージ戦略
-
企業のリスクマネージメント対策に
-
ネットワークもサービスとして使う
-
その先へ
-
SECCON2020レポート第二弾!
-
部分最適だけではダメ
-
セキュリティの今を知る
-
特集:IT最適化への道
-
デジタルを当たり前と言えるか?
-
いまあるデータで身近な業務をDX
-
コスト・運用の壁を崩す!
-
連載!プロが語るストレージ戦略
-
ビッグデータ最前線!
-
ハイブリッドクラウドとAI
-
M365 活用のセキュリティ対策
-
漫画で解説:IoTはじめの一歩
-
SoRとSoEをつなぐDX推進の要
-
時代が求める生体認証への期待