愛あるセレクトをしたいママのみかた

PlayStation 4採用話からNAS破壊まで - Meet BSD 2014

マイナビニュース
PlayStation 4採用話からNAS破壊まで - Meet BSD 2014
●人脈は製品に採用する技術を決定する重要な要因!?

11月1日・2日、米国のシリコンバレーで*BSD関連の会議「Meet BSD California 2014」が開催された。インターネット黎明期はエッジサーバとしての需要が高かった*BSDだが、現在ではエッジサーバのみならず高性能アプライアンスからコンシューマデバイスまで、組込み向けのオペレーティングシステムとして採用が進んでいる。

最近、最も多くの台数が出荷されたのはPlayStation 4だろう。PlayStation 4はFreeBSDベースのオペレーティングシステムを採用した。また、広く利用されている製品での採用例としては、MacのユーザランドにFreeBSDが使われていることも知られている。

この手の話はニュースで取り上げられるなど、表に出てくることは少ない。どの会社のどのデバイスがどのオペレーティングシステムを使っているかについては、ほんの一握りのエンジニアしか知らないことが多い。実際に顔を合わせて話をした時、「あぁ、あなたの会社のプロダクトもそのオペレーティングシステムを使っているのか」といったことが明らかになったりする。


しかし、技術というものは伝播し、改良され、改良されたものらが混じり合うことで発展する。エンジニアは各自が抱えている情報から新たな価値を生み出すため、交流し、議論し、実践し、日々自らの技術を発展させている。

*BSD系のエンジニアは世界で定期的に開催されている国際会議を通じてお互いの情報交換を図っている。代表的なところでは東京で開催されているAsiaBSDCon、カナダのBSDCan、ケンブリッジのBSDCam、欧州のEuroBSDConがあり、数年前からは米国でMeet BSDが開催されている。

Meet BSDは新しいカンファレンスだが、シリコンバレー(サンノゼ)での開催とあって有名企業からの参加者が多い。10年前ならMicrosoftやFacebookの関係者が話をすることは考えられなかったのだが、現在では当たり前の光景だ。

今年のMeet BSDは11月1日・2日に開催され、筆者も参加してきた。以下、筆者が面白いと感じたトピックを紹介しよう。


○人脈、ライセンス、技術、経営 - PlayStation 4での採用の理由は?
Meet BSD California 2014では、Sony Computer Entertainment AmericaのAlex Rosenberg氏がPlayStation 4について講演を行った。今回、筆者がMeet BSDに参加したのはこの話が聞きたかったこともある。どのような経緯で、PlayStation 4に採用する技術やソフトウェアを決定したのかを聞きたかったからだ。

技術的な詳細は省くが、*BSDがPlayStation 4のオペレーティングシステムに決定したのは次のような理由によるという。

同氏が個人的に*BSDのエンジニアと付き合いがあった
BSDライセンスがプロダクトに採用しやすかった
経営層とこのプロダクトを採用することで合意がとれた
活用できる技術が採用されていた(GEOM、LLVMなど)

プロダクトに採用する技術を決定する際は人脈も重要だ。問題や課題が発生した場合、その技術に詳しい人物に相談できるかどうかは、プロダクト開発の進捗にも影響する。適切な人脈があれば、開発者のアサインも容易になり開発も滞りなく進む。ライセンスや実装技術以外の要因も加味されていたことは興味深いポイントだった。


●デモで堅牢性が証明されたFreeNAS
○ハンマーでHDDを破壊しながら堅牢性をアピール -iXsystems FreeNAS/TrueNAS

数年前からFreeBSDベースのNASを開発するベンダーが増えている。ベンダーの規模はさまざまだが、FreeBSDにZFSが移植された辺りから、開発が活発になっている。そうしたプロダクトを提供しているベンダーの1つにiXsystemsがある。同社は今回、FreeNASで構築したNASを用いた面白いデモンストレーションを実施した。

RAIDを構築して活用しているエンジニアなら誰しも、「このRAID、故障した時にはたして、きちんと機能してくれるのだろうか?」と不安を覚えることはあるだろう。この手のプロダクトはロシアンルーレットのごとく、実際に壊れてみないとうたい文句どおりに稼働するかどうかわからないところがある。

