図1

なぜ「自作」するのか? 『自作PCクラスタ超入門』Webあとがき

2018年12月、『自作PCクラスタ超入門』が刊行されました。同書は、並列計算のためのPCクラスタを、「安く」「手早く」「自分で」作るための指南書です。ノードとなるPCを組み立て、Linux環境でセットアップし、並列計算をノード内・ノード間で回すまでの手順を丁寧に解説しています。


【書籍目次】
1章 自作を選ぶ理由
2章 まずは単体ノードを作ってみよう
3章 ノード内並列をやってみよう
4章 ノード間並列をやってみよう
5章 並列クラスタ機として構成してみよう
6章 さらに効率的な運用を目指して
7章 サーバに「クモの巣を張らせない」ために
付録 本書題材「CASINO」と他の実用アプリとの類似/相違点

本書のカバーする領域(『自作PCクラスタ超入門』p.14)

著者の前園涼先生に、「自作のすゝめ」と題した「Webあとがき」をご寄稿いただきました。なぜ、いまPCクラスタを「自作」するのか?――本書発行後に見えてきた、その意義が語られています。

自作のすゝめ:『自作PCクラスタ超入門』Webあとがき

著:前園涼

著書『自作PCクラスタ超入門』を出版すると、Twitterでは割と反響があって、「クラウド化の時代にいまさら、自作!?」というコメントに、なるほど、「なぜ自作なのか」の意義づけを改めて整理して提示する必要があるなと感じたものである。「ホントにゼロから組み上げることができた」という感想を数多くいただいたが、なかには著書に沿って「単体が1台2万円弱、15cm角くらいのコンパクトPCを、2台並列させてみた」という事例を実際に見せてくれた方もいた。著書自体は、高性能CPUを利用して、実際に事業部レベルでのシミュレーション実務をこなせるレベルのクラスタ機を構築して使い倒すことを想定しており、その意義については本書第1章に詳しく書いた。しかし、読者層の反響からは、むしろ、ラズベリーパイのような小さな単体を利用した「構築運用教材としての意義」を大きく汲み取ることもでき、以下に述べるように、こちらこそが「なぜ自作?」という問いに対する答えとしてより適しているかもしれない。

筆者自身が30代半ばまでコンピュータアレルギーであったという黒歴史からも、初学者の抱える「習得への障壁」を共有している自信はあるのだが、その最大の障壁とは「コンセプトとモチベーション」であると認識している。先日、協働先の実験系研究室(一流の成果を出している日本における代表的なグループ)の学生から、「スパコンごとでプログラムの性能が違うとか、走る/走らないというのはなぜなのか」といった質問を受けた。ああ、わかるわかる、初学者的に把握されるのは、あくまでもプログラムであって、「機械語に翻訳されたバイナリ」というコンセプトは、だれかが丁寧に解説しないと、上記のような素朴な疑問で足が止まってしまうものなのである。今の時代、なにごとも「ネットで調べろよ」と言われがちだが、その前提となるコンセプト(どういう役者が、どういう役回りで配役されているかというストーリーの舞台設定に関する把握)が理解されていれば、確かにネットで答えを探すことができる。しかし、コンセプト自体に明るくない場合、そもそも「検索しよう」というレベルにも辿り着けないし、検索で掛かってきた情報を読み解こうにもチンプンカンプンとなる。ましては専門家に訊こうと思っても、「こんな初歩的なことを訊いていいのか」と萎縮してしまい、やがて「まあ、いいかぁ、本務じゃないし」とモチベーションを失って習熟に至れないということになる。

コンピュータ利用技術に関わるコンセプトは、実に「字面ではわかりづらい」ものである(カタカナ用語が多すぎる)。今ではクラウド技術が浸透し、だれもがこれを利用し、コンセプト理解を難なくこなしている。しかし、Dropboxなどが登場したとき、今ひとつ「ファイルの実体はどこにあるの? ネットから外れていても使えるの?」という疑念から利用に踏み出せなかったことを思い出す。無線LANが登場したときも、長らく家庭用ワイヤレス電話の親機/子機のようなものだと勘違いしていた向きも多かったものである。結局、「字面で読んでもよくわからないが、実際に使ってみると慣れてきてナルホド納得!」という側面が大きい。

昔、国立研究所に勤務していたとき、サーバ利用技術に長けた先輩に、「どうやったら/何を読んだら利用技術に長じることができるのか」と訊いた。確言された答えは、「まあ買ってみて、自分で動かしてみること、そうしないと身につかない」というものであった。筆者の長らくの「パソコンに触れたくもない」という意識が徐々に消えていったのは、思い切って2万円弱出費して自分で購入したソフマップの中古Macからであったし、自作並列技術の習得も、予算で「買ってしまった」Xserve箱の山が後押しした。字面ではなかなか理解しにくいコンピュータに関わるコンセプトも、実機を作って動かしてみれば容易に習得できる。この経験はそのことを強烈に筆者に印象付け、自信を与えてくれた。

Xserveにより構築した自作クラスタ(『自作PCクラスタ超入門』p.25)

コンピュータの設定や利用に関しては、アップデートされた技術的詳細知識をインターネットから獲得することができる。こうした内容をカタログ羅列的に書籍にしても、その内容は、あっという間に陳腐化してしまう。インターネット知識と差別化された「書籍の役割」とは、読者がモチベーションを維持しつつ、手を動かしてコンセプト習得できるような解説を語り口よく提供することであるという意識のもと、『自作PCクラスタ超入門』では筆を進めたものである。その意味で改めて、本書は「コンセプトの理解自体に今ひとつ自信がもてない読者層」に向けた、真の意味での初学者向けガイドとして構成している。本書を通じて身についたコンセプトは、陳腐化する技術情報ではなく、読者にとって、その後何十年にわたって意味をもつものとなっている。

冒頭の書き出しに戻れば、本書は「自作」クラスタを教材とはしているが、これを通じて習得されたコンセプトを用いて、クラウドマシン(ネット上で提供される仮想マシン)を用いた並列環境構築に取り組むこともできるし、あるいは本書の内容を、自作購入キットではなく、クラウドマシン上で実施することもできるだろう。もちろん、上述の例のように、「自腹を割いて購入したパーツ」が与える心理的影響、「せっかく買ったので動かさないともったいない」、「新品パーツを開梱するワクワク感」というモチベーション加速効果は大きく、ここに「敢えて自作」という理由付けも可能であろう。

ノード単価2万円以下で自作した例を紹介したが、実機をシミュレーションの実践に利用することとは切り離して、並列処理の教材として利用する例も耳にしている。シミュレーションに興味をもっている先生が、若干の教材費を割いて研究室の学生に本書をトレースさせて、研究室としてシミュレーション基礎技術を修得するという事例である。実機があれば、「じゃあ、スイッチを変えたときはどうか、コンパイラを変えてみるとどうか」といったように、知的好奇心の赴くままにいろいろと試してみることもできる。構築したクラスタ機は、バラしては、再度、後輩の教材として使い回すこともできる。その際、読者が「後輩にキチンと教えられること」こそが、本書の内容に関する最良の到達度試験となるだろう。

前園研の初期のLinux自作クラスタ(『自作PCクラスタ超入門』p.61)

前園涼(まえぞの・りょう)
北陸先端科学技術大学院大学 教授


この記事が気に入ったらサポートをしてみませんか?