uhs

Unsung Heroes

HPC

10 9月

来週のbuild windowsカンファレンスで確認したいこと 3

 

開発関連

Visual Studioや.NETまわり

.NET関連

  • Silverlightのターゲットは? 〜 開発ターゲットとして、Windows Phoneは確実として、Windows 8でのHTML5との関係は? Xbox360でSilverlightは動くのか? ARM版のWIndows8でちゃんとSIlverlightが動くか?など。
  • HTML5+JavaScript と .NETの使い分けは? 〜 Windows8のタイルインターフェイス(特にスタート画面)はHTML5ベースになるという発表が行われて早1年、具体的にそれがどのレベルまで行われるのかがまだ見えてきません。Silverlightや.NETの存亡も危ぶまれるとうことで、Silverlihtはいずこへ?と思われた方も多いようですが、buildで決着がつくと思われます。
  • Windows Phone 7のアプリはWindows 8で動くのか? 〜 TechCrunchの記事のように、Metroインターフェイスだから動くかもしれないという予想や噂が出ていますが、動くとしたらどういう扱いか?Marketplaceを共有するほどシームレスか?開発者が対応すれば両方同じバイナリで対応できるのか?あるいは再コンパイルや画面サイズの手直しなどが必要か、はたまた、単にエミュレータが乗るだけか、まだ全く分からない状況です。
  • Expression BlendはHTML5/JavaScriptに対応するか? 〜 デザイナだけに使わせるには持ったいない、マジカルアプリデザインツール、Blendが使えるというだけで、他のプラットフォームはいらない、と思ってしまうほど評価しているのですが、これが来るべくHTML5ウェーブにものっかってくるのか、それとも別のツール(Expression Webとか)で従来のWebデザインの延長線上の発展なのか、気になります。VSでのHTML5はすでに行われているというので、こちらはそれほど変化なさそうです。
  • 従来型のWin32アプリケーションの扱いは? 〜 マルチウィンドウの生産性アプリなどを作ろうとすると、Win32の出番はまだまだ多そうなのですが、そのアプリケーションン開発はどの程度サポートしていくのか?
  • Silverlight5のNative Interfaceの用途は 〜 WP7とは違い、デスクトップ上のSilverlightでは昔からCOMインターフェイスなどを呼ぶことはできましたが、いよいよ本格的に触れるようになって、これまでのRIAの役目を超えた使い方が期待されます。たとえば、OS標準のプロセスモニタがSilverlightになるなど。
  • デスクトップ開発でのアプリケーションCertificationは? 〜 Windows Phone 7から始まったApp Store的アプリ検閲体制ですが、このモデルをデスクトップアプリのどのように持ち込むか?非常に管理された状態でそのまま持ち込むのか?ネイティブインターフェイス利用を許可した、かなり緩い体制で持ち込むのか、大いに気になるところです。
  • ARMターゲットのアプリをIntelマシン上で開発できるか? 〜 現在のバーチャルマシンはCPUの支援機構を大いに使っているので、他のCPUのエミュレーションとなるとガクっと速度が落ちそうですが、そんなことにならないでしょうか?ARMターゲットの開発はARMでということになると、非力なマシンでVisual STudioを動かすことになり、そもそも無理なんじゃないかと思いますが。

Server関連

