Folding@home

PC Dec 11, 2006

Folding@home
Folding@home Logo

Windows DesktopではUDの Cancer Research Project にもう2年くらい参加してるんだけど、Core2Duo serverのほとんど余ってるCPUリソースとそれを動かす電気代を似たようなFolding@homeというGrid Computingを使った研究プロジェクトに提供する事にした。ほんとはUDが良かったんだけどLinuxでは動かない。(UDの前は宇宙人探しのSETI@homeやってた。。宇宙人はこの広い宇宙どこかにいるとは思うんだけど、わざわざ探す必要は無いんじゃないかと思ってUDに乗り換え。映画の’Contact’はすごく好きなだけに複雑な決断だ、、、)

Folding@homeはたんぱく質の畳み込みの計算をしてる。アルツハイマー、がん、パーキンソン病などの研究にその畳み込みの計算が役に立つようだ。いつもの様に詳しい事は分らないが、多少は役に立つかもしれないというのと参加する事自体が面白そうだという動機で参加。

Core2Duoに最適というSMP向けのx86_64 binaryをinstall。これを動かすとプロセスが4つ起動する。top見ると%CPUの合計が100%越えてるけど、こういう物なのかな?

PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND        
34  19 99.9m  65m 2544 S   63  6.7 304:20.48 FahCore_a1.exe
34  19 91328  55m 2348 S   59  5.7 279:30.59 FahCore_a1.exe
34  19 85556  49m 1940 S   40  5.1 189:51.87 FahCore_a1.exe
34  19 84728  48m 2268 S   26  5.0 128:35.64 FahCore_a1.exe

UDだとどのwork unitも必要なcpu timeは同じだが、Folding@homeの場合は毎回送られてくるwork unitのタイプ(project)が違っており、それを処理するのに必要なCPU timeも違う。最初に送られて来たのはP3020。このwork unitを終えるのに約15時間かかった。その次に送られてきたP2605ってのを今やってるけど、これは30時間かかりそう。

• • •

kernel-2.6.18

PC Dec 11, 2006
BGM: /

ソースパッケージのlinux-source-2.6.18がリリースになったのでコンパイル。ICH8のGbEtherが使えるようになったのを確認。DEC 21140 PCIカードは取り外した。—–

• • •

server upgrade

PC Dec 02, 2006

液晶の壊れたDynabook SS 3440にDebian載せてもう4年くらい家のserverに使ってた。さすがにそろそろHDDあたりがやばいんじゃないかとserverを一新する事にした。あと、Windows Desktop PCに入れてあるiTunes libraryを多少安全なdiskに移したいというのも理由の一つ。(触れないくらいの温度で24時間稼動、、、)TeraStationの様な’NAS’として売ってる製品も考えたが、Linuxとしていじる時に普通のx86 PCの方が楽な気がしたのでそれは選択肢からはずした。PCは以下の構成。

  • CPU: Intel E6300 (Core 2 Duo 1.86GHz, cache 2MB)
  • mother board: Intel DG965WH
  • memory: DDR2 5300 (667MHz) 1GB
  • HDD: Maxtor DiamondMax21 320GB (SATA2) x4

用途的には世代遅れのCPUで十分だし電気も食わないんだけど、なぜか Core 2 Duo にしてしまった。LinuxはDebian Etch amd64 (kernel 2.6.17)でdiskはmd Raid5 + LVM2。

Debian installer boot from CD-ROM

まず、install packageをダウンロード。Debian の testing netinstall(netinst CD image amd64)。PATAに繋いだCD-ROMから無事にboot。しかし、bootしてからPATAのCD-ROMをkernelが認識してくれなくて、installerを先に進めない。。。ググると、これはSATAとPATAの混在システムで起きる問題っぽく、根本的解決方法が無いっぽい。しょうがないので、USB Flash memoryからinstallする方法で行く。

create bootable USB Flash memory

