AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

今回は「AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス」についてご紹介します。

関連ワード (メモリ、実験的実装、拡大等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。

LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。

fig

LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。

これにより(Node.jsやDenoやBunなどの)既存のJavaScriptランタイムと比較して起動速度が10倍高速で、AWS Lambdaでのコスト低減効果が最大で2倍になっていると説明されています。

これについてREADMEの中で次のように説明されています。少し長いのですが、分かりやすい内容ですのでそのまま引用します。

Node.js, Bun, and Deno represent highly proficient JavaScript runtimes. However, they are designed with general-purpose applications in mind. These runtimes were not specifically tailored for the demands of a Serverless environment, characterized by short-lived runtime instances. They each depend on a (Just-In-Time compiler (JIT) for dynamic code compilation and optimization during execution. While JIT compilation offers substantial long-term performance advantages, it carries a computational and memory overhead.

Node.js、Bun、そしてDenoは、非常に高性能なJavaScriptランタイムですが、これらはさまざまな用途のアプリケーションを念頭に置いて設計されています。つまりこれらのランタイムは、ごく短時間だけ実行されるインスタンスを特徴とするサーバレス環境の要求に合わせて特別に作られてはいないのです。これらのランタイムはそれぞれ、実行中のコードの動的なコンパイルと最適化をJITコンパイラに依存しています。JITコンパイルは、長時間に実行されるアプリケーションでは性能面で非常に有利ですが、計算量とメモリ消費の点で大きなオーバーヘッドを伴います。

In contrast, LLRT distinguishes itself by not incorporating a JIT compiler, a strategic decision that yields two significant advantages:

A) JIT compilation is a notably sophisticated technological component, introducing increased system complexity and contributing substantially to the runtime’s overall size.

B) Without the JIT overhead, LLRT conserves both CPU and memory resources that can be more efficiently allocated to code execution tasks, thereby reducing application startup times.

これらのJavaScriptランタイムとは対照的に、LLRTはJITコンパイラを組み込まないことで次のような差別化を図っています。

A)JITコンパイルは非常に高度な技術であるためシステムの複雑性を増大させ、ランタイム全体のサイズを拡大させてしまう。

B)JITコンパイラのオーバーヘッドをなくすことで、LLRTはCPUとメモリのリソースを節約し、効率的にコードを実行する処理に割り当ててアプリケーションの起動時間を短縮できる。

LLRTはNode.jsのAPI仕様に基づいているため、Node.jsで動作するコードからの移行は容易とされていますが、完全互換ではなく全てのAPIが実装されているわけではないため、詳しい互換性についてはAPIドキュメントなどを参照する必要があります。

llrtは実験的実装としてベータ版の状態ですが、GitHubのREADMEにはAWS Lambdaでの試し方なども載っているため、興味のある方は参照してみてください。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
2030年にピーク–「成熟の時代」に入るEC市場を活性化させる4つのシナリオ
IT関連
2023-02-01 12:41
米露首脳会談で交わされたサイバーセキュリティやランサムウェアの議論–専門家はどう見る?
IT関連
2021-06-19 01:15
気になる症状から病名と適切な受診先を調べられる、「AI受診相談ユビー」がサービス開始1年で月間利用者数100万人を突破
ヘルステック
2021-06-10 15:33
ドコモの「ahamo」、有料で店頭サポートを開始 1回3300円
企業・業界動向
2021-04-23 06:31
「AI×RPAとその先へ」–AIはRPAの可能性をどう引き出すか?
IT関連
2022-08-05 16:40
千葉商科大学、データ活用を学ぶゼミにノーコードツール導入–学生が1時間でアプリ作成
IT関連
2022-12-15 09:23
「次のWindows」も発表間近な今、各社OS戦略を考える Google I/O、WWDCから (1/3 ページ)
くわしく
2021-06-20 01:59
HashiCorp、「HashiCorp Consul 1.18」を一般提供–長期サポートを導入
IT関連
2024-03-13 08:57
セキュリティテストのCheckmarxがオープンソースサプライチェーンのセキュリティを確保するDusticoを買収
セキュリティ
2021-08-09 17:12
クラウドセキュリティの底上げに貢献したい–インシデント経験のOktaが説明
IT関連
2024-03-20 11:15
第2回:生成AIの業務利用で企業が定めるべきガイドラインとガバナンス
IT関連
2023-11-24 06:43
Cloudflare、CDNエッジで生成AIを実行できる「Workers AI」正式サービスに。世界150都市のデータセンターでGPU基盤を提供
Cloudflare
2024-04-03 10:10
ロボホンでプログラミング体験できる宿泊プラン、「変なホテル」で提供
ロボット・AI
2021-02-17 12:29
旭化成、国内グループ全社でリスキリング強化–「終身成長」目指す
IT関連
2023-01-26 01:25