物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

マルチスレッドにおける例外処理の受け渡し (VC++)

別スレッド中の例外を、本スレッドに渡す方法のメモ。動作確認はVisual Studio 2013 C++で行っている。

詳しい説明は スレッド間の例外転送 を参照してね。

#include <thread>
#include <iostream>

//マルチスレッド用の関数
void f1(std::exception_ptr &eptr) {
    try {
        throw std::exception("test");
    }
    catch (...) { //すべての例外を受ける
        eptr = std::current_exception();
    }
}

int main() {
    std::exception_ptr eptr;
    std::thread t1(f1, std::ref(eptr)); //スレッドを作成し参照でeptrを渡す
    t1.join(); //終了待ち

    try {
        if (eptr) {
            std::rethrow_exception(eptr); //例外を投げなおす
        }
    }
    catch (std::exception &ex) {
        std::cout << ex.what() << std::endl;
    }
    ::system("pause"); //デバッグ用のpause
}

WiMAX 2+は下り速度4.5Mbpsしか出ない

タイトルで何もかも終わったんだが、下り速度を測定してみた。まずは一番重要な速度の一つ、アニメのHD画質が見れるかどうか。

f:id:onsanai:20160904144227p:plain

確かにアニメのHD画質は見れるようだ。4.5Mbpsしか使っていないので、そもそも大したことはないんだが。

Re:ゼロから始める異世界生活のアニメ見放題 | dアニメストア

 

真面目に下り速度を測定してみる。

f:id:onsanai:20160904144535p:plain

6Mbpsか。これ、測定の時だけブーストしてないか?って疑いがあるので、信用しない方がいいと思う。

 

とにかく、速度制限に入ると本当に下り速度は4.5Mbpsになるから、WiMAX 2+を家庭用固定回線代わりに使うのはやめよう。遅すぎる。

 

次回、応答速度を測定予定

高速・安全・格安100TB ストレージを構築する

高速・安全・格安100TBストレージを構築してみよう。

安全なデータ領域を確保するためには、最低でもRAID1が必須だろう。

RAID 10を構築したいが、100TBもの領域をRAID0で構築しようとすると実データ領域で4倍必要になる。100TBの領域のために400TBの領域を確保するのは馬鹿らしい。

RAID 5では、大量のデータを高速で書き込む時に急激に速度が遅くなる問題が発生したので、ここでは除外する。

 

RAIDカードの選定だが、市販のRAIDカードでそこそこのクオリティなのがこの製品。

HighPointのページに詳細は書いてある。6 Gb/sで24ポート。バスインターフェースはPCIe 2.0 x 16。ポートはSFF-8087 (Mini-SAS) x6なのでこのタイプのケーブルが6本必要である。

HighPoint Global website

 

HDDはどうしよう。NAS対応縛りは必須だよね。

 

WD Red。以前は6TBまでだったが、執筆時点で8TBまで出たので容積あたりの容量がだいぶ増えた。35,725円(執筆時)。安いのはいいが、最近のHDD故障率レポートを見ると、安かろう悪かろうになりつつある。WD頑張れ。

Seagate IronWolf NAS。使ったことはないが10TBまで出ている。54,800円(執筆時)。今まで安かろう悪かろうのイメージだった海門ことSeagateの故障率が減っているのが特徴。

 WD傘下のHGST UltrastarAmazon価格で71,188円(執筆時)。故障率は非常に低いらしいが、高い。

 

ここではSeagateの10TBとWDの8TBを使ってみよう。

 

Seagateの10TB 54,800円を20台買って、110万円、RAID 1を考慮せずに200TB。

WDの8TB 35,725円を24台買って、86万円、RAID 1を考慮せずに192TB。

 

格安でいくならWDだけれど、故障率で交換のコストを考えるとSeagateの方がいいのかなあ。サーバー本体とRAIDカードを含めても130万ほどで収まるので、本当に安くなったものだ。

 

リンクはアフィを含むので注意。

10 Gbpsのテスト

10 Gbpsを導入したのでテストしてみた。

使ったのはIntelイーサネットサーバーアダプター X520-2とNETGEARのスイッチングハブGS752TXS。

www.intel.com

GS752TXS | Product | Support | NETGEAR

 

NETGEARのCuのSFP+のケーブル

とてもいいサーバー用パソコン

RAMディスク経由でCrystalDiskMark

以上。

 

さて、結果。

 

f:id:onsanai:20160819230537p:plain

 

CrystalDiskMarkを2プロセス同時に走らせて、左半分が2プロセスともRead、右半分が2プロセスともWrite、真ん中は片方がReadでもう片方がWrite。

 

送受信ともほぼ10 Gbpsを達成。うちもバックボーンが10 Gbpsになりました。気軽に10Gbpsを導入できる時代が来て感動。

 

次は、10GBASE-T対応のカテゴリ7のLANケーブルを使ってテストしてみる予定。

ELSA GeForce GTX 780 S.A.C を分解

 

 ELSA GeForce GTX780 S.A.Cを分解してみた

www.elsa-jp.co.jp

 

とても簡単に分解できた。全てのパーツを外すとこの通り。本体基盤の下がヒートスプレッダー、ヒートシンク、ファン・・・説明しなくても分かる、か。

 

 f:id:onsanai:20160819222324j:plain

 

サーマルグリスを除去したメインのチップ。カメラのレンズが映り込むくらい銀色に輝いている。

 

f:id:onsanai:20160819224547j:plain

 

 壊れていたのが電源回路のコイルの1個と思われる。ここがショートして電源の過電流保護が働いてパソコンが起動しなくなったようだ。保障は切れているのでELSAは悪くない。

 

f:id:onsanai:20160819222328j:plain

 

コイルが焼き切れたのがこれで2台目。このタイプがあと約10台あるので、続々と壊れるんだろうなあ(泣)。

 

ほかのいくつかの個体で、ヒートパイプからオイル漏れが確認できた。冷却性能がどこまで保たれているかは分からない。