USB Flashをbootable deviceにするためにはUSBにアクセスできるLinux machineが必要。DynabookはあいにくUSB portが無い。しかしこれからDebianをinstallしようとしてるmachineがCD-ROMからbootだけはするのでその環境をbootable USB Flashを作るだけのために使えた。

  1. hd-mediaのboot.img.gzをダウンロード
  2. WindowsでもMacでも、とにかくbootに使うUSB Flash(fat file system)にboot.img.gzとCD-Rを作るときに使った .iso fileを書き込む。(Flash memoryの中身は後で全部消える事に注意)
  3. CD-Rでboot
  4. bootしたらUSB Flash memoryをUSB portに刺す
  5. Alt-F2でconsoleを出す
  6. 以下の操作でbootable USB flashを作る
    # mount -t vfat /dev/sda1 /mnt
       (/dev/sd*は/var/log/syslogでどのdeviceが割り当てられたか確認)
    # cp /mnt/* /tmp (boot.img.gz と .isoを/tmpにコピー)
    # cd /tmp
    # umount /mnt
    # zcat boot.img.gz > /dev/sda (flash memoryは完全に上書きされる)
    # mount /dev/sda /mnt
    # cp /tmp/<.iso file name> /mnt
    # umount /mnt
    # reboot
  7. BIOSをUSB flashからbootするように変更
  8. USB flashからboot、そしてinstallerに従ってinstallを進める

そういえば、最初 iPod ShuffleをUSB Flashとして使ったんだけどbootしなくてだいぶ悩んでしまった。ShuffleはUSB Flashのようであって、単純なUSB Flashでは無いっぽい。。。でわざわざ新しくUSB Flashを買った。

さらにもう一つ。ICH8のEthernetは認識してくれなかったので、余ってたDECの21140 PCI cardを使ってる。(kernel 2.6.18からはICH8をサポートしてるらしい。)

Debian Installer: HDD partitioning issue

md RAID5+LVM2にroot以下、/boot以外の全部を置く方針。Debian installerもそれをサポートしてるような事が書いてあるのを見たんだがRAID5を設定するとinstallerがfailしてそれ以上は進めなくなる。妥協案として、一つのHDDに素でinstallし、そこからbootしたDebianで他の3つのHDDをRAID5+LVM2(HDDが一つ足りないdegraded arrayとして)に設定し、bootしたHDDの中身をdegraded arrayにコピーし今度はそっちをboot diskにしてbootした後、RAIDになって無いさっきの残り1つのHDDをRAID5に加える、、、という面倒な方法を取る。

