スカラ vs. ベクトル ~偶数:スカラ派~

スカラ vs. ベクトル
~奇数:ベクトル派~
2010年6月28日11:00時点集計
2010年6月28日11:00までの提出者
•
•
•
•
•
•
•
•
2IE10091N 和田祐介
2IE10087M 山本 宗
2IE10083N 宮下 怜
2IE10081G 光益義幸
2ie10079m 三重野正己
2IE10077K 松井修平
2IE10075N 古川 潤
2IE10071S 馬場亮輔
•
•
•
•
•
•
•
•
2IE10055S 近藤浩志
2IE10051T 大場慎平
2IE10049G 大石修士
2ie10047s 岩本智裕
2ie10045w 石川翔太
2IE10043T 阿部尚之
2IE10039S 李 潤樅
2IE10013Y 周 士博
ベクトルプロセッサvsスカラプロセッサ
2IE10091N 日下部研 M1 和田祐介
3
コンピュータアーキテクチャ特論
2015/9/30
ベクトル派

ベクトルプロセッサ・スカラプロセッサおさらい

ベクトル派の主張



4
ハイパフォーマンスコンピュータ
性能向上の見込み
最新技術動向
コンピュータアーキテクチャ特論
2015/9/30
ベクトルプロセッサ・スカラプロセッサ(1/2)
構造


データ取り出し方法,データ処理方法の違い
Vector Register
Scalar Register
Cache
5
Memory Band
Memory
Band
Main Memory
Main Memory
Vector Processor
Scalar Processor
コンピュータアーキテクチャ特論
2015/9/30
ベクトルプロセッサ・スカラプロセッサ(2/2)
特徴

6
ベクトル型
スカラ型
使用目的
専用的
汎用的
大規模計算
(Large Scale)
得意
不得意
大容量計算
(Large Amount)
不得意
得意
コンピュータアーキテクチャ特論
2015/9/30
ベクトル派主張1:HPCにおける強み
HPC(High Performance Computing)



単位時間内に多くの計算を行うこと
主にスーパーコンピュータ分野で要求される
多くの場合,専用的用途





気象観測
画像処理
物理シミュレーション
暗号解読
いずれも大規模計算
ベクトルプロセッサが有利
地球シミュレータ(気象観測)は,ベクトルプロセッサを採用


7
コンピュータアーキテクチャ特論
2015/9/30
ベクトル派主張2:性能向上見込み
性能向上のための要件



ベクトル:メモリバンド幅の拡大によるデータ転送量の向上
スカラ:コンピュータクラスタによる並列処理
ボトルネック



8
ベクトル:メモリバンド幅拡大のコスト
スカラ:並列度とクラスタのIOオーバーヘッドがトレードオフ
コンピュータアーキテクチャ特論
2015/9/30
ボトルネック解消技術(1/2)
ベクトルプロセッサ


デュアルチャネル・トリプルチャネルによるメモリバンド幅の向上

マルチチャネル化による恩恵がそのまま得られる
Vector Register
Memory
Band1
Memory
Band2
Main Memory

The effect of main memory bandwidth on processor performance,
主記憶上のデータ圧縮 http://repository.dl.itc.u-tokyo.ac.jp/dspace/bitstream/2261/35937/1/48086403.pdf

9
主記憶の見かけのバンド幅を向上させることが可能
コンピュータアーキテクチャ特論
2015/9/30
ボトルネック解消技術(1/2)

スカラプロセッサ


クラスタリングするスカラマシン数の増加
が,

アムダールの法則による処理性能の頭打ち


無視できない消費電力


並列化による恩恵がそのまま得られるとは限らない
低コストが魅力のスカラマシンなのに本末転倒
将来的に,ベクトルマシンの性能向上の方が期待できる
10
コンピュータアーキテクチャ特論
2015/9/30
ベクトル派の主張3:最新技術動向

GPGPU(General-Purpose computing on Graphics
Processing Units),GPUによる汎用的計算

GPU



画像処理を専門とする補助演算装置
専用的な大規模計算処理用装置(≒ベクトルプロセッサ)
CPUと比べて性能向上が著しい
http://www.atmarkit.co.jp/news/200803/06/l_cuda01.png
11
コンピュータアーキテクチャ特論
2015/9/30
GPGPU

グラフィックだけでなく,他の数値演算にもGPUを利用

大規模計算向け



利用するための環境が整いつつある


HPC
音声処理,天体シミュレーション,最適化問題
統合開発環境CUDA
今後プログラマが低レベルな部分に介入するための環
境が充実する
プログラマブル・ベクトルプロセッサの登場により,汎用的な目的でも活躍できる
12
コンピュータアーキテクチャ特論
2015/9/30
まとめ

