QNAP TurboNASのautorunについて

  • 投稿日:
  • by
  • Category:

QNAPの起動時にスクリプトを実行したい場合、普段はマウントされていないフラッシュメモリ部分をマウントして、そこにautorun.shを作って書き込んでいくという方法が定石でした。

多くのWebページで解説されていますが、次のようなものです。

mount -t ext2 /dev/mtdblock5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
umount /tmp/config

しかしここ最近、autorun.shが思い通りに動作していないことに気がつきました。どうやら、autorun.sh自体が実行されていないようです。

NAS本体がおかしくなったのかと思い、暫くほっといたところQNAP wikiのautorun解説に「 3.8.2以降のファームウェアでは上記の方法だと実行できない」と書いてあります。まさしくコレ、出来ないはずですわ。

回避策として、ファームウェア3.8.2以降のTurboNASのために新しい方法が紹介されています。NAS起動時にQPKGのアプリケーションの起動と一緒にautorun.shを実行してしまおうというもの。
Wikiの日本語訳になってしまいますが、簡単に書くと

1.SSHでNASに入ってqpkg.confファイルを開きます。

vi /etc/config/qpkg.conf

2.qpkg.confファイルの末尾に以下の文を追記します。

[autorun]
Name = autorun
Version = 0.1
Author = neomilium
Date = 2013-05-06
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun
Enable = TRUE

赤字の部分について、TS-112のような単一ドライブしかないTurboNASの場合、/share/MD0_DATA ディレクトリがないので "/share/MD0_DATA/" を "/share/HDA_DATA/" に置き替えてください。
例えば次のようになります。
   /share/HDA_DATA/.qpkg/autorun/autorun.sh   

3.上記の"Shell= "で指定したディレクトリを新規に作成します。

# mkdir /share/MD0_DATA/.qpkg/autorun

ここでも単一ドライブのNASの場合、/share/MD0_DATA/ → /share/HDA_DATA/ に置き換えてください。以降も同様です。

4.autorun.shファイルを新規に作成します。書き方は普通のShellスクリプトの書き方と同じです。

# vi /share/MD0_DATA/.qpkg/autorun/autorun.sh

5.最後にautorun.shに実行権限を与えます。

# chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh

あとはautorun.sh を実行してみて希望どおりの動作をするか確認し、その後「reboot」して起動時にautorun.shがきちんと実行されることを確認してください。

私のTS-112のファームウェアは「3.8.3 Build 20130426」ですが、この方法でNAS起動時にautorun.shを動作させることができました。

QNAP TurboNASへのPPTP接続が切断される問題について

  • 投稿日:
  • by
  • Category:

出先にて、Mac から自宅のTurboNASへPPTPでVPN接続しようとすると、すぐにこんなメッセージが出て接続できなかった。

vpn_disconnect.png

iPhoneの3G環境だと接続できるのになぜだろうと調べていると、PPTP接続を安定して行うにはPPTPサーバ側の設定がちょっと必要で、その設定がされていないとよく切断されてしまうみたいです。PPTPではありがちな問題らしく解説サイトが多々見られます。
  モバイルWiMAX接続経由でPPTP接続をする際の注意点
  ユグドラシルの木漏れ日: Macで職場へpptp接続後、すぐに切断される件

結論を言えば、PPTP接続時のMTUとMRUを値をデフォルトから変更してやればよいのです。
「TurboNASではどう変更するか」を続きで書きます。

QNAP TurboNASとiPhone/AndroidのVPN接続

  • 投稿日:
  • by
  • Category:

QNAP-VPN0QNAP TurboNAS TS-112でのはなし。
ファームウェアが最新ならば、どのTurboNASシリーズでも可能かと思います。

QNAPには「Qmobile」というスマホ向けのアプリがあります。これを使うとスマホから自宅のTurboNASにアクセスし、「Multimedia」内の音楽や動画ファイルを3GやWifi環境でストリーミング再生できます。

iPhoneの容量節約になってとっても便利〜と思っていたのですが、Qmobile自体の出来があまりよろしくないようです。フォルダ一覧を取得するのに時間がかかる(右画像のさらに多くのファイルのロードがすごく長い)、よく切断されてしまう・・などの問題にぶち当たってます。

自宅のローカルネットワーク内ならばDLNAクライアントアプリを用いて、ミュージックアプリのように
<アーティスト一覧>や<アルバム一覧>からNAS内の曲を選曲できて、ストレスなく再生できますよね。外出先の3G環境下でも同じことがしたいと思いますよね。

