ソフト処理

汎用プロセッサの性能向上でいろいろな処理がソフトウェアだけで実用的になってきたよな、と思った。
よくあるところで

  • 電話
  • PBX
  • 無線
  • ルータ

最後のだけはちょっと例外だけど、信号処理が実用的な速度で実行可能になったのが大きいのかと思った。PentiumMMXが搭載されたときに「これからはDSPなんて使わなくても汎用プロセッサで十分」みたいな宣伝文句があったが、当時はちょっと無理のあった宣伝文句が少し遅れて実用化してきたということだろう。
ルータについてはその登場初期はすべてがソフト処理だったものが、広帯域化するにあたってハードウェア処理に移行していった。それが一周回ってソフト処理でも対応できる帯域が十分実用的になってきたので、ローエンドからどんどん巻き返してきているように思う。ASICによる高速パケット処理の代名詞だったようなJuniperもローエンドに参入するにあたってソフトスイッチの機種を投入してきたぐらいだし。Gbps以上はハード処理じゃないとね、などと言われていたのも今は昔。組み込み向けのちょっと高速なプロセッサでもGbpsをワイヤーレート出ちゃうぐらいなのだ。
こうしてみるとある処理に必要なMIPS数なりFLOPS数がその時の汎用プロセッサでやらせるほうがリーズナブルな処理なのか、専用ハードウェアを用意したほうがいいのかという領域があってプロセッサの高速化によりその領域が上に伸びているのだろう。ただ、メインストリームの汎用プロセッサの単体性能自体はここ数年足踏み状態なのでSIMDやSMPなんかで解き易い処理かどうか依存してくるだろう。並列度の高い問題ばかりやっていると、次はGPGPUとの競合になってくるのだろうか。