かんちゃんの備忘録

プログラミングや言語処理、ゲームなど知的好奇心のための備忘録(個人の感想)です。

研究室の計算機管理者のススメ(1)導入

計算機管理は辛くて楽しい

f:id:kanjirz50:20170216004304p:plain

研究をしながらの計算機管理は辛いですが、楽しいものでもあります。

計算機管理(Linuxを用いるもの)に興味がある人や、計算機管理初心者向けの内容になります*1

計算機管理は大変ですが、Linuxに関する知識が山ほど身につきます。

最初は分からないことだらけで、不安ばかり生まれます。 でも、怖じけず、力まず、着実にステップアップしましょう。

数回の記事に分けて、計算機管理について説明します。 今回は計算機管理者とは何かについてと、計算機の選定についてです。

目次

研究室における計算機管理とは?

一言でいうと、便利で安定した研究用計算環境を提供することです。 簡単に言いますが、覚えることや考えることが多いため実現するのが非常に難しいです。

また、計算機管理にばかり気をとられていると、本業の研究が進まず・・・(怒られます)

つまり、短時間で効率良く計算機管理について勉強し、実践することが求められます。

私の考える計算機管理者の心構えは以下の3点です。

  1. 広く落ち着いた清らかな心を持つこと*2

  2. ログや設定を確認すること*3

  3. Google先生でしっかり検索して、対処すること*4

さてさて、まずは、概要から掴んでいきます。

計算機管理がやること

ざっと挙げると、

  • 計算機の構成を考える
    • CPUやGPU、ストレージは何を選定するか?
    • 電源やネットワークの取り回しは大丈夫か?
    • 熱がこもらないか?
    • 予算
    • バックアップ設備や、冗長性
    • ・・・
  • ソフトウェアのセットアップ
    • OSには、どのLinuxを用いるか?
    • ユーザー管理に何を用いるか?
    • 共有ファイルシステムの構築
    • 権限の付与
    • 実験でよく用いるソフトウェアのインストール
    • セキュリティ対策
    • ・・・
  • 故障やトラブル対応
    • 代替機や交換品を用意する
    • 作業時間を見つける
    • 重くて運べない場合
    • ・・・

となり、またこれらが複合的に絡み合ってきます。 そして、具体的に何を選び何をするかと言われると、途端に頭が真っ白になります。

ということで、具体例を挙げてみましょう。

自然言語処理研究のための計算機構成

できる限り低価格な計算環境を構築しようと思います。 私が実際に選んだマシンを紹介します。

これを参考にしながら、研究室のニーズに合わせたものを構成するといいでしょう。

計算用マシンのスペック

  • CPU
    • Xeon E5-1650 v4 3.6GHz(12スレッド)
  • メモリ
    • 128GB
  • ストレージ
  • GPU
    • GTX1080 ×2
  • 電源
    • 1200W
  • 保証
    • 3年保証
  • 価格
    • GPU抜きだと、約30万円
    • GPU有りは、約45万円

計算用マシンということで、CPUとGPUのどちらもそこそこの計算ができるものを選びます。

CPUはXeonを選ぶことが一般的です。 理由としては、サーバー用であることや処理できるスレッド数が多いことが主に挙げられます。

GPUは、GPUの中でも安価なGTX1080を用います。 もし、大容量GPUメモリを希望するなら、Titan Xがいいでしょう。

メモリは、CPUとマザーボードの組み合わせが対応する上限を確認した上で、予算の許す限り購入することをお勧めします。 (べらぼうにメモリを積載できる組み合わせもありますが、価格は跳ね上がります・・・)

ストレージは、OSのインストールとtmpが利用できれば良いので、SSD 256GBあたりを選びましょう。 プログラムやデータなどは、ファイルサーバーに保存します。

ファイルサーバー・ディレクトリサーバーのスペック

  • CPU
    • Core i5-2500K 3.3GHz(4スレッド)
  • メモリ
    • 32GB
  • ストレージ
    • SSD 256GB×2台
    • HDD 4TB×2台
    • HD 1TB
  • 価格
    • 約15万円

CPUは、稼働時間などを考えればXeonがいいですが、Core i5ほどの性能があれば十分動作します。

メモリも、大量に必要なく8GBほどで問題なく動作します。

ファイルサーバーですから、ストレージは重要です。 そもそもPCケースにHDDやSSDが何台積載できるか確認しましょう。 また、マザーボードSATAポートがいくつあるかも確認しておく必要があります。(PCI Express接続でSATAポートを増やすことができます。)

ストレージは、以下の構成とします。

  • OSやhome用のSSD
  • ツールやアプリケーションインストール用のSSD
  • コーパスなど言語資源保存用のHDD
  • 研究データ保存用のHDD(RAIDが望ましい)

今回のまとめ

今回は、計算機管理者とは?というところについて説明し、実際の計算機例を挙げました。

次回は、OSのインストールディレクトリサーバー・ファイルサーバーの説明をしたいと思います。

*1:研究室の次期計算機管理者向けに、口頭や資料で伝えていることをまとめとして書いているつもりです

*2:忙しい時に故障や障害が生じて、イライラしがちです

*3:思い込みは、計算機管理の敵です

*4:先人の知恵を最大限に活用します