HPCではベクトルプロセッサが有利
性能の伸びしろはベクトルプロセッサが有利
汎用目的でもベクトルプロセッサが有利になるはず

3対0でベクトルプロセッサが圧勝


13
コンピュータアーキテクチャ特論
2015/9/30
ベクトルプロセッサ VS スカラプロセッサ
2IE10087M 山本 宗
現在
ベクトルプロセッサ
…科学技術分野で普及している
スカラプロセッサ
…消費者向けのプロセッサとして普及している
スカラプロセッサの並列実行アーキテクチャ
パイプライン、スーパースカラー化、投機実行、アウトオブオーダー実行
など技術をキャッチアップ
レイテンシ克服、局所性・並列度の向上
命令レベルでの並列実行
ベクトル命令自身の並列データ実行との競合
主記憶データ転送能力の向上
→マルチコア化と超並列のプロセッサへと移行
15
ベクトルプロセッサの開発
 1つの命令で多数の要素を持つベクトル間の
演算を行うプロセッサ
→「パイプライン実行方式」を浮動小数点演算器や
ロードストアユニットに採用して性能向上
•高い対ピーク性能比
•メモリアクセスが高性能(連続アクセスは演算性能と同程度)
•単純構造のループ文の並列処理や大規模な演算に適す
•ベクトルレジスタ数が多い
16
スカラプロセッサの開発
 1つの命令で1要素ずつ処理する間の演算を
行うプロセッサ
→「スーパースカラー化」、「アウトオブオーダー実行」、
「分岐予測」などにより性能向上
•低い対ピーク性能比
•クロック数とメモリバンド幅のギャップ
•アクセス速度がキャッシュメモリのヒット率に依存
17
スカラプロセッサ

メモリへ直接アクセスするのは効率的でない
CPU
CPU
Resister
Resister
遅い
Main
Memory
速い
Cache
遅い
Main
Memory
→性能向上のためにキャッシュを作成
しかし、キャッシュにミスした場合のペナルティが大きい
18
まとめ
効率面や実効面において高性能であり、メモリレ
イテンシ改善よりもメモリバンド幅の改善の進歩
のほうが速いため、今後はベクトルプロセッサを
採用する傾向あると思われる。
一方で、価格面や消費電力ではまだ改善の余地
があると思う。
19
スカラーvsベクトル
ベクトル派
情報知能工学専攻
2IE10083N 宮下怜
ベクトルプロセッサとは
• ベクトル演算を行うCPUの総称
• 数値演算を複数のデータに対して並行して実
行することが可能
• 科学技術計算分野でよく使われている
– 膨大な量のデータ処理と相性が良い
– 物理学研究所や気象予報センターで利用されて
いる
優劣の判断の基準
• スーパーコンピュータのプロセッサとした場合、
どちらのタイプが優れているかに着目
ベクトルとスカラープロセッサの比較
簡単に表すと以下のようになる
ベクトル型
スカラー型
用途
専用
汎用的
演算速度
高速
ベクトルには劣る
コスト
高い
安い
※ここで扱っている演算速度は、科学技術演算の速度
スパコンのCPUとしての
スカラーとベクトル
• スカラー型について
– 現在の主流である
– 多数のプロセッサの並行動作によってスパコンの全体性
能を向上させる
– SIMD機構を採用しているものが多い
• 汎用性の高さとコストの安さが強み
• ベクトル型に比べ、メモリレイテンシの性能に占める
割合が多い
スパコンのCPUとしての
スカラーとベクトル
• ベクトル型について
– 現在ではほとんど使われていない
– コストが高い
– 少ない並列度でスーパーコンピュータを構築することが可
能
• 科学技術計算の効率の良さが最大の強み
• メモリバンド幅を有効に活用し、メモリレイテンシを
隠ぺいすることが可能
スパコンのCPUとしての
スカラーとベクトル
• 現在はスカラー型が隆盛だが・・・
– メモリレイテンシの性能に占める割合が多い
→今後、メモリとCPUの処理速度の差がさらに大
きくなった場合、CPUの性能を生かしきること
が難しい
– SIMD機構を取り入れている
→一種のベクトル機構であり、この機構を取り入
れなければ満足な演算性能が得られなかった
と考える
結論
• ベクトル型が優れている
– 現在主流であるスカラー型のプロセッサが技術を
取り入れている
– メモリレイテンシを隠ぺいできるため、今後メモリ
とCPUの性能差が広がっても影響を受けにくい
– そもそも科学技術計算に特化しているので、スパ
コンのCPUとしてふさわしい
ベクトル・プロセッサvs.
スカラ・プロセッサ(ベクトル派)
情報知能工学専攻
2IE10081G
光益義幸
ベクトル・プロセッサとスカラ・プロセッサとは?
• ベクトル・プロセッサ
– ベクトル演算をひとつの命令で並列処理するプロ
セッサ.大規模な数値計算を高速かつ大量に行
うことができる
• スカラ・プロセッサ
– クロックサイクルごとにひとつの演算を実行する
プロセッサ.複数の実行ユニットにより並列化が
可能
スカラ・プロセッサの特徴
• ベクトル型に比べ低コスト,低消費電力
• プロセッサ単体での性能はベクトル型に劣るが,
プロセッサの並列接続によりベクトル型に匹敵
する演算速度が可能
• キャッシュヒット率を上げることで性能向上
• TOP500によると現在,スカラー並列型スーパー
コンピュータが主流
ベクトル・プロセッサの特徴
• スカラ型が主流だが,効率面,実行性能面では
ベクトル型は負けていない
• 科学技術分野などの大規模計算が必要な場合
は,ベクトル型が向いている
• スカラ型は,適していないアプリに対しては極端
に性能が下がる.汎用性ではベクトル型が優位
 問題点はやはり高コスト,高消費電力