Windows Server 8

  • Windows Home Serverの使い道は? 〜 Xbox360やWindows Phone 7との連携が期待されますが、メディア配信以外の使い道はあるのでしょうか?家庭内Lyncとか、Sharepointの簡易版とか、何か面白い使い方が眠っているような気がします。Windows 8タブレットとの連携も大変重要になってくると思います。特にテレビ関連。
  • 新しいWInFX的ファイルシステムとSQLServerの関連 〜 あまり把握していないですが、DB的なファイルシステムと従来のDBの関係はどうなるのでしょうか?Linqを使えばどちらも同じになるかもしれませんが、どの辺で使い分けをすればよいのか、トランザクションや容量などで差を持たせるのかもしれません。
  • Windows HPC Serverの方向性 〜 隠れたブームになりつつあるWHSですが、今年のMicrosoft Developer Forum 2011のキーノートで4本柱の一つになっていたので、本社でも相当押してくるんだと思います。Dryad Linqの発展や、他のマシン(MacとかLInuxとか)の取り込みなどについても聞いてみたいと思います。
  • Team Foundation Serverの方向性 〜 これも最近一気に廉価になり、VSS嫌いの人からも見直されている節のある製品ですが、よりモダンなコンテンツマネージメントやソース管理を取り込んでいくのか、nuGetなどライブラリパッケージングや新しいAppX配信パッケージのシステムを取り込んでいくと面白いと思うので、根ほり歯ほり聞いてみたいと思います。
18 6月

HPC Server 2008 R2のAzure利用に必要なポート

Windows HPC Server 2008 R2のAzureノードの利用で、行き詰っています。
Azureのノードをクラスタマネージャにて、ノートの追加まではできるのですが、そこからオンラインにすることができません。
追加した状態では、まだAzure側には何もノードらしきものはできていません。
下記などを読むと、ファイヤーウォール内の企業ネットワークからは少しポートを開ける必要があるようです。

Requirements for Windows Azure Nodes in Windows HPC Server 2008 R2

必要なノードは以下のようなものです。

80
443
5901
5902
7998
7999

Azure自体は特に問題なく仕えているので、HPC Server独自のポートだと思います。

以下MSエバンジェリストの高添さんに直接お聞きしたりしてみましたが、やはり仕様なので、今のところワークアラウンドらしきものは無さそうです。

Windows HPC Server という選択肢が見えてきましたね。

企業内の部門運用などが多いらしいので、この辺の制限は緩和されるとよいですね。
15 6月

Windows HPC Server 2008 R2でMatlabバッチ処理(その2)

Matlabはユーザごとのライセンスなので、前記の方法ですと自分のアカウントでインストールされたマシンでないとローカルでMatlabを起動できません。
そこで、一度実行したいユーザのアカウントでMatlabの実行をライセンスされたアカウントにパスして行うトリックを思いつきました。

いわゆる、Windows標準のタスク(スケジューラがあるやつ)として登録して、実行ユーザを指定して保存しておけば、そのタスクを起動するのは誰でもよいです。

以下にバッチファイルの内容を示します。


copy \\hpc\matlabcommandsweep.bat c:\
echo matlabcommandsweep %1 %2 %3 %4 > c:\temp.bat
schtasks /run /tn MatlabSweep


このバッチを呼ぶと、まずサーバに用意したバッチファイルをCドライブ直下にコピー、そしてそのバッチに引数を渡すためにもう一つのバッチファイルを生成、そしてタスクスケジューラの当該タスクを起動します。
タスクは単にtemp.batを呼ぶだけでOKです。
タスクは引数を取らないので、タスクごとに引数を伝搬させるトリックとなります。

ただ、これだと、スケジューラが非同期実行なので、HPC Server側からのタスクスケジューリングがうまくいかないんですよね。
タスクスケジューラのタスクを使っているのに、HPC Serverのタスクスケジューラとはうまく連携しないですね(わけがわからなくなってきた)
13 6月

Windows HPC Server 2008 R2でMatlabバッチ処理

Windows HPC Server 2008 R2が、かなり使いやすくなっているということで、実際に導入してみました。
MPIやSOAベースのアプリを作る以前に、単純な大規模データバッチ処理をやらせたい、というライトユース向けのツールが標準で備わっています。

Matlabで並列クラスタ処理を行わせたい場合、真っ先に思いつくのはMatlab Compilerにてコンパイルしたバイナリを単純に使う方法ですが、1)Compilerは高くて買えない場合、2)Compileでは使えないフィーチャーを使いたい場合、3)コンパイルが面倒な場合は、インタプリタのプログラムをそのまま使いたいはず。

