アクセラレータ【accelerator】
概要

アクセラレータは何らかのシステムの追加要素として提供され、もとになるシステムの性能を強める働きをする。例えば、コンピュータのグラフィックス性能を高速化する「グラフィックスアクセラレータ」(graphics accelerator)が古くからよく知られている。処理の対象に応じて様々な種類が存在する。
コンピュータシステムにおけるアクセラレータは、多くの場合「ハードウェアアクセラレータ」として実装される。CPUとソフトウェアだけでは処理が追いつかない特定の演算を、専用の半導体チップに担わせることで処理速度や効率を大きく高める方式である。
GPU(Graphics Processing Unit)は画像描画や並列計算に用いられ、AI処理の推論・学習に特化したNPU(Neural Processing Unit)やTPU(Tensor Processing Unitは深層学習を高速化するものとして近年その重要性が急速に高まっている。FPGA(Field-Programmable Gate Array)のように回路構成を用途に応じて変更できるものや、ネットワーク処理をCPUから切り離して実行するDPU(Data Processing Unit)やスマートNICなどの装置もある。
一方、処理のアルゴリズムや方式を根本的に置き換えることでソフトウェアのみによる高速化を図る「ソフトウェアアクセラレータ」もある。キャッシュ制御の最適化やデータ圧縮、並列処理の強化などによって実行効率を高める手法がこれに該当し、ハードウェアを変更せずに性能を向上させられる点から特定の用途で用いられる。
ネットワークの分野では、単体で動作するサーバやアプライアンスであっても、他のサーバやシステムの処理速度、受け入れ容量を向上させる目的で導入されるものをアクセラレータと呼ぶ場合がある。Webコンテンツの配信を最適化するコンテンツデリバリネットワーク(CDN)や、SSL/TLSの暗号化・復号処理を専用ハードウェアで担うSSLアクセラレータ、アクセスの集中を分散させるロードバランサ(負荷分散装置)などがその例にあたる。