ベクトル・プロセッサの特徴
• 性能向上にはメモリ・バンド幅を大きくする必要
がある
高いメモリ・バンド幅を実現するのが困難
– 演算性能あたりのメモリ・バンド幅低下
• さらに,メモリ・レイテンシが相対的に遅くなって
いる
メモリ・レイテンシの隠蔽が困難
主記憶にアクセスすることで消費電力も増
– 高消費電力の原因?
ベクトル・プロセッサの今後
そこで…
• ベクトル・プロセッサ用キャッシュメモリの使用
– メモリ・バンド幅低下の影響を軽減
– メモリ・レイテンシの削減
– 主記憶アクセスが減り、消費電力は減
– 実行効率の向上
コストパフォーマンスも向上
プロセッサ並列化に限界があるスカラ型よりも性能向
上の点で優位
ベクトルプロセッサとスカラプロセッサ
(ベクトル派)
学籍番号:2IE10079M
所属:情報知能工学専攻
藤崎研
名前:三重野 正己
ベクトルプロセッサとは
• 一つの命令で多数の要素を持つベクトル間の
演算を行うタイプのプロセッサ.
• メモリ・バンド幅を如何に大きくするかで
処理能力が変わる.
• ベクトル型スーパーコンピュータでは気象や流体
解析などの複雑な大規模計算を得意としている.
スカラプロセッサとは
• 通常の1命令で1要素ずつ処理するタイプの
マイクロプロセッサ.
• 如何にキャッシュやレジスタのデータを
絶やさないか処理能力が変わる.
• スカラー並列型スーパーコンピュータでは
遺伝子解析など多数の計算を同時処理を
得意としている.
ベクトルプロセッサの利点・欠点
利点
•高価な演算器を有効利用できる
欠点
•メモリ・バンド幅の向上がプロセッサ(演算器)の速度向上に
追いつかない.
•高いメモリ・バンド幅を実現することが難しい .
スカラプロセッサの利点・欠点
利点
•分岐予測でコントロールハザードを低減
•アウトオブオーダー実行でデータハザードによるロスを
低減
欠点
•キャッシュミスした際のペナルティが大きい
結論
非常に高度な科学計算が必要な市場を狙う
こと
ベクトルプロセッサの採用
ベクトル vs スカラー
情報知能工学専攻 2IE10077K 松井修平
スカラプロセッサ

特徴

スカラ型のスパコンに搭載するプロセッサは,サーバ・ワーク
ステーション用のマイクロプロセッサを流用できるため汎用性
が高い.

コストパフォーマンスに優れる.

多数並列接続して高速処理を実現する.
ベクトルプロセッサ

特徴

ベクトル型のスパコンには専用のプロセッサを搭載.

プロセッサ単体での性能はベクトルプロセッサの方が優れる.

膨大な量のデータ処理が得意なため,科学技術計算に適し
ている.
スカラーが優勢?

TOP500(世界で最も高速なコンピュータシステムの上位
500位)ではスカラープロセッサが上位を占める.

ベンチマークに使われるLINPACKはスカラープロセッサ
に有利.

実アプリケーションの実行性能ではベクトルプロセッサの
方が優勢.
ベクトルの優勢!

スカラー型のスパコンの問題点


そのままの形態で使用すると気象予測において広域予報や
長期予報などを行う際,データの連続処理におけるデータ供給
能力に限界があり,実効性能が極端に落ちてしまう.
ベクトル型スパコンは必須である!
ベクトル型の今後

世界最大の半導体企業でCPUのシェアも高いインテルと,
ベクトル型の技術のあるNECとでスパコンの共同開発.

スカラー型のスパコンであっても,ベクトル型の機能をも
つスパコンへの期待が高まる.
結論



