Infoseek 楽天

カーネギーメロン大がTwitterの実行速度を上げるインメモリ技術「Segcache」を開発!

Techable 2021年5月14日 7時0分

カーネギーメロン大学の研究者は、Twitter社とのコラボによりTwitterの実行速度を上げようと取り組んでいるようです。

研究者らはキャッシュへのデータの保存とアクセスについての大規模研究を実施し、これを最適化する技術「Segcache」を開発しました。研究論文はUSENIXシンポジウムで発表され、最高論文賞を受賞しています。

Segcacheの導入で、Twitter実行時のキャッシュ効率が最大60%向上する可能性があるとのことです。

2つの手法でDRAMキャッシュを最適化

個人用パソコンと同様にサーバーも、データは主にハードドライブ(HDDやSSD)かメモリ(DRAM)に保存されます。一時的保存スペースとして機能するDRAMは、データが素早く取り出せることから、モダンなWebアプリはDRAMキャッシュの利用をうまく設計に組み込んでいます。Twitterでは、タイムラインに表示されるツイートの取得時にDRAMキャッシュを利用しているようです。

ただ、DRAMは容量が限られているとの課題も。Segcacheは、DRAMキャッシュを有効活用するための技術で、主に2つの手法が適用されているようです。

期限切れのオブジェクトを効率的に識別して削除

既存のシステムでは、ツイートとセットで大量のメタデータが保存される仕様となっていましたが、Segcacheでは類似のオブジェクトをグループ化。メタデータを共有することでオーバーヘッドを削減しています。

また、キャッシュには有効期限が設けられていますが、期限切れのオブジェクトが残っていたり、頻繁にスキャンしてこれを見つけようとすればオーバーヘッドが生じることに。Segcacheではシステムを再設計して、期限切れのオブジェクトをより効率的に識別し、削除しているようです。

Twitterはすでに、Segcacheを本番システムに組み込もうと取り組んでいて、近々Twitterがよりサクサク利用できるようになるかもしれません。

参照元:Research by CMU, Twitter Could Improve Cache Efficiency by 60%/ Carnegie Mellon University
Segcache: a memory-efficient and scalable in-memory key-value cache for small objects/ USENIX

(文・山田洋路)

この記事の関連ニュース