★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
コンピュータの各装置と性能
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
コンピュータの構成については 「コンピュータの基本構成」で説明をさせて頂きました。そこでは本当に基本的なことだけを書かせて頂きました。しかしコンピュータが稼働する場合は周辺装置の構成により計算性能が大きく左右されます。ここではコンピュータの周辺装置の種類と性能への影響等を考えてみたいと思います。
−ディスク装置−
ディスク装置はOS、アプリケーション、データが格納されるところで非常に重要な装置です。ディスク装置の選択、構成では
性能、信頼性、容量、価格
が重要な決定要因と考えます。
まず性能を考えると、その決定要因は主に回転速度によって決まってきます。
ディスク装置の現在販売されている製品の回転速度は
4200rpm 5400rpm 7200rpm 10000rpm 15000rpm
といったところです。
ディスクにはSAS(Serial Attached SCSI)ディスクとSATA(Serail Attached Advanced Technology Attachment) ディスクの2種類が現在使われている主なディスクです。 高速なディスクはSASディスクで回転数として15000rpmもしくは10000rpmになります。 SATAディスクは7200rpmが主流です。そして大きさはサーバーやワークステーションでは3.5インチですが、最近は小型化の為に2.5インチのディスクも多くなってきております。 ノートPCではコンパクト化の為に2.5インチや1.8インチディスクが使われております。 これらの小型のディスクは回転数が4200rpmや5400rpmのように大きいディスクより遅くなっております。
SASディスクは主にワークステーションやサーバーシステムで使われています。 性能、信頼性を重視しての利用です。
性能に関しては回転数が速いだけに高速ですが、信頼性についてはいろいろ調べても実証データはありません。
ベンダーさんは信頼性が高いということでSASディスクを薦めております。 しかしSASディスクは装置自身が高速ですので、逆に障害が発生する可能性が高くなります。
SATAディスクはデスクトップ、ノートPC等で主に使われております。 しかし最近ではサーバーやワークステーションでも沢山使われており、スーパーコンピューター提供している企業でもSATAを主要なディスクに使っているところがあります。
SATAは昔のパソコンの規格であるATA(ATAPI、IDE)の性能を向上するため、新たに作られた規格で2000年頃から規格が出始めています。 一方、SASは90年代のワークステーションやサーバーで使われていたSCSIの一種であり、パラレル伝送であったSCSI規格をシリアル化した規格です。 最初に仕様が出たのが2003年頃です。
この他に高速性を追求したディスク装置としてはSSD(半導体)ディスクがあります。 SSDは最近(2008年頃から)出たディスク装置です。容量は少ないですがランダムアクセス性能は高速です。読込速度が速いのでOSを入れて起動時間を短くするには向いています。 しかし価格性能比等を考えると、従来のHDDを利用されるのが一番かと思います。 SSDディスクの装着はSATAディスク装置と同じように接続することになります。
計算サーバーでのIO速度の向上策としては上記以外にPCIに接続する半導体ディスクがあります。 このベンチマーク結果を見るとNastranの計算においてI/O時間をほとんど0に近くして計算の経過時間を280分くらいから160分位へと非常に高速にしております。複数のジョブを実行しても性能が劣化しないとの結果も出ております。これらの結果から考えて、計算においてI/O性能が重要な項目になる場合でのシステム構築では、この半導体ディスクの導入は一つの大きな選択肢になります。
以上を簡単な表にすると以下のようになるかと思います。
ただこの表は筆者の私感であることをご了解ください。
|
性能 |
信頼性 |
容量 |
価格 |
SATA |
△ |
○ |
◎ 大容量(500GBが当たり前で2TBも一般的) |
◎ |
SAS |
○ |
◎(ベンダー) |
○ 中容量(146GBが一般的、600GB位まで) |
○ |
SDD |
○ |
△ |
△ 小容量(64GB 、128GB あたりが一般的) |
△ |
PCI接続SSD |
◎ |
△(?) |
○ 中容量(320GB) 〜大容量(1.2TB) |
△(?) |
上記は単体でのディスクの選択について説明いたしましたが、ディスクは構成によっても性能が大きく変わります。
信頼性を重視するか、性能を重視するかにより構成を考えると以下のような特徴があります。
RAID0
|
ストライピングとも言われます。 複数のディスクを1台のディスクとして扱います。この為にデータは分散して書込み、読込を行いますので性能が高くなります。NastranのようなファイルI/Oが重視される計算サーバーのスクラッチ領域には向いております。 問題は1台のディスクに障害が発生した場合は、全てのディスクのデータが処理できなくなります。 性能は最高、信頼性は非常に低い構成です。 |
RAID1 |
ミラーリングとも言われます。 2台構成の場合、2台のディスクに同じデータを書き込みます。 これによりディスクが一台壊れても処理を続行することができます。信頼性が最高のシステムです。価格は1台のディスクに比べて2倍になり高価格の構成です。 |
RAID1+0 |
上記のRAID1とRAID0を組み合わせた構成です。 これにより性能、信頼性を最高にした構成になります。 ただ判るように価格は高価なシステムになります。 またこの場合、注意が必要なのはRAID1+0であって、RAID0+1ではいけないということです。 RAID1+0(RAID10)はRAID1構成を複数、組合わせてストライピングした構成で同じRAID0+1 に比べて信頼性が高くなります。 後述の図を参照してください。 |
RAID5 |
パリティデータを持たせた複数ディスクの構成です。パリティデータで1ディスク分を使いますので6台のディスクだと5台分の実効スペースが有効に利用することができます。 パリティがありますのでディスクが1台故障しても処理を続行できます。 その間にホットスワップ可能なディスクであればディスクを交換することにより自動的に復旧して元に戻りますので信頼性が高くなります。性能はシングルのディスクより性能は高いですがRAID0程の性能はでないと聞いております。 |
RAID6 |
RAID6はRAID5より信頼性を高くして2つのディスクに障害が発生しても処理を継続できるディスク構成です。計算サーバーというよりはファイルサーバーのようにデータの保全に重点を置いた構成になります。 |
|
RAID構成の手法
RAID構成をハードウェアで行う方法と、ソフトウェア(OS)で行う方法の二通りがあります。性能向上を考えるとハードウェアでのRAID構築をお勧めいたします。ただCPU性能が余っている。そしてRAIDをサポートするハードウェアが装着できないと言った場合はソフトウェアRAIDも選択できるかと思います。
−ネットワーク−
ネットワークは1960年頃に米国のDARPAの前身であるARPAでARPANETが構築されたのがインターネットの始まりです。ネットワークの標準としてはTCP/IPが一般的ですが、産業界ではコンピュータベンダーが各社に特化したプロトコルを提供しておりました。IBMだとSNA、DECだとDNAで具体的なプロトコルとしてはDECnetといった具合に各種の通信手段がありました。しかし1980年代後半よりTCP/IPが一般的になり、1990年代後半からはTCP/IPがネットワークの標準プロトコルになり、TCP/IPを装備していないと通信ができないようになりました。
ネットワークを利用するうえで知っておくべきことは
ホスト名 、 アドレス 、 ドメイン 、 ポート番号 、 DHCP 、 ネットワークアプリケーション
といったところでしょうか。 この辺を知っていればネットワークの設定等もできるかと思います。多くの方は個人でもコンピュータを購入してインターネットに接続しているので特に問題ないと思いますが、念のために簡単に書かせて頂きます。
ホスト名
コンピュータには必ずホスト名をつけます。Windowsの世界では
コントロールパネル−>システム−>システムのプロパティ−>コンピュータ名
でコンピュータの名前を設定できます。
この名前がブロードキャストされてLANに接続された他のWindowsコンピュータから特に新しく名前を登録しなくても、新しく登録したコンピュータの名前を確認することができ、その名前で新しいコンピュータにアクセスすることができます。
一方、LinuxやUNIXでは、コンピュータ名はそのシステムだけで認識される名前で、LANに接続されたコンピュータでは設定をしない限りそのコンピュータの名前でのアクセスはできません。設定する方法としては /etc/hosts ファイルに書き込んで設定して上げるかNIS(Network Information System)の設定をしてあげることにより、ホスト名でのアクセスが可能になります。 この為にマシンに設定したホスト名とアクセスするホスト名が異なる場合も可能です。
アドレス(IPアドレス)
現在のコンピュータでは通信をする場合は必ずIPアドレスをつけます。 これは . で区切った4区画の数字で 192.168.0.100 のような数字列です。これはTCP/IPのアドレスであり、アドレスにはクラスA、B、Cがあります。
アドレス範囲 サブネットマスク 登録できるホストの数
クラスA 0.0.0.0-127.255.255.255 255.0.0.0 24ビット 1,677万台
クラスB 128.0.0.0-191.255.255.255 255.255.0.0 16ビット 65,534台
クラスC 192.0.0.0-223.255.255.255 255.255.255.0 8ビット 254台
IPアドレスで他に重要なアドレスとしてはグローバルアドレスとローカルアドレスがあります。 グローバルアドレスは全世界でユニークなアドレスで全世界、どこのコンピュータとも競合しない単一のアドレスです。対照なのがローカルアドレスで、これは外部インターネットとは完全に遮断して、そのアドレスが外部に出ないようにしているアドレスです。会社の内部だけのネットワークあるいはテスト用の外部と接続しないネットワークでは頻繁に使われます。 ローカルアドレスとしては
アドレス範囲 サブネットマスク
クラスA 10.0.0.0-10.255.255.255 255.0.0.0
クラスB 172.16.0.0-172.31.255.255 255.255.0.0
クラスC 192.168.0.0-192.168.255.255 255.255.255.0
が使われます。 一般的に多くつかわれるのが 192.168.*.*かと思います。
上記以外にネットワークの設定で必要な情報としては デフォルトゲートウェイ、DNSサーバーがあります。 デフォルトゲートウェイはブロードキャストして見つからないホストと通信する場合にどこを経由してLAN以外のネットワークにアクセスするか、その経由地を設定する場合のアドレスです。 DNSサーバーはドメインでの名前指定した時の名前を解決してくれるサーバーです。 これらの情報はシステム管理者、あるいはネットワークプロバイダーから提供されます。
ドメイン
インターネットに接続する場合はドメイン名を意識する必要があります。ホスト名だけだと全世界のどこに、そのコンピュータがあるか判らない。あるいは同じ名前がつけられている可能性があるからです。 ドメイン名の例としては meti.go.jp と書いた時は 日本(jp)の 政府関係者(go)の meti(経済産業省:Ministry of Economy Trade and Industry)のアドレスだということが判ります。 このドメインの左端にホスト名を書くことにより、セキュリティ上アクセスが問題なければ全世界のどこからでも、そのホストにアクセスすることができます。アクセスするためにはアクセスを行うアプリケーションが必要です。 これは別項で簡単に説明をいたします。
ポート番号
コンピュータ同士がTCP/IPを利用して通信する場合はポート番号が割り当てられています。 セキュリティの設定ではこのポート番号が必要になる場合がありますので、ポート番号という名前だけでも憶えておくと良いかもしれません。具体的には以下のような割り当てになります。
§ TCP/20 : FTP (データ)
§ TCP/21 : FTP (制御)
§ TCP/22 : SSH
§ TCP/23 : Telnet
§ TCP/25 : SMTP
§ UDP/53 : DNS
§ UDP/67 : DHCP(サーバ)
§ UDP/68 : DHCP(クライアント)
§ TCP/80 : HTTP
§ TCP/110 : POP3
§ TCP/119 : NNTP
§ UDP/123 : NTP
DHCP(Dynamic Host Configuration Protocol)
コンピュータがネットワーク接続する際に必要な情報を自動的に割り当てるプロトコルのことです。現在は多くの企業がプロバイダーから提供された環境でDHCPが使えますので、DHCPを利用して
◎ IPアドレスを自動的に取得する
◎ DNSサーバーのアドレスを自動的に取得する
を選択しておくことによりインターネットに接続できるようになります。
ネットワークアプリケーション
ネットワークで利用するアプリケーションとして多いものとしては
Webアクセス(例:IE) ウェブアクセスプログラム
FTP ファイル転送プログラム
Telnet リモートログインプログラム
等が代表的なものとしてあります。
ネットワークの接続形式
上記は一般的なインターネットの世界の話題を書かせて頂きました。 具体的な物理的な接続と性能を考えると別の知識が必要になってきます。まずは接続方法です。 1980年代のネットワークの接続は10BASE5(イエローケーブル:Thickワイヤ)と言われる太い同軸ケーブルでLAN接続をしておりました。 ネットワークの伝送速度は10Mbpsが一般的でした。 そして1980年代後半になって細いケーブルで10Base2が現れました。 Thinワイヤとも呼ばれBNCコネクタで接続しておりました。 ネットワークの伝送速度はやはり10Mbpsが一般的でした。
これが1990年代になって構築が容易なツイストペアケーブルいなって10Mbps、100Mbpsとなり、今では1000Mbpsが一般的になってきております。 ネットワークのトポロジーもバス型配線からスター型配線に変わりました。
バス型接続
10Base5
10Base2
スター型接続
ネットワークの性能
ネットワークのスピードは1990年代初頭までは10Mbpsであまり高速ではありませんでした。しかし現在では1000Mbpsが一般的になってきております。既に10Gbpsの利用も可能になってきております。 ただ10Gbpsに関してはコンピュータに付けるI/FであるHBA(Host Bus Adapter)やスイッチが非常に高価ですので特殊な使い方をする必要がない限りは標準の1000Mbpsでの通信をお勧めいたします。
また分散コンピューティングを利用した計算サーバーではネットワーク通信が重要な要素になってきます。 このような場合は1000MbpsによるTCP/IPでの通信もありますが、InfiniBandによる通信が高速性能を発揮するためには必要になってきます。 ただInfinibandもHBAやスイッチは高価ですので費用対効果を考えて導入することをお勧めいたします。 並列度の高い計算はInfinibandを使うことも効果的ですが、4ノード位のクラスター構成では1000MbpsのEthernet接続でも十分かと思います。
ネットワークの接続/通信性能
InfiniBand SDR |
InfiniBand DDR |
GigaEthernet |
|
アプリケーション遅延速度 |
約2.6μs |
約2.25μs |
約100μs |
スイッチ 遅延速度 |
200ns |
150ns |
6000ns |
データ転送速度 |
760MB/s |
1500MB/s |
約100MB/s |
ネットワークの転送能力を拡大する方法
ネットワークの転送能力を高める方法としてBonding機能があります。 これは複数のネットワークI/Fを束ねて一つのネットワークI/Fとして認識させる方法で、ネットワークスイッチにはBonding機能が備わったスイッチも比較的低価格で入手が可能です。またコンピュータ側のサポートとしてはOSのLinuxではBondingをサポートしております。
WindowsではHPがTeamingということで別途、Proliant系でサポートをしております。
イメージは以下の通りです。
−CPU−
計算を行うコンピュータシステムの心臓部です。最初にできたコンピュータであるENIACでは真空管で回路ができており、非常に大きなものでしたが、それが1950年代頃からトランジスタが使われてCPUもコンパクトになってきました。 そして1970年代になってマイクロプロセッサであるICでCPUが構築されるようになりました。そして1980年代にはLSIになり非常にコンパクトCPUになってきております。
以下はNECのセミナー資料より抜粋させて頂いたものです。同じLSIでも時代と共に非常にコンパクトになってきていることが判ります。
CPUは1940年代から90年代までは、ほとんど各コンピュータベンダーがIBMのホストコンピュータ用、HPのUNIX用のPA-RISC、SUNのSPARCチップといったように個別にCPUを作っておりました。しかし現在はコンピュータで使われるCPUはIntel及びAMDのCPUが主流になっており、個別のCPUはIBMのPowerシリーズ、そして富士通がSPARCを作っている位で、ほとんど聞かなくなりました。理由はMPU開発の開発投資が莫大であるためです。
現在、主流のCPUは計算性能から言うとデスクトップからワークステーションやサーバーに使われるIntelのNehalem(i3,i5,i7シリーズ及びXeonのX55xx、X56xxシリーズ)が主流です。 価格、性能を考えてCPUを選択すれば良いかと思います。
2010年時点での計算サーバーで使われる主なCPU
Nehalem-WS |
ワークステーション系で主に利用 |
||||||
model |
Speed (GHz) |
L2 Cache (KB) |
L3 Cache (MB) |
QPI (GT/s) |
コア/スレッド数 |
対応メモリ(MHz) |
TDP (Watts) |
W3580 |
3.33 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
130 |
W3570 |
3.2 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
130 |
W3565 |
3.2 |
4 x 256 |
8 |
2 x 4.8 |
4/8 |
1066 |
130 |
W3550 |
3.06 |
4 x 256 |
8 |
2 x 4.8 |
4/8 |
1066 |
130 |
W3540 |
2.93 |
4 x 256 |
8 |
2 x 4.8 |
4/8 |
1066 |
130 |
W3530 |
2.8 |
4 x 256 |
8 |
2 x 4.8 |
4/8 |
1066 |
130 |
W3520 |
2.66 |
4 x 256 |
8 |
2 x 4.8 |
4/8 |
1066 |
130 |
Nehalem-EP |
ワークステーション、サーバーで利用 |
||||||
odel |
Speed (GHz) |
L2 Cache (KB) |
L3 Cache (MB) |
QPI (GT/s) |
コア/スレッド数 |
対応メモリ(MHz) |
TDP (Watts) |
W5590 |
3.33 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
130 |
W5580 |
3.2 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
130 |
X5570 |
2.93 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
95 |
X5560 |
2.8 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
95 |
X5550 |
2.66 |
4 x 256 |
8 |
2 x 6.4 |
4/8 |
1333 |
95 |
E5540 |
2.53 |
4 x 256 |
8 |
2 x 5.86 |
4/8 |
1066 |
80 |
L5530 |
2.4 |
4 x 256 |
8 |
2 x 5.86 |
4/8 |
1066 |
60 |
X5680 |
3.33 |
6 x 256 |
12 |
2 x 6.4 |
6/12 |
1333 |
130 |
X5677 |
3.46 |
4 x 256 |
12 |
2 x 6.4 |
4/8 |
1333 |
130 |
X5670 |
2.93 |
6 x 256 |
12 |
2 x 6.4 |
6/12 |
1333 |
95 |
X5667 |
3.06 |
4 x 256 |
12 |
2 x 6.4 |
4/8 |
1333 |
95 |
X5660 |
2.8 |
6 x 256 |
12 |
2 x 6.4 |
6/12 |
1333 |
95 |
X5650 |
2.66 |
6 x 256 |
12 |
2 x 6.4 |
6/12 |
1333 |
95 |
Nehalem-EX |
サーバーで利用される |
||||||
Model |
Speed (GHz) |
L3 Cache (MB) |
QPI speed (GT/s) |
TDP (W) |
コア数 |
スレッド数 |
Turbo-Boost |
X7560 |
2.26 |
24 |
4x6.4 |
130 |
8 |
16 |
|
L7555 |
1.86 |
24 |
4x5.8 |
95 |
8 |
16 |
1/2/4/5 |
X7550 |
2 |
18 |
4x6.4 |
130 |
8 |
16 |
|
L7545 |
1.86 |
18 |
4x5.8 |
95 |
6 |
12 |
0/1/3/5 |
X7542 |
2.66 |
18 |
4x5.8 |
130 |
6 |
6 |
0/1/1/1 |
E7540 |
2 |
18 |
4x6.4 |
105 |
6 |
12 |
|
E7530 |
1.86 |
12 |
3x5.8 |
105 |
6 |
12 |
|
E7520 |
1.86 |
18 |
3x4.8 |
95 |
4 |
8 |
|
Opeteron 6100シリーズ |
|||||||
Model Number |
Cores |
Clock speed |
L3 cache |
HT3 link speeds |
ACP |
Socket type |
AMD-V |
6176 SE |
12 |
2.3 Ghz |
12 MB |
6.4GT/ |
105W |
G34 |
Yes |
6174 |
12 |
2.2 Ghz |
12 MB |
6.4GT/ |
80W |
G34 |
Yes |
6172 |
12 |
2.1 Ghz |
12 MB |
6.4GT/ |
80W |
G34 |
Yes |
6168 |
12 |
1.9 Ghz |
12 MB |
6.4GT/ |
80W |
G34 |
Yes |
6136 |
8 |
2.4 |
12 MB |
6.4GT/ |
80W |
G34 |
Yes |
6134 |
8 |
2.3 |
12 MB |
6.4GT/ |
80W |
G34 |
Yes |
6128 |
8 |
2 |
12 MB |
6.4GT/ |
80W |
G34 |
Yes |
6164 HE |
12 |
1.7 |
12 MB |
6.4GT/ |
65W |
G34 |
Yes |
6128 HE |
8 |
2 |
12 MB |
6.4GT/ |
65W |
G34 |
Yes |
6124 HE |
8 |
1.8 |
12 MB |
6.4GT/ |
65W |
G34 |
Yes |
Opeteron 4100シリーズ |
|||||||
Model Number |
Cores |
Clock speed |
L3 cache |
HT3 link speeds |
ACP |
Socket type |
AMD-V |
4184 |
6 |
2.8 Ghz |
6 MB |
6.4 GT/s |
75W |
C32 |
Yes |
4180 |
6 |
2.6 Ghz |
6 MB |
6.4 GT/s |
75W |
C32 |
Yes |
4130 |
4 |
2.6 Ghz |
6 MB |
6.4 GT/s |
75W |
C32 |
Yes |
4122 |
4 |
2.2 Ghz |
6 MB |
6.4 GT/s |
75W |
C32 |
Yes |
4176 HE |
6 |
2.4 Ghz |
6 MB |
6.4 GT/s |
50W |
C32 |
Yes |
4174 HE |
6 |
2.3 Ghz |
6 MB |
6.4 GT/s |
50W |
C32 |
Yes |
4170 HE |
6 |
2.1 Ghz |
6 MB |
6.4 GT/s |
50W |
C32 |
Yes |
4164 EE |
6 |
1.8 Ghz |
6 MB |
2.0 GT/s |
32W |
C32 |
Yes |
4162 EE |
6 |
1.7 Ghz |
6 MB |
2.0 GT/s |
32W |
C32 |
Yes |
−メモリー−
メモリーは処理途中のプログラム、データを置かれるところであり、CPUで計算がおこなわれる際にメモリーにデータがあれば、そこららCPUに転送して計算を行う。最初に計算を始めるときにはプログラム、データ共にメモリー上にはないのでディスクからデータをメモリー上に移動し、それをメモリー上のレジスターに移動して計算を行う。概要書くと以下のようになります。
メモリー接続方法での性能の違い
メモリー世代による性能の違い
名称/ 入力
分類 転送速度 周波数 動作周波数 最大データ転送速度
DDR1/SDRAM PC-1600 100MHz 200MHz 1.6Gバイト/秒
PC-2100 133MHz 266MHz 2.1Gバイト/秒
PC-2700 166MHz 333MHz 2.7Gバイト/秒
PC-3200 200MHz 400MHz 3.2Gバイト/秒
DDR2/SDRAM PC2-3200 100MHz 400MHz 3.2Gバイト/秒
PC2-4300 133MHz 533MHz 4.3Gバイト/秒
PC2-5300 166MHz 667MHz 5.3Gバイト/秒
PC2-6400 200MHz 800MHz 6.4Gバイト/秒
DDR3/SDRAM PC3-6400 100MHz 800MHz 6.4Gバイト/秒
PC3-8500 133MHz 1066MHz 8.5Gバイト/秒
PC3-10600 166MHz 1333MHz 10.6Gバイト/秒
PC3-12800 200MHz 1600MHz 12.8Gバイト/秒