そこで、自宅にVPN接続すれば、ローカルネットワークにいるときと同じようにDLNAクライアントを用いてサクサク曲を聞けるので便利だと思い、記事にしてみました。

<注意>
記事ではVPNの一つのPPTPを用いた構成方法を紹介していますが、
docomoのspモードの場合、残念ながらPPTPが使用できません。
契約をmopera Uにする、もしくはPPTPではなくL2TP/IPsecを利用することでdocomo回線でもVPN接続できますが、後者はQNAP TurboNASシリーズでは対応していません。

回避策としてOpenVPN(別途Androidアプリ要)を利用すれば、TurboNASとVPN接続可能です。またau・SoftbankではPPTPで接続できることを確認済みです。

MacからのPPTPを用いたVPN接続は別途PPTPサーバーの設定が必要です。
詳しくは別記事に書きました。→<QNAP TUrboNASへのPPTP接続が切断される問題について>

オモシロNAS QNAP TS-112買ってみた

  • 投稿日:
  • by
  • Category:

QNAP TS-112初めてNASを買ってみました。
このNASを買った目的は次の3つ。

  • インターネット越しに外出先からNASのファイルにアクセスしたい
  • iPhoneでもNAS内の音楽や動画を楽しみたい
  • Linuxベースでいろいろ遊べる

あとは24時間稼働させておくものなので省電力であることと安定して動作すること。

自宅でのギガビットイーサネットが普及したことや、IP対応機器が増えたことで安いNAS製品が多く出ており、初心者にも敷居が下がっています。

そんななか、SOHOや家庭向けで人気なのがQNAPというメーカーのNAS。
台湾メーカーですが、管理画面やマニュアルなど日本語対応が優秀。
LINUXベースなので、LINUXに馴染んだ人やこれを機に勉強してみようという人にはNAS以外にも活用できる面白い製品です。

GPGPUを学びたい人たちへ

  • 投稿日:
  • by
  • Category:

ちょっと思ったことを まるく 書いていきます。

以前、物理屋さんと化学屋さん、計算屋さんが集まる研究会に参加しました。

私は計算屋さん(の卵)として参加したんですが、自分の研究に対して考えさせられるものでした。

 

私の専門はGPUを使った計算、GPGPUです。

この科学シミュレーションにGPGPUを適用すると、これだけ高速化できましたよ、という

計算屋では良くありがちな報告をしたのですが、反応はイマイチです。

というのも、計算屋、特にGPGPUを学んだ人以外には、やはりGPGPUの敷居は高すぎるのです。

 

現在、京(K-computer)を含み、多くのスパコンで使われている並列計算方式はMPIです。

最近ではさらに進んで、MPI+OpenMPのハイブリッド方式がよく用いられるようになってきています。

OpenMPの場合、初心者でも比較的簡単にプログラミングできて、一般的なコンパイラですぐに

コンパイルができます。そしてマルチスレッドに対応した今のCPUで動かせば、

簡単に数倍の高速化ができます。

 

MPI+GPGPUというハイブリッド方式もあるのですが、この場合はそう簡単にはいきません。

例えばCUDAなら、別途、CUDAのコンパイラが必要ですし、コンパイル方法も複雑だし、

デバッグにも一苦労です。

ブロックとスレッド、メモリ構造、更には使用するGPUアーキテクチャの仕様まで頭に叩きこんで

プログラミングしなければなりません。

なので、初心者からすれば、性能を出せるプログラミングをするのは至難の業です。

(一応、PGIコンパイラという自動的にGPGPUのコードを書いてくれるものもありますよ)

しかしながら、上手くGPUに合った計算アルゴリズムならば、数十倍〜数百倍の高速化が可能です。

OpenMPなんて比じゃありません。言ってみれば、ハイリスク・ハイリターンです。

こういう駆け引きがあるからこそ、GPGPUを使った計算高速化は一流論文誌にもアクセプトされるし、

計算屋さんが挑戦する面白さがあるのだと思います。

 

確かにGPGPUの性能は高いのですが、先走りすぎている感が否めません。

cuBLASなど、優れたライブラリも存在するのですが、結局スパコンを使うのは計算屋以外が多いのです。

なので、私が思うにGPGPUを学ぶと同時、いやそれ以前に、MPIやOpenMPなど、

GPGPUよりも非常に実用的な並列計算手法を十分に実践しておくべきじゃないかと思います。

そういう手法が使えることは、GPGPUの研究や論文を書くときに必ず役に立ちます。

 