Matlabには起動オプションとして -r をつけると、任意のコマンドを呼べますから、コマンドラインベースの自動化が可能です。
ただし、HPC serverから呼び出す場合は、若干工夫が必要でした。
注意事項をまとめると。

・-r オプションにて、コマンドを指定する。コマンドの引数のところに*を入れて、パラメータスィープするなどすれば、引数私もOK。
・当然-nodesktop -noslplash -minimize を用いてGUIの起動を軽くする
・matlabの-waitオプションをON。こうしないと、複数のインスタンスを一度に起動してしまい、都合が悪い。
・matlab側のコマンドはaddpathをして対応。

パラメータスィープでコマンドの1引数のみを変化させればよい場合は、これで十分かもしれません。
ファイル名を変化させたい場合などは、パラメータ番号と、内容をどこかにテーブルとしてもつことになるでしょう。

私の場合、以下のような方法でバッチファイルを組みました。
start /w matlab -wait -nodesktop -nosplash -r addpath('\\hpc\hoge\');%1(%2,'%3');exit; -logfile %4



徹底解説Windows HPC Server 2008 ―クラスタ構築と実践テクニック― (マイクロソフト公式解説書―マイクロソフトITプロフェッショナルシリーズ)徹底解説Windows HPC Server 2008 ―クラスタ構築と実践テクニック― (マイクロソフト公式解説書―マイクロソフトITプロフェッショナルシリーズ)
著者:鈴木 洋一、谷村 吉隆、柴田 直樹
販売元:日経BPソフトプレス
(2009-11-05)
販売元:Amazon.co.jp
クチコミを見る


はやわかり MATLAB 第2版はやわかり MATLAB 第2版
著者:芦野 隆一
販売元:共立出版
(2010-02-20)
販売元:Amazon.co.jp
クチコミを見る
27 4月

Dryad はすでにCTPだった。


今日のTech Fieldersでわかったのですが、DryadってすでにCTPで近々、HPC ServerやAzure関連のRTM版としてリリースされる予定だそうです。
軽くググったくらいでは簡単な概要とかしかわからず、入手方法もよくわからなかったのですが、かなり明らかになりました。このセミナーはネットではわからない情報が集約されていて、非常に出て有意義でした。

ダウンロードはHPC ServerのMS CONNECTでベータが手に入る状態です。
HPCのConnectサイト
(Age of Empire Onlineのベータテスタと同じ扱いか)

登録するとすぐにダウンロードができるようになりますが、そもそもDryadはWindows Server 2008 R2 SP1を要求するので、ちょっと個人ではトライしにくいですね。
でも開発&テストくらいはクライアントマシンでできるはずだから、少しトライしてみよう。

セミナーではDryadの説明は並列処理の歴史からMap Reduceとの違い、.NETとの関係など、ツボを押さえたもので、難解ながら、おおよそのイメージがつかめました。
特にDryadLINQの説明では、これまでのLINQにそれほど(ほとんど)手を加えずDistributed Queryが投げれる(という言い方でいいのかどうかもわかりませんが)とあり、もしかするとMap Reduceなどよりもかなり簡易に使えるのでは、と期待を持ちました。

ただDryadLINQの使い方はDryadのほんの一角だと思うので、アーキテクチャや並列処理の基本は理解していないときつそう。
DyradLINQの位置は以下のような感じ:



LINQ以外のDryadの使い方も見てみたいところです。

Windows Azure実践クラウド・プログラミングfor C#/Visual Basic/PHPWindows Azure実践クラウド・プログラミングfor C#/Visual Basic/PHP
著者:山田 祥寛
販売元:秀和システム
(2010-07)
販売元:Amazon.co.jp
クチコミを見る
Follow us on
記事検索
Application
primaryImage Download-JP-Med
Night Meets Light

screenshot_99 Download-JP-Med
Weekend Overdrive

primaryImage Download-JP-Med
家政婦のMTA
Google Sitemaps用XML自動生成ツール
Archives
楽天
  • ライブドアブログ