インターン、など
こんにちは、びしょ〜じょです。というわけで富士通のインターンに行ってきました。イェーイ御社〜〜ッ
ニャオ pic.twitter.com/9hZg8PvOvX
— びしょ〜じょ (@Nymphium) September 30, 2015
「寝てた」とか「鹿を刎ねた」とかしかインターンについてあまり触れていないので(まぁどちらも事実ですが)、OSSを触っていたので、成果は是非発信して欲しいということでね、うん。
でも鹿を刎ねたのは本当にすごく興奮しまして。高校の友人と静岡近辺を車で散策していたわけですが、4人のうちボクだけ自動車運転免許がなくて。 伊豆半島からの帰りに山道を通ったわけだがそこでね、ドーンという感じに。助手席に座っていたので大迫力だった。 軽自動車に座っていて目線の高さが鹿の背中だったのでなかなか立派な鹿だったと思う。交差点付近のため減速中だったので車が凹んだりはしなかった。鹿も死ななかった。 4人中ボクが一番興奮してドライバーが一番青ざめていた。でもその1hくらい後にはドライバーも刎ねられた鹿の真似(?)を始めて、うん。
Btrfs on Bcacheの性能調査
Linux3.10でメインラインにねじ込まれた、SSDを他のデバイスのキャッシュとして扱うという機能がBtrfsの上でもちゃんと動くのかということをまずひとつやった。
Fedora22、社のデカいマシンの1ノードを使った。X5690とかそのへんのが積んであった。メモリが16GB。
ベンチマークの自動化スクリプトではシェルスクリプトを500行くらい書いた。ShellCheckの教えにより全然知らない記法などを覚えたり脳が柔軟になってawk
1つで結果の統計が取れたりするようになった。
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%引きの食パンを食べては枕を濡らす日々だった。
楽しいインターンの様子 pic.twitter.com/OJOVeTf32h
— びしょ〜じょ (@Nymphium) September 4, 2015
ヤマノススメ 沼津アルプス pic.twitter.com/dBRAKs6mu3
— びしょ〜じょ (@Nymphium) September 12, 2015
— びしょ〜じょ (@Nymphium) September 22, 2015
ボクが配属された部署は社の中でもだいぶ特殊なようで、にわかに恐れていた挨拶をしないと殺されるとかそういう感じでは全く無くて安心した。 会社ではまぁ普通に。先述の通りベンチマークを眺めながらだんだん意識が遠のき…とかカフェオレを飲みまくって腹を壊してトイレにこもるというのを日中何回もやったりしていた。 技術的な議論がよく聞こえてきて面白かった(小並感)。 最終日前日はもうやることがなくなったのでサーバールームや社員研修として社の概要や変遷を聞くコースなどに行き、京の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話まで観たし本当に最高だった。感極まって叫んだりして、同居していたインターン生のインディアン先輩には申し訳ないと思っている(おわり)。