そして近年の目まぐるしいGPGPUの発展、研究は、必ず将来につながると思います。

最近ではGPUメーカーが自動並列化コンパイラを開発していたり、IntelもGPUアーキテクチャと同じ

アクセラレータを発表したりと、注目度は増々高まっています。

消費電力の面でもCPUより有利なので、CPUにGPUがくっついている近年では

スパコンはもとより一般のコンピュータでもGPGPUを扱おうという取り組みが始まっています。

ソフトウェア業界でもGPGPUを扱える人間が重宝される時代が来るかもしれません。

GPGPUの未来は決して暗くなく、輝いていると私は研究(たった2年ですが)を通じて感じました。

 

スノボ用にGRIFFIN iPhone4/4S対応 Survivor 買ってみた

  • 投稿日:
  • by
  • Category:

ちらほら雪も積もってスキー・スノボっ子には嬉しい季節になりました。
ところで今年はメインのケータイをガラケーからiPhone4Sに変え、
所持しながら滑るか、それともロッカーに預けておくべきなのか悩みました。

毎年、何だかんだで友達とはぐれてしまってケータイのお世話になります。
頑丈でもなく、防水でもないガラケーでしたが、胸ポケットに入れていて壊れたことはありません。
しかし今年は繊細で弱点(画面)丸出しのiPhone、対策なしで一緒に滑れる気がしません。

ネットで調べてみると、やはり"預けましょう"の一点張り。
いつも事前に場所を決めておきますが、ケータイ無しだと周りに迷惑かけるし時間がかかります。
なので、やっぱり壊れやすいiPhoneもなんとか持っていきたい!ということで、
頑丈なケースを買ってみました。

GRIFFIN iPhone4/4S対応 Survivor
GRIFFIN iPhone4/4S対応 Survivor
 

特徴:米国国防総省の規格「MIL-STD-810 516」という条件に準拠していて
衝撃、雨、落下、砂などから守ってくれ、なおかつiPhoneのすべての操作ができるらしい。

Firefox8 透明化

  • 投稿日:
  • by
  • Category:

以前、Firefox4の透明化の話を書きましたが、ちょっと気を抜いてしまって2011/11/25 時点での
Firefoxのバージョンは8になってしまいました。以前のエントリで書いたStylishのテーマも、
いくつかリンク切れになっていました…。
 

リリース間隔の云々はさておき、透明化の需要もそこそこあるようなので現バージョンで、
「これならいいかな」程度の透明化方法を書いておきます。

いつものようにStylishテーマをインストールする方法ですが、完全透明化のテーマだとブックマーク
ツールバーが真っ黒
で見えなくなってしまったので、ブラウジングに支障がない程度の、

・なかなかの透明化(その1)
・そこそこの透明化(その2)

の2通り紹介します。ご自分で適用してみて、お好きなテーマを採用してください。
先にbefore / after を貼っておきます。

                          before(デフォルト)

fire8_glass_b.png

                           after(その1)                                                                after(その2)

fire8_glass_a2.pngfire8_glass_a1.png

 

透明化方法は続きをどうぞ。

[CUDA]FermiでのL1/Shared Mem サイズ変更

  • 投稿日:
  • by
  • Category:

FermiではL1キャッシュが利用できるようになった。L1は従来のSharedメモリと同じSM上にある。
L1/Sharedメモリの容量はGTX480の場合、

  ・L1が16KBならSharedは48KB、
  ・L1が48KBならSharedは16KB、
という二択になっている。

グローバルメモリやコンスタント、テクスチャメモリからのロード回数が多いプログラムの場合、
L1のサイズを優先し、上記のメモリからのロードを殆どしない、もしくはキャッシュヒットが
見込めないプログラムでは、Sharedメモリのサイズを優先したほうが効率がよさそうである。

そして、この2択は、cudaFuncSetCacheConfig(func, cacheConfig) 関数を使って選択できる。
func にはCUDAで実行するkernelのfunction名を、cacheConfigには、次のいずれかの設定値を入れる。

cudaFuncCachePreferNone:    L1/Sharedのサイズ選択をnvccにお任せ(default)
cudaFuncCachePreferShared: L1を16KB、Sharedを48KBに
cudaFuncCachePreferL1:         L1を48KB、Sharedを16KBに

エラー処理も含めるとこんな感じ。

         CUDA_SAFE_CALL(cudaFuncSetCacheConfig(
               cuda_Kernel,cudaFuncCachePreferL1) );
        

文献:CUDA API Reference Manual PDF 4.7.2.3 p38