科学技術計算が効率よく行える.
実アプリケーションの実行性能.
スカラー型でもベクトル型の技術の導入が望まれている.
ベクトルプロセッサがいい!
スカラプロセッサ v.s.
ベクトルプロセッサ
[ベクトルプロセッサ擁護派]
九州大学大学院
システム情報科学府
古川 潤
ベクトルプロセッサとは?
• オペランドとしてベクトルデータタイプ
を許容したプロセッサ.
スカラー
データタイプ
ベクトル
データタイプ
[1] 図1
ベクトルプロセッサの利点(1/3)
• 命令フェッチ回数の削減
ADD命令(スカラプロセッサ)
VADD命令(ベクトルプロセッサ)
[1] 図2
1命令で複数
の演算が可能.
ベクトルプロセッサの利点(2/3)
• メモリアクセス回数の削減.
1命令で複数のデー
タ読み出し可能.
[1] 図3
ベクトルプロセッサの利点(3/3)
• 算術命令並列実行による高いスループットの
実現[3].
実行したい命令
命令実行のタイミング
VADD V1=V2+V3
VMUL V5=V4+V1
1 クロックサイクル: V1[0] = V2[0] + V3[0]
1
2 クロックサイクル: V1[0]の値が分かっているので,
V5[0] = V4[0] + V1[0]が実行できる.
3 クロックサイクル:
.
.
.
2
3
4
クロックサイクル
VADDと
VMULの並列
実行の実現
ベクトルプロセッサの欠点
• 高価な専用の部品が必要.
– 少量生産のため高価
• 高価なハイスピードオンチップメモリが必要.
• 低コストを保ちパフォーマンスを改善するアー
キテクチャ上の革新がスカラプロセッサと比
較して少ない.
設計・製造がスカラプロセッサ
と比べて高コスト.
スパコン用途での
ベクトルプロセッサの隆盛[4]
• 1976年~1991年 (ベクトルプロセッサ黄金時代)
– Cray-1の発表(1976年)から15年間, クロックサイクル,
スループット, メモリバンド幅, I/O容量のすべての面
で ベクトルプロセッサの完全優位.
スパコン用途での
ベクトルプロセッサの衰退[4]
• 1990年代初頭 (キラーマイクロの登場)
– 1992年DEC Alphaで150MHzを達成.
• CMOS VLSI技術の発展により, スカラプロセッサのク
ロックサイクルが改善.
• 1994年
– Alpha21164に300Mhzを達成. (CrayC90の240Mhz
を超す.)
安価で高速なスカラプロセッサ
を多数積みスパコンを構成する
時代へ. (スパコン用途ではベ
クトルプロセッサは敗北.)
スパコン用途での
ベクトルプロセッサの復活
• スパコン用途でのベクトルプロセッサがGPU
(3D処理用のベクトルプロセッサ)という形で復
活.
安価なGPUを複数積んで
スパコンを構成する時代の
到来.
• GPUによるスパコンの構成例
開発費3800万
で国内最速
• 2008年 東工大 TSUBAME 1.2
• 2009年 長崎大 NVIDEA GPU Cluster
これからのベクトルプロセッサ
GPUの用途拡大
(スパコン, 科学技術計算, 各種シミュレーションの高速化)
大量生産によるGPUの低価格化とアーキテクチャの改善.
汎用ベクトルプロセッサが低価格に制作可能.
スカラプロセッサとベクトルプロセッサの立場が逆転
参考資料
1. Jamese Bonanno. Vector Architectures
2. Pratyusa Mandhata, Vyas Sekar. Vector
Processors
3. Prof. Loh. Vector Processing
4. Roger Espasa, Mateo Valero James E. Smith.
Vector Architectures: Past, Present and
Future
5. LINUX MAGAZINE. The Return of the Vector
Processor
スカラー型とベクトル型
システム情報科学府
情報知能工学専攻
2IE10071S 馬場亮輔
演算性能差
• プロセッサの単体でのピーク時演算性能は,ベクト
ル型がスカラー型の4~5倍
• この差は徐々に縮まっている、しかしピーク時のみ
• バンド幅に差がある
演算性能-バンド幅
• ベクトル型であるNEC製の「SX-6」の1プロセッサあた
りのバンド幅は
– 32ギガバイト/秒
• スカラー型で世界最速と言われている米IBMのマイ
クロプロセサ「Power4」の場合,1プロセッサエレメン
ト(注:1エレメント中に演算機を2台組み込んである)
あたり
– 6.9ギガバイト /秒
• バンド幅の差は約5倍、演算性能に大きな差がある
• バンド幅が小さければ、プロセサ側ではデータの到
着を待たなくてはならない
• 1回の演算で扱うデータ量が大きければ大きいほど,
ベクトルとスカラーの演算効率の差は広がる
• 計算結果をメモリに転送する場合も同じで、データ
量が大きくバンド幅が小さいと待ち時間が発生する
• バンド幅を大きくすればスカラー型でも性能が上が
るか
• プロセッサのアーキテクチャ上、スカラーではベクト
ル型ほどバンド幅を大きくすることができない
– 現在のスカラー・プロセサのデータI/O機構部分を、これ
以上大きくすることができない
– プロセサのI/O制御能力に限界があるためとプロセサのピ
ン数を増やすことが物理的に困難
ベクトル型
• ベクトル型コンピュータは大容量のデータを取り扱う
気象解析や衝突解析など大規模科学技術計算で
威力を発揮する
• 大量のデータをプロセッサ-メイン・メモリ間でやり取
りするようなアプリケーションで、大きな効果が得ら
れる
スカラ vs ベクトル
情報知能工学専攻
2IE10055S 近藤浩志
現在

