LT-H90LAN

2009年2月12日木曜日

buffalo製のメディアプレイヤーを導入。これはどんなブツかというと、LAN接続しているPCなりHDD(NAS)に保存している写真や動画をテレビで再生できる箱。何がいいかって、LAN接続HDD(NAS)内のファイルを再生するときにPCを立上げなくても済むし画面もテレビに繋ぐので大画面で見れるということ。デジカメで撮った画像やネットで拾った動画がテレビで再生できるわけだ。普段PCを立上げっぱなしな人なら別にピンとこないけど、映像を見るためにわざわざPCを起動するのって何かと面倒だし、子供居るときPCに触って欲しくないんだよね。

同じ機能をもったので有名なのがPS3。こいつもLAN上にある写真や動画ファイルを再生する機能がある。ある意味一番普及しているメディアプレイヤーだ。この手の製品ってホントはもっと普及しても良いと思うんだけど、一番のコンテンツであるTV番組が地デジ化によってなかなか扱いづらくなってしまったので、なかなか流行らないってことらしい。家の中で録画した番組を家の中のどこでも再生して見たいというニーズはあるんだけどね。テレビ番組のレコーダーに録画した番組はそのレコーダーがある場所でしか見ることが出来ない・・・テレビが家に1台しかなけりゃそれでいいけど、今や各部屋にあるからね。1Fで録画した番組を2Fで見てみたい場合、一度DVDとかに焼いてから2Fに持ち運ぶしかないのが現状。しかも少し前は一度DVDに焼くと録画していたものが消えて無くなる。コピーワンスという制限があったためで、今は10回までOKとなっているという変な話。

ということで我が家でのこいつの主な目的は手持ちのDVDを家庭内のどこでもみれるようにしておくこと。いちいちDVD探したり子供が乱暴に扱って読めなくなったりする心配もなくなるわけだ。

Ready or not Ready?

2009年2月6日金曜日

Vistaで導入された新機能のうち、HDDのアクセスを回避してシステム全体のパフォーマンスを底上げする技術がSuperFetchである。これは単純なファイルキャッシュではなく、「次に使用されると判断されたデータ」を自動的にHDDからメインメモリに転送する技術だ。いつ?どんなシチュエーションで?どんなデータが使用されるのかをOS起動時からのアプリケーションの使用状態を記録して判断しているというのだ。

従来のファイルキャッシュではユーザーがアプリを起動しない限りデータは転送されない。しかしVistaではユーザーがよく使うアプリをCPUが空いている時間にあらかじめメインメモリに転送する。実際にアプリが起動するときにすでにメインメモリ上にデータがあればHDDから読まなくて済むわけだ。しかしいくら前もってHDDから転送するとはいえ、そのHDDが遅いとユーザーが実際にアプリを起動するときに間に合わなかったりする訳で、だったらよく使うデータをHDDではなくUSBメモリに一旦溜めておいて、そこから読み出せばいいんじゃね?というのがReadyBoost技術だ。最初ReadyBoostとなったUSBメモリの中は空っぽだが、CPU負荷を上げない様にVistaから導入されたLow Priority I/Oって技術で人知れずユックリとHDDからデータが転送される。(このため書き込み速度が多少遅いUSBメモリでも読み込みさえ速ければReadyBoost用メモリとして利用できる)そしてSuperFetchは読み込み速度が早いUSBからどんどんデータをメインメモリに転送していく。メインメモリに転送するときにUSBメモリからは読むだけで、もしそのタイミングでUSBメモリが使えなかったら、元々のデータがあるHDDから読みこめばいい。ということで、ReadyBoostのUSBメモリは突然抜いても大丈夫ということになっている。(この点、単純ファイルキャッシュだと読み込むべきモノが突然無くなるため、最悪の場合OSがクラッシュする)

Vista登場当時と違い、昨今の価格暴落(2Gで千円!!)でメモリも手軽に買えるようになった。メインメモリはOS管理限界の4G(正確にはもうちょっと少ない)まで積んでおまけにUSBメモリも4Gや8G当たり前ってご時世、ReadyBoostのような先回りしてメモリに転送するという奥ゆかしい動作よりも、単純にでかいファイルキャッシュとしての方がパフォーマンスが上がるんじゃないか?という感じだ。特にReadyBoostは1PCにつき1つのメモリデバイスしか設定できない。複数のUSBメモリを刺していてもReadyBoostに設定できるのはそのうちの1個だけだしそのサイズもOS側で最大4Gに制限されている。(NTFSでの動作も可能なだが、やはり上限は4Gだ)

アプリの起動状況を監視して先回り予測するという、なんかこう、CPUを無駄に使ってるんじゃないか?とも思えるVistaのSuperFetchだが、パフォーマンスモニタを使ってReadyBoostにどれだけキャッシュが転送されているか、また、どれだけ先回りできたか(ReadyBoostのキャッシュヒット率)をリアルタイムに監視することが出来る。HDDのアクセスランプだけでは判断できない。なぜならCPUが暇なときはせっせとLowPriorityI/O機能でSuperFetchがこれから使うであろうデータをのんびりとHDDからUSBに転送しているからだ。このSuperFetchの学習機能、起動時間が長くなればなるほど学習するため、よく使うアプリケーションはOS起動時にはReadyBoostによりあらかじめ準備された状態でメインメモリ上で待っているとのことだが、なかなかヒット率が上がらないのは何故なんだろう・・・