2010年4月23日金曜日

VMS はマルチコアプロセッサーに影響があるか

今日新しいセキュリティプラットホームを購入しなくてはならない場合、最新の技術だけでなく、将来の技術にも対応したものを探すことになります。コンピュータは進化しますが、なによりもソフトウェアアプリケーションが進化しなくてはなりません。

この記事はマルチコアテクノロジーの2つ目の記事です (前回の記事)

効率的にマルチコアのコンピュータを利用しないVMSソフトウェアを識別する方法は多くありません。

シングルスレッドソフトウェアはマルチコアプロセッサを利用できない

スレッドは実行の一つの流れです。あなたは、コールセンターで、連続的に電話に答える人であると考えてください。その人は一度に一つの電話しか取れないし、次の電話に移る前に今の通話を終わらせる必要があります。

マルチスレッドのシステムはコールセンターで同時に複数の専門家が働いていと考えてもらえばわかりやすいでしょう。12人の従業員(12スレッド)がいますが、電話が4つしかないため同時に4人までしか働くことが出来ません(クアッドコアコンピュータ)。他方もし4つのコールステーション(クアッドコア)があっても従業員が1人(シングルスレッド)しかいないなら拡大は無駄で、一日のコール数は増やせません。

オペレーティング・システムは誰かいつ働くかを決める責任があり、そしてこれは非常に効率的です。殆どオーバーヘッド無しにスレッドを切り替えます。拡張性のアルアプリケーションは各ロジカルプロセッサにつき最低1スレッドを持っていなくてはなりません。Ex: クアッドコアプロセッサでは最低4スレッド

Windows タスクマネージャを使用することで、簡単にVMSアプリケーションがもつスレッド数を見つけることが出来ます。このテストをする際、できるだけ多くのカメラを表示することを忘れないでください。


ここでメモ帳とOneNote がマルチコアにあわせて作成されていないとわかります。各オペレーションが連続的に実行されるためにクアッドコアでは実行速度が上がったりしません。メモ帳などではこれは大きな問題ではありませんが、ビデオ監視システムのようなリアルタイムアプリケーションにとっては非常に大事なことです。

効率的にプロセッサの負荷を分散

2つレベルの専門家を持つコールセンター例では; コールはレベル2の前にレベル1を通過しなくてはなりません。レベル1の専門家は100%忙しい状態にはなりませんが、レベル2で沢山の人が待つようになります。すべての専門化が等しく働くことが理想的です。同じロジックがソフトウェアにも適用されます。クアッドコアマシンを購入した場合、全てのコアを最大まで使いたい。

もしクアッドコンピュータ以上のコンピュータを持っている場合、VMSで簡単なテストを行えます。ビデオクライアントソフトウェアを立ち上げて、リソースの30%ほどを占有するようカメラを表示して、Windowsタスクマネージャのパフォーマンスタブを開いてください。 よい平行デザインはトータルコンピューティングパワーをうまく使うために負

荷をロジカルプロセッサへ均等に分散します。

Ex: Omnicast 4.5 SR1 LiveViewer が 4CIF 30 FPS で 32カメラをデコーディング。

全てのロジカルプロセッサは同じ程度の負荷を共有。


もし今使っているVMSソフトウェアがデュアル、もしくはクアッドコアマシンで調整されない場合、 8コアや16コアが出てくるだろうこの1年か2年の間に最低のVMSの一つになるでしょう。

次の記事で、マルチスレッディングプログラミングへの挑戦と平行プログラミングについて触れます。

0 件のコメント:

コメントを投稿

国産VMSは殆どが〇〇レベル

 前回 ......... 市場占有率は驚くほど高いのです。 もしくは高かったのです。........... ということを書いたのですが、日本製のVMSが市場占有率が高かった理由はただ一つです。 それは水と空気と安全はただ の日本特有の出来事です。 100%事後検証しかニーズが無...