────Lucetとはどういうものなのか、改めて説明していただけますか?
タイラー・マクマレン氏(以下マクマレン氏): Lucetとは、WebAssemblyの事前コンパイラ(注3)と、それに関連するツール群です。
注3:コンパイラ=人が理解する形で書かれたプログラミング言語を、コンピュータが理解できる機械語に翻訳するプログラム(編集部)
Lucetという名前は、昔北欧にいたバイキングたちがロープや組みひもなどを作るために使った道具に由来しています。つまりコードを組み合わせて面白いものを作り出すようなもの、ということですね。
Lucetは、非常に大規模な並列性と、短時間で終了するワークロードに特化しています。そのため50マイクロ秒以下で起動し、数千から数万以上のワークロードを同時に実行することが想定されています。
────Fastlyのエッジコンピューティング環境として、なぜWebAssemblyを選択したのでしょうか?
マクマレン氏: プラットフォームを特定の言語のために構築する、ということをしたくなかったためです。よりジェネリックなプラットフォームとしてはJavaVMもありましたが、WebAssemblyの方がよりジェネリックです。というのも、近い将来には恐らくさらに多くの低レベルな型付け言語がWebAssemblyへコンパイルできるようになると思われるからです。
ただ、ガベージコレクション(注4)性能や、プログラミングの高級言語を実装するのに必要な参照型など、現時点ではWebAssemblyに欠けているものもあります。しかし将来性という点で、業界はこの方向に進んでいると考えています
注4:ガベージコレクション=「garbage collection(ごみ集め)」という言葉の通り、コンピュータプログラムが確保したメモリ領域のうち、不要になった部分を自動的に開放する機能(編集部)
私たちは数年前からこのプロジェクトに取り組んできていて、WebAssemblyのコンパイラや中間表現を用いた上で、ほとんどオーバーヘッドのない(仮想マシンのような)分離技術を構築できました。
Copyright © ITmedia, Inc. All Rights Reserved.