Kangaroo:数十億の小さなオブジェクトを効率的にキャッシュするフラッシュキャッシュ

2025-05-22
Kangaroo:数十億の小さなオブジェクトを効率的にキャッシュするフラッシュキャッシュ

Facebookとカーネギーメロン大学は共同で、小さなオブジェクト(約100バイト以下)を効率的にキャッシュするように設計された新しいフラッシュキャッシュであるKangarooを開発しました。Kangarooは、既存のフラッシュキャッシュ設計の制限に対処し、DRAMの使用量と書き込み増幅を最小限に抑えます。FacebookのオープンソースキャッシングエンジンCacheLibに実装されているため、簡単に統合できます。FacebookとTwitterの運用データを使用したテストでは、Kangarooはキャッシュミスを29%削減し、バックエンドストレージの負荷を大幅に軽減することが示されました。これは、ソーシャルメディアなど、多数の小さなオブジェクトを処理するアプリケーションに非常に効果的です。

続きを読む

Meta、Rust製のPython型チェッカー「Pyrefly」をオープンソース化

2025-05-17
Meta、Rust製のPython型チェッカー「Pyrefly」をオープンソース化

Metaは、Rustで構築されたオープンソースのPython型チェッカーおよびIDE拡張機能であるPyreflyのアルファ版をリリースしました。Pyreflyは、Pythonコードの型の一貫性を向上させ、実行前にエラーを早期に検出することを目的としています。IDE統合とCLI使用をサポートし、パフォーマンスと型推論を優先し、注釈のないコードでも効率的に動作します。MetaのPyreを進化させたPyreflyは、より強力で拡張性の高い型チェッカーを目指しており、Pythonコミュニティと協力してPython型システムの改善に取り組んでいます。

続きを読む
開発

WhatsAppのプライベート処理:エンドツーエンドのプライバシーを備えたAI

2025-05-02
WhatsAppのプライベート処理:エンドツーエンドのプライバシーを備えたAI

WhatsAppは、プライベート処理というオプション機能を発表しました。これは、安全で機密性の高い環境内でAIによるメッセージ処理を可能にする機能です。Trusted Execution Environments(TEEs)を活用することで、ユーザーはメッセージのサマリー作成など、AI機能をリクエストできますが、MetaやWhatsAppはユーザーデータにアクセスできません。オプション性、透明性、ユーザーコントロールといった原則に基づいて構築されており、機密処理、検証可能な透明性、非ターゲティングといった堅牢なセキュリティ対策が実施されています。WhatsAppはプライベート処理のコンポーネントを公開し、バグ報奨金プログラムを拡大することで、独立したセキュリティ研究を促進し、ユーザープライバシーの最優先を保証します。

続きを読む
開発

MetaのStrobelight:15,000台のサーバーを削減するプロファイリングオーケストレーター

2025-03-07
MetaのStrobelight:15,000台のサーバーを削減するプロファイリングオーケストレーター

Metaは、大規模なサーバー群全体の効率性を向上させるため、複数の技術(多くはオープンソース)を統合した強力なプロファイリングオーケストレーターであるStrobelightを発表しました。Strobelightは単一のプロファイラーではなく、CPU使用率、メモリ割り当てなどのパフォーマンスメトリクスを収集する様々なプロファイラーのオーケストレーターです。ScubaやTraceryなどのツールで可視化され、Strobelightはすでに年間15,000台分のサーバーに相当する大幅なコスト削減を実現しています。コード一行へのシンプルな変更(&記号の追加)が、この驚くべき成果をもたらしました。Strobelightは効率的なeBPF技術、柔軟なカスタムプロファイラー、自動データ収集、動的サンプリングなどを活用しています。

続きを読む
テクノロジー サーバー最適化

MetaのGlean:大規模コードインデックス作成システム

2025-01-01
MetaのGlean:大規模コードインデックス作成システム

Metaは、効率性とスケーラビリティを重視して設計されたオープンソースのコードインデックス作成システムであるGleanを公開しました。Gleanはソースコードから情報を収集し、Angleと呼ばれる柔軟なクエリ言語を介して開発者ツールに提供します。革新的な増分インデックス作成により、巨大なコードベースの課題に対処し、コードナビゲーション、検索、ドキュメント生成などの機能を実現します。Gleanの汎用性は、さまざまな言語やカスタムデータスキーマをサポートし、開発者にとって貴重な資産となります。

続きを読む

Meta、Haskellを用いた大規模スパム対策

2024-12-22
Meta、Haskellを用いた大規模スパム対策

スパムやマルウェア対策において重要な役割を果たすMetaのSigmaシステムは、2年間の全面的な見直しを経て刷新されました。このシステムは、大規模な本番システムとしては珍しい選択であるHaskellで書き直され、毎秒100万件を超えるリクエストに対応できるようになりました。Haskellへの移行により、純粋関数型と強い型付けの特性が活かされ、Haxlフレームワークによってデータフェッチの自動バッチ処理と並列処理が可能になりました。以前のFXLベースのシステムと比較して、スループットが20~30%向上しました。このプロジェクトでは、GHCコンパイラへの大きな貢献もあり、いくつかのバグが修正されました。

続きを読む

Metaにおける大規模なJavaからKotlinへの移行:数百万行のコードを克服

2024-12-22
Metaにおける大規模なJavaからKotlinへの移行:数百万行のコードを克服

Metaは、巨大なAndroidコードベースをJavaからKotlinに移行するために、長年にわたる取り組みを行ってきました。この記事では、MetaがKotlinatorという自動化ツールを構築して、ビルド速度の遅さや不十分なリンターなどの課題を克服し、コードの半分以上を正常に変換した方法を詳しく説明しています。Kotlinatorは、プリプロセッシング、ヘッドレスJ2K変換、ポストプロセッシング、エラー修正など、複数のフェーズで構成されています。MetaはJetBrainsとも協力してJ2Kを改善し、コミュニティの協調を促進するためにプロセスの部分をオープンソース化しました。この記事では、null安全性の処理と、変換中に発生したさまざまなコードの問題と解決策について重点的に説明しています。

続きを読む