こっから下はInstallerでRAID5+LVM2を作れるようになったら全くいらない作業。

  1. USB Flashからのinstallerの続きで、partitionのstep
  2. /dev/sda /dev/sdb /dev/sdc /dev/sddがある内、/dev/sddをinstallに使う。いずれにしても、後でこのdiskは消す事になるので、何も考えずにguidedの1 partitionでpartitionを切る。
  3. installを進めて、reboot
  4. cfdiskで以下の様にこれからRAIDにするdiskを切る
    sda: sda1 320GB fd,  sda2 300MB 82,  sda3 200MB 83 bootable
    sdb: sdb1 320GB fd,  sdb2 500MB 82
    sdc: sdc1 320GB fd,  sdc2 500MB 82
  5. まずHDD3個だけでRAID5 arrayを作る (sdd1 = missing)
    # mdadm -v --create /dev/md0 --chunk=128 --level=raid5 --raid-devices=4 \
        /dev/sda1 /dev/sdb1 /dev/sdc1 missing
  6. LVMでpartitionを切る
    # pvcreate /dev/md0
    # vgcreate vg00 /dev/md0
    # lvcreate vg00 -n usr -L 10G
    # lvcreate vg00 -n tmp -L 10G
    # lvcreate vg00 -n home -L 90GB
    # lvcreate vg00 -n root -L 700MB
    # vgdisplay  (Free PE を確認)
    # lvcreate vg00 -n var -l 200190
  7. partitionを切った結果を確認
    # pvdisplay
    # vgdisplay
    # lvdisplay
  8. ext3でformat (stride size = raid chunk size / fs block size)
    # mkfs.ext3 -b 4096 -R stride=32 /dev/vg00/usr
    # mkfs.ext3 -b 4096 -R stride=32 /dev/vg00/var
    # mkfs.ext3 -b 4096 -R stride=32 /dev/vg00/tmp
    # mkfs.ext3 -b 4096 -R stride=32 /dev/vg00/home
    # mkfs.ext3 -b 4096 -R stride=32 /dev/vg00/root
    # mkfs.ext3 /dev/sda3
    # mkswap /dev/sda2
    # mkswap /dev/sdb2
    # mkswap /dev/sdc2
  9. /dev/sddの中身を全部RAID5+LVM2のpartitionにコピー
    # mkdir /target
    # mount /dev/vg00/root /target
    # cd /target
    # mkdir usr home tmp var boot
    # mount /dev/vg00/usr /target/usr
    # mount /dev/vg00/home /target/home
    # mount /dev/vg00/tmp /target/tmp
    # mount /dev/vg00/var /target/var
    # mount /dev/sda3 /target/boot
    # tar clf - --preserve --same-owner --exclude=/proc/* --exclude=/sys/* / \
       | (cd /target; tar xvpf - --preserve --same-owner)
  10. chroot
    # chroot /target
  11. /etc/fstabのedit
    /dev/mapper/vg00-root  /        ext3    defaults,errors=remount-ro 0       1
    /dev/sda3              /boot    ext3    defaults        0       2
    /dev/mapper/vg00-home  /home    ext3    defaults        0       2
    /dev/mapper/vg00-tmp   /tmp     ext3    defaults        0       2
    /dev/mapper/vg00-usr   /usr     ext3    defaults        0       2
    /dev/mapper/vg00-var   /var     ext3    defaults        0       2
    /dev/sda2 none            swap    sw              0       0
    /dev/sdb2 none            swap    sw              0       0
    /dev/sdc2 none            swap    sw              0       0
    # /dev/sdd2 none            swap    sw              0       0
    /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
  12. edit /boot/grub/menu.lst , 新しい/bootと/rootの位置に path を変更。/bootは/dev/sda3なのでroot (hd0,2), kernel root optionとして実際の/の位置 (表記が/dev/vg00/rootでは無く/dev/mapper/vg00-rootである事に注意)
    title           initrd.img-2.6.17-2-amd64
    root            (hd0,2)
    kernel          /vmlinuz-2.6.17-2-amd64 root=/dev/mapper/vg00-root ro
    initrd           /initrd.img-2.6.17-2-amd64
    savedefault
  13. boot loader を MBR へ書き込み
    # grub
    grub> device (hd0) /dev/sda
    grub> root (hd0,2)
    grub> setup (hd0)
    grub> quit
  14. rebootでRAID5+LVM2のシステムへ
    $ df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/vg00-root   705512    165024    504648  25% /
    udev                     10240        68     10172   1% /dev
    devshm                  500476         0    500476   0% /dev/shm
    /dev/sda3               186671     25734    151298  15% /boot
    /dev/mapper/vg00-home 92891128   5757032 82415504    7% /home
    /dev/mapper/vg00-tmp  10321208    154240   9642680   2% /tmp
    /dev/mapper/vg00-usr  10321208   1055296   8741624  11% /usr
    /dev/mapper/vg00-var 807112304 246857180 519256212  33% /var
  15. /dev/sddのpartitionを切る (sdd1はmd0の一部になるので、sda1,sdb1,sdc1と全く同じに)
    sdd: sdd1 320GB fd,  sdd2 500MB 82
  16. reboot (rebootしないと新しいpartition tableが認識されなかった。?)
  17. RAID5 recovery
    # mdadm /dev/md0 --add /dev/sdd1
    # cat /proc/mdstat
    Personalities : [raid5] [raid4]md0
          : active raid5 sdd1[4] sda1[0] sdc1[2] sdb1[1]
          936042624 blocks level 5, 128k chunk, algorithm 2 [4/3] [UUU_]
          [===>.................]  recovery = 15.3% (47947392/312014208)
                 finish=71.0min speed=61934K/sec unused devices: <none>
  18. # mkswap /dev/sdd2
  19. /etc/fstabに追加
    /dev/sdd2 none            swap    sw              0       0