多量のデータを処理する機会が増えてきている.
‐科学技術計算分野ではベクトルプロセッサを利用したも
のが主流

様々なデータのデジタル化により、身近でも多
量のデータを処理することもある
‐音楽ファイルの再生や画像ファイルの処理など・・・
ベクトルプロセッサの方が有利?
ベクトルプロセッサの特徴(1)

パイプラインで送るものは“命令”ではなく・・・
“データ”そのもの
‐命令は配列全てに対して一斉に下す

「命令呼び出し→デコード→データ取り出し
→・・・」をデータ数だけループ処理する必要がな
い!
デコード時間の節約!
ベクトルプロセッサの特徴(2)

ベクトル命令の出力は他の入力に依存しない
‐複数の演算器で並列処理可能!

異なる演算処理の同時実行
‐メモリからデータを取り出す時間がはるかに限定的に!

ベクトル命令を追加することは煩雑さにつながる
が・・・
‐ベクトル内処理の追加により、単一ベクトル内の複数の
要素間のやりとりを可能に
→データを任意に並べ替えできる!
消費電力

ベクトルプロセッサの方がスカラプロセッサより
大きいが・・・
‐ベクトルレジスタの方が演算器よりも大きいため、演算
器が増えても消費電力はさほど増加しない
‐無効な要素データに対する演算処理を実行しないことで
不必要な電力消費を回避できる?

メモリ積層型3次元ベクトルプロセッサ
‐メモリの大容量化、演算器の性能向上によるメモリアク
セスのボトルネック解消
→省電力化も実現可能
まとめ



今後デジタル化されたデータが増えていくことで、
それを高速で処理することが求められる
スカラプロセッサもベクトルプロセッサの技術を
取り入れつつある
省電力化でエコ志向にも対応可能
ベクトルプロセッサが有利
ベクトルプロセッサ
と
スカラプロセッサ
~ベクトルプロセッサ視点からの意見~
情報知能工学専攻 2IE10051T 大場慎平
ベクトルプロセッサ・スカラプロセッサの違い
~講義資料より抜粋
ベクトル・プロセッサ
スカラ・プロセッサ
性能の決定要因 •メモリ・バンド幅(主記憶からベクト
ル演算器へのデータ供給能力)の
大きさ
•キャッシュ・メモリのヒット率(必要な
データがキャッシュ・メモリに存在す
る割合)
性能向上策
•ヒット率を向上するようにキャッシュ
構成を工夫する
•プログラムのデータ参照の際の局
所性を高める
•とにかくメモリ・バンド幅を大きくす
る!
方式上の問題点, •メモリ・バンド幅の向上がプロセッサ •キャッシュにミスした際のペナルティ
および,今後の
(演算器)の速度向上に追いつかな (左記のメモリ・レイテンシ)が大き
課題
い!
い!
– 高いメモリ・バンド幅を実現するの
が困難(あるいは,コスト高)!
•さらに,メモリ・レイテンシ(データの
読み書きに要する時間)が相対的
に遅くなっている!
– メモリ・レイテンシの隠蔽が困難!
– 如何にしてペナルティを隠蔽する
か?
•「局所性の向上」と「並列度の向上」
とは相反する要求
– 両者のトレードオフをどう取って性
能向上に結びつけるか?
背景

スーパーコンピュータが事業仕分けの対象に!!

スーパーコンピュータを自国で生産できない国は科学技
術の一流国ではない?

よいスーパーコンピュータを作るにはプロセッサはベクト
ル型が良いのか?スカラ型が良いのか?
http://www.yasuienv.net/SuperComputer.htm
ベクトル型スーパーコンの強み



大容量のデータを取り扱う気象解析や衝突解析など大
規模科学技術計算で威力を発揮
具体的には大量のデータをプロセッサ-メイン・メモリー
間でやり取りするようなアプリケーションで絶大な効果
これはベクトル型プロセッサのアーキテクチャによるとこ
ろが大きい
プロセッサの演算性能の比較


