学生実験

来年度から学生実験を受け持つので、実験設備について検討しています。実験を選択する学生の間での公平を期すために、実験内容については書きません。シラバスで公開される情報がすべてになります。

実験環境を設計するにあたって以下の点を考慮しています。

(1)全員同じ環境になること
(2)実験設備(ハード)のセットアップが簡単なこと
(3)できる限り安定した実験環境になること
(4)実験のための説明に時間がかからないこと
(5)ツールやデータ(ソフト)のセットアップに時間がかからないこと

(1)については、たとえば学生の手持ちのノートパソコンで実験をしてもらうことにすると、当然性能の良いパソコンを持っている人の方が処理が早く終わり有利になります。実験内容によっては、有意な差にはならないこともあるとは思いますが、私が予定している実験はCPUパワーとメモリが必要なものなので、PCの性能がかなり影響します。

そこで、全員同じ1台のサーバに接続して、実験してもらうことにします。1度に実験する人数は数人ですので、4または8コアのサーバーを1台用意すればなんとかなります。

(2)については、サーバーはLinuxマシンにして、クライアントをノートPCにします。これなら持ち運びやセットアップも簡単です。

(3)のために、ノートPCにはLinuxを入れてX 端末として使うことにします。ノートPCのLinuxをrun level 3にして、「X -query サーバー名」でXを立ち上げると、サーバーのコンソールと同じ環境になります(サーバーのgdmのcustom.confの設定が必要。あとファイアーウォールなども)。WindowsXmingなどを動かしてもいいのですが、Windowsの操作ができてしまうのと、Xmingの安定性がいまいちでしたので、クライアントのLinux Xサーバーからのxdmcpによる接続にします。

(4)については、emacsなどのエディタの説明をすると時間がかかるので、geditなどの普通のグラフィカルUIのエディタを使ってもらうことにします。

(5)については、サーバー側にgidを使って分けた学生のグループのアカウントを作成して、学生グループごとにアクセスできるデータを分けておくことで、1台のマシン上での作業で実験のセットアップができます。もしも、学生毎に独立した実験用PCを用意するとすると、台数分のツールとデーターの設定が必要になり、セットアップがわずらわしくなります。

参考までに、他に考えた構成

  • KVM over IP をサーバに接続して、クライアントPCからVNCを使ってサーバーを使う。(サーバーにログインできるのは1人のため不可。KVMも結構高い)
  • VNCをサーバーで動かして、クライアントのPCからVNCでアクセスする。(試していません。安定性とかどうでしょうか。実験中に学生のVNCが落ちたり、止まったりしたら困ります。想像では、LinuxベースのX端末の方が安定しているのでは)

(追記)

  • もうひとつ、クライアントのX Window上でXephyrという手もありますが、やはりローカルの環境をあまり触れない方が望ましいように思います。

実際にgdmで数台接続して試してみる必要がありますが、機材が揃うのは来年度になってからになりますので、すぐには確認できません。もしも不安定な要素が残っているようだと、最悪 screenの使い方を教えて、実験の実行状態だけは確保してもらうようにするしかないかもしれません。