wolfSSLの最新のリリースには、Intel x86_64プラットフォームを対象とした新しいアセンブリコードが含まれています。 大きなパフォーマンスの向上について、6つのシリーズ記事を投稿します。この最初のブログでは、AES-GCMのパフォーマンスについて説明します。
AES-GCMのアセンブリコードは、AVX1およびAVX2命令を最大限に活用するために書き直されました。 AES-GCMの性能は、現在OpenSSLと同等またはそれ以上です。
以下の2つのチャートは、Intel AVX1およびAVX2チップセットでのAES-128-GCM暗号化の相対的なパフォーマンスを示しています。 wolfSSLとOpenSSLのパフォーマンスを(アセンブリコードが変更される前の)古いバージョンのwolfSSLと比較します。
小さなブロックサイズのパフォーマンスは、データベースにキーやデータなどのローカルに格納されたデータを処理する場合に重要です。一方、TLSでは大規模なデータ転送には大きなブロックサイズのパフォーマンスが重要です。
wolfSSLのパフォーマンスは、小サイズから大ブロックサイズまで大幅に向上しました。 AVX1では、最小ブロックサイズのパフォーマンスが130%以上向上し、トップエンドでは42%向上しました。同様に、AVX2では、ブロックサイズが小さい場合は150%以上、ブロックサイズが大きい場合は11%以上改善されます。新しいwolfSSLアセンブリコードは、小さなブロックではOpenSSLよりも大幅に優れており、最大のブロックサイズではほぼ同じです。 AES-256-GCMについても同様の性能改善が達成されています。
さらに詳しい情報は弊社問い合わせ窓口info@wolfssl.jpまでお問い合わせください。
参照:
Introduction to Intel® Advanced Vector Extensions
Advanced Vector Extensions (Wikipedia)
原文: https://www.wolfssl.com/wolfssl-intel-x86_64-part-1/
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)