プロセッサ本体の単体でのピーク時演算性能は、ベクト
ル型がスカラー型の4~5倍
スカラー型はマルチプロセッサ構成にし、プロセッサ台数
を増やすことでプロセッサ本体のピーク時性能はベクト
ル型と同レベル
スカラ型ではベクトル型のアーキテクチャにかなわない?


プロセッサ-メモリー間のデータ転送バンド幅
例:
•
•
•
•
NECの「SX-6」(ベクトル型)の1プロセッサあたりのバンド幅:
32ギガバイト/秒
米IBMの「Power4」 (スカラ型:世界最速と言われている) の1
プロセッサエレメントあたりのバンド幅:
6.9ギガバイト /秒
ベクトルとスカラーのバンド幅の差は約5倍
これが演算性能に大きく効いてくる
スカラ型ではベクトル型のアーキテクチャにかなわない?

1回の演算で扱うデータ量が大きければ大きいほど、ベ
クトルとスカラの演算効率の差は広がる

バンド幅が小さけ れば、プロセッサ側ではデータの到着
を待たなくてはならない

計算結果をメモリーに転送する場合も同じで、データ量
が大きく、バンド幅が小さいと、待ち時間が発生
バンド幅を大きくすればスカラ型でも性能が良くなる?

プロセッサのアーキテクチャ上、スカラ型ではベクトル型
ほどバンド幅を大きくすることができない

現在のスカラー型プロセッサのデータI/O機構部分をこ
れ以上大きくすることができない


プロセッサのI/O制御能力の限界
プロセッサのピン数を増やすことが物理的に困難
まとめ

プロセサ全体の処理能力を高めI/O制御を高速化し、さ
らに実装技術を進歩させてプロセサのピン数を増やすこ
とは可能
しかし