kernel compile

root-on-LVM2-on-RAID5のときのinitrdの作り方が良く分らなかったんだが、–initrdをmake-kpkgで付けてcompileした新しいkernelで問題無くbootした。

# make-kpkg --initrd --revision=custom.1.0 kernel_image
• • •

Death Cab for Cutie tour

Death Cab for Cutie

HoustonであったDeath Cab for Cutieのライブに行ってきた。まだこのバンドを知ってから日が浅いんだけど、一気に気に入ってしまったのと時を同じくしてtourやってたのでチケット取った。

雪が降って道の凍るDallasを2:30pm頃出発して、Houstonに着いたのは7pm前。路面凍結のせいで渋滞してたのでDallasを出るのに時間食ってしまった。ほんとは飛行機で行きたかったけど、ライブの終わる時間頃はもう飛行機飛んでないので。まあ、運転は嫌いじゃないのでいいんです。

まずはOK Goっていうindie rock bandがopening。音楽は僕の好みでは無いんだけど、最後の踊りが良かった!そう、演奏終わってback stageに戻っていくかと思いきや、踊りだしたんです!劇団鹿殺し風(知ってるかな??)。その踊りで、このバンドなかなかやるなあとちょっと気になってしまった。

そして、Death Cab for Cutie。今までCDを聴いただけのイメージでは大人しいstudio bandって感じだったんだけど、予想外に完全にlive bandでrock bandだった。彼らの曲は哀愁が漂ってる曲が多いと思うけど、ライブの激しい演奏とその哀愁がすごくマッチしてたと思う。

彼らのパーフォーマンス最高でした。特にBenの多彩さは尊敬できます。かっこ良かった。(OK Goもそうだったけど、ギター弾くボーカルはかっこいい!)

なんで今までこのグループ/アーティスト知らなかったんだろうとまた悔やんでるパターン。自分の音楽の趣味も刻々と変わってる訳だからこれからもこういうパターンがいくつもあるんだろうなぁ、、、とCD聴いてliveの余韻に浸りながら深夜のハイウェイをDallasに向けて飛ばして4am頃帰宅。

• • •

Massive Attack tour in Dallas

Music Sep 17, 2006

Massive Attack
昨日の Mariah に引き続いて今日は Massive Attackのlive @ Nokia Theatre 行ってきた。

これはめちゃくちゃ気持ちよかった!! かっこよかった!!

もう圧倒的な音の洪水。そう、圧倒的に空気が震えて音が溢れているんだけど、音楽としてのすごい気持ちのいい調和がそこにある。

そして光も。フロントからの照明は全く無く、バンドの背面からの照明でスモークがたかれる中バンドがシルエットで浮かび上がる。LED display が display としてだけじゃなく、照明装置の一部としても機能しててこれがまたかっこいい。

観客もかなり盛り上がりました。席を無視してステージ前に結構な人数が移動。係員も最初は注意してたが、いつの間にかそのままに。。

LED display には政治的なメッセージも display で次々と表示された。イラク戦争に関するものはアメリカ人を前にしては強烈だった。’American killed …..’と何人の人が’American’に’殺されたか’を数字で表示。僕も税金をアメリカ政府に払ってる身としては不本意ながらその ‘American’に入ってしまう。これらの各種政治的 message は彼らの web の top page で流れるのと同じような感じで次々と表示された。

今回の US tour は8年ぶりらしいんだけど今回 live に行けてほんとラッキー!!! 満足感でいうと昨日の Mariah より全然良かった。

明日から2週間ぶりに仕事に復帰する訳だけど、vacation の最後がすばらしい締めくくりになった。仕事できるかな、、、

forumのスレッド

• • •
Ippei813 top
October 2018
S M T W T F S
« Jun    
 123456
78910111213
14151617181920
21222324252627
28293031  
Original Wordpress Themes by priss, customized by Ippei