今月の Software Design : 2013/06 ( その 4 )

 「今月の Software Design 」の 6 月号の投稿の第 4 回目です。

 

○ リアルタイム分散処理 Storm

 リアルタイム分散処理システム Storm について、Storm とはどんなもので Hadoop とはどう違い、どういったことが出来るのか、そしてどういうアーキテクチャでどのように動作するかについて解説しています。また後半では、実際に入力の単語数をリアルタイムに計測する Storm プログラムを示し、ソースコードの中の処理を解説しています。また記事の最後で、記事で紹介したサンプルプログラムや Storm のインストーラを紹介しています。

 

○ Hive で Hadoop を活用してみませんか!

 Hive とは何で、どういう動きをするのかについて SQL と比較して解説しています。ここでは、 Hive が提供する SQL ライクなクエリ言語 HQL によって HDFS からデータを取得する仕組みについて紹介しています。特徴としては、where 節を指定した HQL を発行すると、裏で MapReduce ジョブが実行されるので、大規模なデータに対する処理でも短時間に結果を取得できます。記事の後半では、実際に Hive を動かしながら、どうやって使い、何に注意するかについて解説してくれています。

 

○ Ubuntu 13.04 "Raring Ringtail"

 今年 4 月にリリースされた ubuntu-13.04 について、昨年 4 月にリリースされた v12.04 と比べて何がどう変わったかについていろいろ紹介してくれています。まず Unity が更新されたことによるアイコン表示等の変更についてと、ファットな環境ながらも Nexus7 用の Ubuntu が提供された事を紹介しています。また、バックグラウンド側のトピックとして、カーネルのバージョンが 3.8.5 になったことと、Upstart のバージョンが 1.8 になったことについて取り上げて言います。またこれによって、ファイル変更からプロセスの起動ができる upstart-file-bridge や、upstart のイベント追跡ツール upstart-monitor そして user session といったツールが追加された事を取り上げています。そして、X Window System に変わって Mir ディスプレイサーバを利用することで、デスクトップ環境だけではなくモバイル環境に向けてますます進出してゆくといった内容を書いています。

 

○ プログラム知識ゼロからはじめる iPhone ブックアプリ開発

 先月に引き続き、写真集アプリ開発を通した Xcode の使い方についての内容になります。今回は、前回簡単な GUI 操作だけで作成した写真集アプリに、前後へのページ移動と、写真をタップしてページ遷移するイベントハンドラの登録処理の方法について解説しています。

 

○ ハイパーバイザの作り方

 前回に引き続き、ゲスト OS とハイパーバイザとの間での処理の行き来について解説してくれています。具体的には、ゲスト OS がハイパーバイザの介入が必要な処理( I/O の発行とか)を発生させ、処理がハイパーバイザ側 (vmm.ko) に移った際に、各種レジスタを退避させ、イベントのパラメータから処理が分岐するまでについてのソースコードを解説してくれています。

 ハイパーバイザの介入が必要な処理は、外の世界とやり取りする処理だと思うので何となくわかりますが、/usr/sbin/bhyve にハンドルさる必要がある処理とは一体なんだろうか?