今のスカ ラー型プロセサがベクトル型プロセサのレベル
に追いつくには時間がかかる
こうした技術的背景から
科学技術計算で1度に取り扱うデータ量が
大 きければ大きいほどベクトル型が有利
参考:http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20020905/1/
Scalar vs. Vector
情報知能工学専攻
2IE10049G 大石修士
Scalar/Vector processorとは??(1/2)
• Scalar processor
-1命令で1要素ずつ処理するprocessor.
-複数のマイクロアーキテクチャにより命令実行の並列度を上
げ、処理性能を向上.
スーパースカラー化
アウトオブオーダー
実行
-遺伝子解析等、大量計算の同時処理向き.
投機実効
Scalar/Vector processorとは??(2/2)
• Vector processor
-パイプライン実行処理における問題(浮動小数点の加算・乗
算)に対処できるよう浮動小数点演算器をパイプライン化.
(CRAY-1)
-1つの命令で多数の要素を持つベクトル間の演算を行う.
-気象や流体解析などの複雑な大規模計算向き.
Scalar/Vectorの情勢
• Scalar processorの躍進
-1990年前半に各マイクロアーキテクチャを採用したprocessor
が出現.性能が急激に向上.
-汎用的な性格により、スーパーコンピュータだけでなくワーク
ステーション、サーバにも使用され、コスト低下.
• TOP500
-地球シミュレータ(NEC)、GRAPE-DRシステム(国立天文台)の2
つがVector processorを有する.世界的な標準はScalar
processorに.
Vector processorの優位性
• レイテンシとメモリバンド幅
-Scalar processorはVector processorに比べレイテンシ性能に
依存する傾向.バンド幅改善の速度を考えると、Vectorの方
が将来的には有利.
• graphic
-GPUは言わば3D graphic処理に特化したVector processorの
一種.
-ゲーム機器等の性能向上に伴い、物理シミュレーション的
要素が増すのではないか.
→生産コストの低下.普及率向上.
ベクトル型スーパコンピュータ
2IE10047S
岩本 智裕
スカラー型並列よりも優れている点
• 大量のデータをルーチン処理することにおいて
(気象予測や流体計算等)
• データ転送バンド幅のおおきさにおいて
• 過去のソフトウェア資産継承や(金に糸目をつけ
ない)特殊な用途において
85
スカラー型並列よりも劣っている点
• コストパフォーマンスの高さにおいて
• 汎用性の高さにおいて
86
結論
スカラー型並列とベクトル型どちらがより良
いプロセッサであるかは,それが使われるも
のによりけりである.しかし,人類はこれだけ
はどんなコストを用いてもいち早く解決しない
といけないという大きな課題がいくつかある.
それらを解決するためには,それに対して汎
用性はないが,ある場合には最も大きな成果
を出せるというベクトル型が有効であり,人類
の進歩の上でスカラー型並列より重要である
と考える.
87
VECTOR VS
SCALAR
情報知能工学専攻
88
2IE10045W 石川翔太
VECTOR PROCESSOR
• 複数の組のデータに対して、1つの命令で同一演算を行う
• たとえば、x(i),y(i)(i=0,1,..n)のような1次元データ配列(ベクト
ル)に対して、x(i)+y(i)を一括で求める演算
• 具体例
• CRAY-1(1975)
・・・・・
+ + + +
・・・・・
Vr2
=
=
=
=
Vr2
・・・・・
64要素
さらに、ベクトルレジスタから
サイクルごとに順番にデータ
を取り出し、パイプラインで演
算を行う
89
Vr1
SCALAR PROCESSOR
• スカラ(1サイクルにつき1命令)を拡張したスーパースカラ(1サイク
ルにつき複数命令)で演算
• アウトオブオーダー実行
•
データ待ちになっている命令を飛び越して演算データが揃って
実行可能になった後続の命令を実行する
• 投機実行
•
条件分岐命令の向きを予測して、
見込みで次の命令を実行していく分岐予測
の技術で並列実行の処理性能を向上させてきた
スーパースカラを意識したプログラム
Refer:「現代のプロセッサと並列実行」
http://www.atmarkit.co.jp/fcoding/articles/parallel/02/para02a.html
90
for (i=0; i<n; i+=2) {
sum0 += a[i+0];
sum1 += a[i+1];
}
sum = sum0 + sum1;
背景
• 過去はベクトルプロセッサが優勢であった・・・
• しかし、現在ではスカラプロセッサが圧倒
• なぜ・・
• コスト面(演算性能当りの価格)
•
Refer:「Processor Architecture Share Over Time」
http://www.top500.org/overtime/list/35/procarch
91
キャッシュを使うことで演算速度当りの
メモリバンド幅を落としている
• Intel x86のような量産形プロセッサの
場合にはシステム全体として
製造コストが低い
近年の状況
• メモリーウォール問題の顕著化
• CPUの速度に追いつけない
•
Source:Samsung
その結果、CPUの動作周波数が上がるにつれて、相対的にメ
インメモリDRAMからのデータ待ちでストールしてしまうCPUの
サイクル数が増えてしまう
• GPGPUの活用による問題の新出
• CPUとGPU間のPCIバスが速度性能のネックに
問題の複雑化、メモリの配置が問題
Refer:「PCWatch」
http://pc.watch.impress.co.jp/docs/column/kaigai/2
0090424_153641.html
92
•
結論
CPUとGPU間のPCIバスが速度性能のネック
CPUとGPGPUを同一チップに配置するという技術も
考えれており、改善の期待が出来る
メモリーウォール問題の顕著化
メモリのレイテンシ改善の進歩は遅い
(一方、バンド幅改善はレイテンシ改善に比べ圧倒的に進歩が速い)
この点において、ベクトルプロセッサはキャッシュを持たず、
メモリ・レイテンシの隠蔽をマルチバンク同時アクセスによって成し遂げて
おり、レイテンシは重要な要素ではない
93
技術的課題をカバーできる“ベクトルプロセッサ”の方が優勢である
ベクトルとスカラ
ベクトル派
知能情報工学専攻
2IE10043T
阿部 尚之
ベクトルプロセッサについて
• ベクトル演算を一つの命令で高速に処理する
プロセッサ
• 科学技術分野で使用されている
– 浮動小数点演算をパイプラインで並列処理し,大
規模な数値計算を高速かつ大量に行える
– 気象や流体解析などの複雑な大規模計算が得
意
スカラプロセッサについて
• クロックサイクル毎にただ一つの命令を実行
し,ALUが一つないし二つの入力を処理して
結果を出力する
• スパコンにおいては,これらを多数並列接続
して高速処理を実現
– 遺伝子解析などの多数の計算を同時処理するこ
とが得意
ベクトル型のスパコンについて
• 大きなメモリバンド幅と単純なメモリ階層を持つ
– メモリアクセスレイテンシを隠ぺいすることが可能
– 実用プログラムで高い実効性能をもつ
– 但し,コストが高い
• 現在では主流ではないが,過去主流であったた
め,過去のソフトウェアを活用できる
– スカラ型が活用する場合には,自動並列コンパイラ
などの多くの工夫が必要になる
スカラ型のスパコンについて
• 汎用プロセッサを多数並列接続している
– 安価である
• データの連続処理におけるデータ供給能力
に限界がある(実行能力が極端に落ちる)
– 気象予測の広域予報や長期予報がそのままの
形態では向いていない
– ハードウェア的/ソフトウェア的に多量のデータを
連続投入できるような工夫が必要
ベクトル型とスカラ型の比較
ベクトル型
スカラ型
用途
専用
汎用
コスト
高い
安い
計算能力
複雑な大規模計算が得意
多数の計算の同時処理が
得意
実効性能
高い
低い
TOP500
1台のみ
残り
まとめ
• ベクトル型の方がよい
– スカラ型のスパコンもベクトル型の技術を取りこ
んでいる
• SIMD機構
– 実効性能の高さ
• スカラ型の場合は,ハード的/ソフト的な工夫が必要
– 過去のソフトウェアを活用できる
• スパコンのアプリは,最適化されて設計・開発が行わ
れているため,ベクトル型からスカラ型へ移行には工
夫が必要
ベクトル計算機 (―けいさんき) は、ベクト
ル演算を行うことができるコンピュータの
こと
 ベクトル演算を行うCPUを ベクタープロ
