FreeBSD 7.0 へようこそ
第4回 7.0-RELEASE SMPへの道
巻頭言 -Asia BSD Conferenceに参加しよう
FreeBSD 7.0-RELEASE発表直後の開催となる,BSDに関連した国際会議,Asia BSD Conference 2008の開催がいよいよ今週後半(3月27~30日)に迫ってきたので注意喚起のため紹介しておきたい。Asia BSD Conference は2004年に台湾で,次いで2007年に東京大学で開催され,東京理科大で開催される今回で3度目を数える。一般論文と招待論文からなる本会議ならびに,先立って開催されるチュートリアルから構成される。
プログラム をざっと拝見したところ,今回のテーマであるSMPに関連してRandall Stewart氏による「P8B: Reducing Lock Contention in a Multi-Core System」,来週紹介する予定のファイルシステムに関しては「GEOMクラス」の活発な開発者であるPawel Jakub Dawidek氏による発表,「P5B: GEOM-in Infrastructure We Trust」や,BSD創成期から今日まで継続した息の長い活動で知られるMarshall Kirk McKusick氏の「P9B: A Brief History of the BSD Fast Filesystem」などが筆者の興味をそそられる。
参加費についても学生登録料の異常な割安感は特別として,一般も食事付きでこの価格は破格のサービスといえる(もちろん技術評論社を始めとしたスポンサーの貢献大であると推察する)。筆者自身はヨーロッパ出張中のため参加できないのが残念だが,昨年と同様,今回も盛会となることを願っている。
止むことなきプロセッサの性能向上
最初電卓向けとして開発された「4004」から37年もの間,マイクロプロセッサは右肩上がりの進歩を続けてきた。マイクロプロセッサの性能の中でも処理速度は最も重要である。速度が向上することで複雑な情報処理にかかる時間が現実的な範囲にまで短かくなることで,結果としてより新しく高度な計算手法,新しいソフトウェアを生み出す原動力となるのである。実際,より高い機能を求めてソフトウェアの規模は膨れあがる一方なので,プロセッサの処理速度向上への要求は今後も絶えることが無いであろう。
筆者は簡単にマシンの性能を測定する指標として,カーネルのコンパイルにかかる時間を数年前から定点観測している。表1は4.6.2-RELEASEから7.0-RELEASEまでのバージョンのカーネルコンパイルにかかる時間をまとめたものである。4.6.2から4.8で所要時間が漸増したと思うと,Pentium MやCore Duoのような新しいアーキテクチャによって激減するなど,まるで最近の株価の動きを見ているかのようである。
表1 GENERICカーネルのコンパイル時間
| 4.6.2-RELEASE | 342秒 | Athlon | 900MHz |
| 4.8-RC1 | 360秒 | Athlon | 900MHz |
| 4.8-RELEASE | 114秒 | Pentium M | 2GHz |
| 5.3-BETA2 | 1611秒 | Athlon | 900MHz |
| 5.4-RC2 | 385秒 | Pentium M | 2GHz |
| 6.3-RELEASE | 586秒 | Pentium M | 2GHz |
| 7.0-RELEASE | 925秒 | Pentium M | 2GHz |
プロセッサの性能向上は,半導体製造技術の進歩によって,より微細なトランジスタや配線ができるようになったことが一番の原因である。プロセッサで用いられている「MOSトランジスタ」のON/OFFを切り替えるために,入力端子につながっているゲートキャパシタ(コンデンサ)中に電荷を充電ないし放電しているわけだが,ゲートキャパシタの充放電はさらに1つ前の段のトランジスタをONすることで行っている(ドミノ倒しを想像するとよい)。より微細な(専門用語では,ゲート長の短かい)トランジスタを作製することで,電流駆動能力が向上すると同時に駆動するべきゲート電荷量が減少するので,結果として充放電速度が向上するという仕組みである。
充放電速度が速くなれば,プロセッサのクロックを高めることができるので,筆者が小学生のころは数MHzがせいぜいだったクロック周波数は文字通り加速的に向上し,Pentiumの登場で100MHzの壁を突破,さらにPentiumIIIに至ってGHzの壁を突破するなど,トランジスタの微細と呼応してクロック速度が向上してきた。
ところがこの右肩上りの速度向上も2004年末にインテルが「4GHz Pentiumプロセッサの開発を断念」すると発表したところでひとつの転換期を迎える。チップあたりの発熱量が技術の限界に近付いてきたことが理由であった。
というのも,トランジスタは状態を切り替えるたびに電荷を電源から取り,グランドに捨てているので,電荷を捨てるエネルギーは最終的には熱に変わる。1回1回の充放電で生まれる熱量は小さくても,クロックの掛け算によりまとまった量の発熱となり,これがたった1,2cm四方のチップから出てくるのだから無理もない話である。
代わりに取った戦略のひとつが,消費電力を絞ったプロセッサを1チップ中に複数導入し,マルチプロセッサの協働によって全体のスループットを向上させる戦略である。 その後Pentium D,Core Duo,Core Duo2といったマルチコアのプロセッサが2005年ころから登場しはじめ,現在ではマルチコアでないプロセッサを探すのが難しいほど,マルチコアの全盛期を迎えている。


