こんにちは、びしょ〜じょです。というわけで富士通のインターンに行ってきました。イェーイ御社〜〜ッ

「寝てた」とか「鹿を刎ねた」とかしかインターンについてあまり触れていないので(まぁどちらも事実ですが)、OSSを触っていたので、成果は是非発信して欲しいということでね、うん。

でも鹿を刎ねたのは本当にすごく興奮しまして。高校の友人と静岡近辺を車で散策していたわけですが、4人のうちボクだけ自動車運転免許がなくて。 伊豆半島からの帰りに山道を通ったわけだがそこでね、ドーンという感じに。助手席に座っていたので大迫力だった。 軽自動車に座っていて目線の高さが鹿の背中だったのでなかなか立派な鹿だったと思う。交差点付近のため減速中だったので車が凹んだりはしなかった。鹿も死ななかった。 4人中ボクが一番興奮してドライバーが一番青ざめていた。でもその1hくらい後にはドライバーも刎ねられた鹿の真似(?)を始めて、うん。


Btrfs on Bcacheの性能調査

Linux3.10でメインラインにねじ込まれた、SSDを他のデバイスのキャッシュとして扱うという機能がBtrfsの上でもちゃんと動くのかということをまずひとつやった。

Fedora22、社のデカいマシンの1ノードを使った。X5690とかそのへんのが積んであった。メモリが16GB。

ベンチマークの自動化スクリプトではシェルスクリプトを500行くらい書いた。ShellCheckの教えにより全然知らない記法などを覚えたり脳が柔軟になってawk1つで結果の統計が取れたりするようになった。

FIOのパラメータ調整は職人感があって、メンターの方も以前やったベンチマークのパラメータを見せるだけで、「あとはがんばってくれ」という感じになった。 FIOを使ったことがなかったのでパラメータ調節にはだいぶ手こずった。最終的にはこんな感じだったと記憶している。記憶の中なので違うかも。

[global]
stonewall
direct=1
bs=4m
size=40m
jobs=100
iodepth=32
io_dept_batch=32

[job1]
rw=randread

[job2]
rw=randwrite

成果

結果はこんな感じ。RAIDはBtrfsの機能で組んだやつ。なので比較のXFSはシングルデバイスのみ。 Btrfs RAIDもデバイス数は最小(RAID0は2つ、RAID5は3つ)。BcacheのモードはWriteback。単位はIOPS。

read write
Btrfs Single 500 500
XFS Signle 500 500
Btrfs Single Bcached 500 3000
XFS Single Bcached 500 2200
Btrfs RAID0 500 500
Btrfs RAID5 500 80
Btrfs RAID0 Bcached 500 3300
Btrfs RAID5 Bcached 500 80

RAID0がSingleと同じ速度というのはなんかおかしいんだよな…。 SSDもHDDも型が古かったのでもう少しいいものを使えば結果が変わりそう。 readはキャッシュに当たらないので変わらない。Single/RAID0なら書き込みが6倍速という結果になった。 Btrfsの他のモードはほとんど変わらなかったので割愛だにゃ。他のRAIDとか、デバイス数との関係とかは皆さん頑張ってくれ給えよといった具合に。 RAMをブロックデバイスにしてSSDのキャッシュデバイスにするとかできるのかな、できたら楽しそう。

Bcacheについて

ファックです。ベンチマーク自動化スクリプトの一番の障害だったのがBcacheです。まぁmake-bcacheは許すよ。うん。 でも解除の方法が適当なファイルに1やUUIDを書き込んでwipefsでキレイにするというね、面倒。 うっかり変なファイルに書き込むとカーネルパニックしたりBcache作成時に何故かカーネルパニックしたり、お前なんでマージされたんだよ…。

インターンについて

というわけでね、上記ともうひとつやったけどこれは成果0なので割愛。

社員寮に1ヶ月住んで、休日は本を読んだり港へ行ったり山を登ったり、友人と静岡旅行したりとそれなりに楽しかったが、平日はつらかった。 寮なのになぜか社までバスで40分もかかるところに立地しており朝は0700くらいにおきる必要があった。 帰ってからもめぼしい飲食店はなく、唯一まともだった大勝軒ディストリビューションに行くか、あるいは近所の薬局で50%引きの食パンを食べては枕を濡らす日々だった。

ボクが配属された部署は社の中でもだいぶ特殊なようで、にわかに恐れていた挨拶をしないと殺されるとかそういう感じでは全く無くて安心した。 会社ではまぁ普通に。先述の通りベンチマークを眺めながらだんだん意識が遠のき…とかカフェオレを飲みまくって腹を壊してトイレにこもるというのを日中何回もやったりしていた。 技術的な議論がよく聞こえてきて面白かった(小並感)。 最終日前日はもうやることがなくなったのでサーバールームや社員研修として社の概要や変遷を聞くコースなどに行き、京の1ノードや海底の光ケーブルなどを見た。

インターンは他の営業所でも行われており、最終日は横浜でそのインターン生たちの成果発表会という感じで発表をした。 人数が70人くらい居たので、8人ほどのグループに分けられてその中で発表という形になった。 SEなどのみならず営業のインターンとかもあって、その発表では本当に圧倒的成長みたいな感じで…「サークルにバイトがんばってます! 将来は自分に何ができるかを考えて、営業でお客様に笑顔を届けるのがry」…正直聞いててげっそりした。 でもVirtuora NCでXMLで設計を書けばちょっとしたネットワークを簡単に作れるし監視などもできるしみたいな発表は面白かった。Fujitsuの製品なのでメンターも気合が入っていたんだろう。

で、沼津工場にはボクの他に2人いたわけだが、一人はOpenStack上に構築したブツをIronicを用いて物理マシンにスッと置くということをやっていた。 もう一人はDockerの調査でrunCとか調べてた。

沼津編おわり


GitHub PagesとJekyll

当サイトがね、うん。

Jekyllのプラギンなどを用いてスマートに書きたいということで、こちらを参考にした。 それはよかったんだけど、GitHub jQuery Repo WidgetがGoogle Chromeで見てみると表示されず…なんでや…。

早く世界中のブラウザがひとつになってほしい。

追記

これはこういうことです。

追記おわり


シェル力極まってtmuxのステータスラインに表示するためのスクリプトとかも書きなおしてみたらパイプでつなぐなどするとワンライナーに収まったりして気持ちよかった(小並感)。 またちまちまと書いているMoonScriptのSyntastic向けのチェッカも2倍速になった(元がひどすぎたのもある)。

アイカツもいよいよ149話まで観たし本当に最高だった。感極まって叫んだりして、同居していたインターン生のインディアン先輩には申し訳ないと思っている(おわり)。