プリフェッチ
プリフェッチとは、データが実際に要求される前にデータを取得し、メモリに読み込んでおく最適化技術です。プリフェッチがうまく機能すると、アプリケーションは速度の遅いストレージディスクからデータを読み取る代わりに、より高速なメモリキャッシュからデータにアクセスできるため、パフォーマンスが向上し、遅延が減少します。ただし、システムがアプリケーションやプロセスに必要なデータを事前に正確に予測できることが前提です。システムの予測が外れると、プリフェッチによってリソースが無駄になる場合があります。
プリフェッチするデータを予測するため、コンピューターシステムは使用パターンを分析し、ユーザーやアプリケーションが通常どのようにデータを要求するかを確認します。単純なパターンマッチングアルゴリズムや、高度な機械学習を使って、将来の動作を予測することがあります。ほとんどのオペレーティングシステムはこの情報を使って、アプリケーションの起動時間を短縮するために、アプリが必要とするデータを事前に読み込みます。この機能はWindowsではSuperFetch、macOSではApplication Launch Servicesと呼ばれます。AndroidやiOSなどのモバイルオペレーティングシステムも、アプリの起動時間を短縮するためにプリフェッチを使用します。
ソフトウェアアプリケーションとハードウェアデバイスには、どちらにもプリフェッチ機能が組み込まれている場合があります。CPUは、次に実行する命令のセットをキャッシュに読み込むために、プリフェッチを使用することがよくあります。システムが次のフレームのレンダリングに必要だと予測した場合、GPUはテクスチャ画像をVRAMにプリフェッチします。データベースシステムは、クエリが実行される前に、そのクエリが要求する可能性のあるデータをプリフェッチすることがよくあります。Webブラウザーは、現在のページからリンクされている別のWebページのデータまでプリフェッチできます。リンクをクリックしたときに次のページがより速く読み込まれるよう、スクリプト、画像、音声、動画をダウンロードしておくのです。
知識をテストする