|
| Japan Worldwide |
|
スレッドを増やす理由なぜスレッド数を増やすのか?動作周波数の向上ではもはや処理能力は向上しません。転換期を迎えたプロセッサ開発の現場からスレッド数を増やすことの意義をお話します。
UltraSPARC T1において、なぜ処理能力の向上しているのか、それを説明するドキュメントには必ずと言っていいほど以下の表現が含まれています。 「1プロセッサで最大8コア、32スレッドまで実行可能」
ここには今日までのプロセッサの優劣を見極める指標とされてきたGHz (ギガヘルツ) などの動作クロックが一切記載されていません。そして、あたかもそのスレッド数の多い少ないが肝であるかのように表現されています。
32:4=サン:競合 1つのプロセッサ上で実行可能なスレッド数を業界の中で比較してみます。UltraSPARC T1の場合、最大32スレッドです。競合の場合、コアの数は最大で2つ、中には1つのコアで2つのスレッドを同時に実行することが可能なプロセッサがありますので、プロセッサ単位での最大スレッド数は4になります。32対4です。プロセッサ単位での実行スレッド数という点から見るとサンと競合の間には実に8倍の差があります。 UltraSPARC T1をさらに進化させた次世代のプロセッサUltraSPARC T2においては、最大64スレッドです。今後ますますプロセッサ上で実行可能なスレッド数を増やして行く方向にあります。でも、なぜサンはスレッドの数を増やすことに注力しているのでしょうか? 実は整数の演算がほとんど 「なぜスレッド数を増やすのか?」そのメカニズムに触れる前に、まずはビジネスの現場で使用されているアプリケーションの特性について整理したいと思います。業種や業態により、多少異なるもののビジネスの現場で使用されているコンピュータ・システムの多くは、データの「扱い方」という観点からデータベース・サーバ、アプリケーション・サーバ、ウェブサーバのいずれかに分類することが出来ます。これらのサーバは、データの整理であったり、統合、加工、受け渡しなどを行っているのですが、そこで扱っているデータそのものは、殆どが金額であったり、数量であったり、日付であったりします。全て「整数」として扱えるものです。ここでは複雑な画像の処理など一切行っていません。整数を足したり、引いたり、掛けたり、そのような演算を繰返し行っているのです。 サンは、UltraSPARC T1の開発にあたり、市場で使用されているあらゆるタイプのあらゆるアプリケーションの特性を調査しました。商用アプリケーションの殆どは整数演算。これはこの調査から得られた1つの大きな「気付き」です。 窓口業務 UltraSPARC T1に最も適した処理の1つに「ウェブベースのトランザクション処理」があります。ウェブに限らず「トランザクション処理」は銀行の窓口業務に似ています。銀行の窓口業務を想像してみて下さい。毎日いろいろな人が訪れて来ます。大半は振込みのためだと思います。1回1回の振込み先や振込み金額は人によりまちまちですが、そこで行われる一連の手続きには、顧客間で差がないはずです。振込み先や振込み金額が違うだけです。手続きは同じです。勿論、金額によっては一部例外的な手続きが求められる場合もあるでしょうが、基本的な応対という点では各処理の間に違いはないはずです。 窓口の数が決め手 このような窓口業務を効率化するには2つの方法があります。ここで言う効率化とは限られた時間の中で如何に多く仕事をこなすかという意味です。1つは1回あたりの処理時間を短縮する方法です。そしてもう1つが処理を行う窓口の数を増やす方法です。 まず、1回あたりの処理時間を短縮する方法を考えてみます。窓口で行われている処理は標準化することが出来ます。工程を標準化し、工程間をスムース繋ぐためのツールを導入し、担当行員へ教育を施し、習熟させることによって、1顧客に対する処理時間は一定のレベルまで短縮することが出来ます。しかし処理時間の短縮はいずれ頭打ちを迎えることでしょう。頭打ち以降は、いくら工程を再配置し、更なる最適化を図ったところで、初期に見られたような規模での時間の短縮は期待出来ない状態になります。このように最適化が一定レベルまで到達した場合、次に考えられる効率化の手段が窓口の数を増やすことです。 プロセッサの開発は、今まさに転換期を迎えつつあります。上で言う「頭打ち」のステージです。サンも含め、今日まで全てのコンピュータベンダは「1回あたりの処理時間を如何に短縮するか」という点に注力してきました。ところがこのアプローチではかつて程の成果が期待出来なくなっています。以下はこの事実を裏付ける1つのデータです (「データセンターにおける「ナイアガラの滝」(ビルバスの手紙) 」より) 。
勿論、データベースからアプリケーション、ウェブ、演算集約型の処理まで、全ての処理形態において、この窓口を増やすというアプローチが機能するとは考えていません。しかし、とりわけアプリケーション・サーバ、ウェブサーバの領域においては、もはや1回あたりの処理時間を短縮するアプローチよりも、窓口の数を増やすアプローチの方がはるかに高い効果を得ることが出来る、とサンは考えています。なぜならそこで行われている処理の殆どが先に述べた単純な整数演算の繰り返しだからです。 転換期 製品の発表以降今日までの間、UltraSPARC T1は、数々のベンチマークにおいて他社を寄せ付けないレベルでの結果を達成してきました。そして、今なおトップの座を維持し続けています。変化の激しい業界の中にあって、近年これだけ長い間、トップの座を維持し続けた製品が他にあったでしょうか。これだけの圧倒的な差を見せ付けることが出来た製品があったでしょうか。 動作周波数を上げることにより効果を得ていた時代から、スレッド数を増やすことにより効果を得る時代への転換点、そこに位置するプロセッサがUltraSPARC T1です。 |
|||||||||||||||||