iXsystemsはFreeNASで構築されたNASを披露。そこで、システムビルドを行いながら、会場のエンジニアに手伝いを求めた。
その手伝いとは、「ハードディスクを引き抜いてこのハンマーで破壊する」というものだ。10台以上のハードディスクが接続されたNASだったが、ブチブチ引き抜いて壊しても、最後の1台まで機能する、というデモンストレーションだった。

実際は、壊れないことを祈りながらシステムを構築するものだが、目の前でディスクが引き抜かれて破壊されながらも、ストレージは一切問題なく動いている様子を見るのは爽快というか、安心できるものがあった。実際に、動作中の製品を見ると技術が現実に変わったような気がするものだ。

○米国のWebトラフィックの34%以上を捌くNetflixの運用の秘訣

米国のインターネットのトラフィックの34%以上はNetflixが占めていると言われている。Netflixは米国におけるオンラインの映像ストリーミングサービス企業だ。Netflixは配信システムにFreeBSDを採用しており、ここ数年最も熱心なFreeBSDサポーター・ベンダーになっている。

NetflixがFreeBSDを採用したのは安定性や通信性能によるところが大きいが、同社自身もFreeBSDカーネルのパフォーマンス分析と改善に取り組んでいる。
今回Meet BSDに参加して驚いたのは、このNetflixでパフォーマンス分析などに取り組んでいるBrendan Gregg氏の発表が聞けたことだった。

現在、マルチコア/メニーコア構成のマシンの性能を出し切るには、小手先の改良では効果が薄い。肥大化し続けるカーネルとユーザランドすべてを常にプロファイリングして、小さな改善を続けると作業ことをしなければならない。万能の策というものは存在せず、根気の必要な作業をどれだけ諦めずに続けるかが肝要なのだ。

Brendan Gregg氏はカーネルやユーザランドのどの部分のモニタリングをするのにどのコマンドを使えばよいかなどについて、よくまとまった資料で発表した。これは多くのエンジニアにとって参考になる資料だ。プレゼンテーション資料はSlideShareにアップデートされると思うので、興味がある方は探してみてほしい。

カーネルおよびユーザランド全域は、DTraceで包括的にモニタリングできる。
Brendan Gregg氏からはDTraceの活用方法なども紹介があった。

○対面エンジニアリングが生む新たな発想という「報酬」

ソフトウェアというのは「開発」する人がいてこそ「発展」できるものだ。ソフトウェアを開発するには個々人の技量が必要だし、高性能なソフトウェアを開発するにはハードウェアの特性も理解する必要があり、設計のアイデアや概念、それをすぐれた実装に落とし込むスキルも思いつきも要求される。小規模のソフトウェアならまだしも、規模が大きくなってきたら他のエンジニアとの連携も必要になる。

こうしたことをどうやって実現するかは人それぞれだと思うが、1つの方法として他のエンジニアと「交流」を持つことは効果的だ。他のエンジニアとの交流によって自分がこれまで知り得なかった知識を得られる機会が生まれるとともに、自分の中になかった「発想」を得られる。自分だけでやっていたら何日もかかっていたような作業が、それに詳しいエンジニアと雑談をするだけで数分で解決することもある。得がたい経験だ。


インターネットが発展してコミュニケーションは飛躍的に「お手軽」になったが、得られる情報量が増えたことで、こうした情報の海をうまく航海してくための「航海図」や「コンパス」が必要になったこともまた事実だ。エンジニアによる対面の会話は時々こうした道標を示してくれる。それに、同じものを好む人たちとの交流というのはそれだけで楽しいものだ。

海外で開催されるこうしたカンファレンスで日本の方を見かけることはあまりないが、貴重な経験が得られる機会がたくさんあることはお伝えしたいと思う。自分の興味がある技術、興味があるソフトウェアのカンファレンスは世界中で開催されている。一度参加してみることは、自身のキャリアパスを構成するうえで、「得がたい」体験をもたらしてくれることは間違いないだろう。

提供:

マイナビニュース

この記事のキーワード