セッサ(Vector Processor)または アレイ
プロセッサ(Array Processor)と呼ぶ
 科学技術計算分野でよく使われている

スカラー計算機(-けいさんき)とは、ク
ロックサイクル毎にただ一つの命令を実行
し、ALUが一つないし二つの入力を処理して
結果を出力するコンピュータのこと。
 端的に言えばベクトル化もスーパースケー
ラ化もされていない最も原始的な演算ユ
ニットがスカラー計算機である。

ベクトル型
スカラー型
用途
専用
汎用的
演算速度
高速
遅い
コスト
高い
安い



スーパーコンピュータに搭載されるプロセッサの役
割も、普通のコンピュータ同様に計算処理を行うこ
とである
通常の単純なプロセッサは、一命令あたり一つの演
算だけを行うスカラープロセッサで、一般的な
(PC) に搭載されるプロセッサ数も1つかごく少数で
ある
スーパーコンピュータでは、1クロックで複数の演
算を一度に行うベクトル演算などを備えたプロセッ
サの採用や、システムの中に数十個から数十万のプ
ロセッサを搭載し計算を同時に実行することで高い
スループットを実現する構造となっている。
ベクタープロセッサは数値演算を複数のデータ
に対して並行して実行することができる
 ベクタープロセッサは科学技術計算分野でよく
使われた
 現在、ベクタープロセッサを名乗るプロセッサ
は少ないが、SIMDと呼ばれるベクトル演算を
行う機能を備えたマイクロプロセッサは多い

 ベクトル計算機は大量のデータに同様の
処理を繰り返すときに最良の働きをする

スーパーコンピュータが利用される気象予
報センターや物理学研究所のような膨大な
量のデータ処理を行う現場に向いていると
される

ベクトルデータのメモリ直接アクセス
› 強力なメモリアクセス転送能力128GB/S
› 立上がり時間は1回分のロスで済ませるベクトル
命令
› 大規模データ:スカラプロセッサではキャッ
シュミスヒットで大幅に性能低下
› スカラプロセッサもプレフェッチ機能を搭載し
始めた
› (演算する時刻以前に主記憶からデータを取っ
てくる)レイテンシ克服方式(latency Tolerant)
ベクトルプロセッサは科学技術分野で強力
 命令レベル並列実行

› ベクトル命令自身の並列データ実行との競合
› 主記憶データ転送能力の増強

ベクトルスカラともに並列プロセッサシス
テムへ
ベクトルプロセッサ VS スカラプロセッサ
九州大学システム情報科学府
情報学専攻 修士1年
2IE10013Y 周士博
ベクトルプロセッサ

浮動小数点演算をパイプラインで並列処理

大規模数値計算を高速処理できるプロセッサ

大量のメインメモリを搭載し、大量データを高
速リード・ライトできる
ベクトルプロセッサの利点



ベクトルプロセッサは、複数のデータ要素の
演算を同時に実行できる設計になっている。
命令読み出しが10回から1回に減ることができ
る。
コード自体も短くなるので、よりメモリの効率化
が図られる。
ベクトルプロセッサの利点

大量のデータに同様の処理を繰り返すときに
最良の働きをする。
 気象予報センター
 科学技術演算
(膨大な量のデータ処理を行う現場に向いて
る。)
スカラプロセッサの欠点

適用する応用領域が狭い

ピーク性能に比べ実効性能が低い

メモリ分散方式によって


プログラムが作りにくい
最適化が困難

ベクトルの利点とスカラの欠点を考えたら、ベ
クトルプロセッサのほうがいいと思う。
参考


http://asahinet.jp/keyword/%E3%83%99%E3%82%AF%
E3%83%88%E3%83%AB%E3%83%97%E3%
83%AD%E3%82%BB%E3%83%83%E3%82%
B5/detail/
http://ja.wikipedia.org/wiki/%E3%82%B9%E
3%83%BC%E3%83%91%E3%83%BC%E3%8
2%B3%E3%83%B3%E3%83%94%E3%83%A
5%E3%83%BC%E3%82%BF