タグ

並列処理に関するmikurassのブックマーク (6)

  • pssh(pararell-ssh)で複数サーバの同時操作 | Pocketstudio.jp log3

    PSSH ( Pararell-ssh ) は、Linux 上で複数のサーバに対して同時に SSH ログインし、コマンドを実行するだけのシンプルなツール。様々なデプロイ用のツールがある中で、古くから、純粋にコマンドを叩くことに特化しているツールが pssh 。シンプルながら、必要十分な機能を備えています。Verion 2.x 系の情報はまとまっていないようなので、自分のメモがてら、簡単なセットアップ方法と、簡易チュートリアルを掲載しました。 ■ PSSH とは何ぞ? PSSH は Parerll-ssh (並列 ssh) の名前の通り、複数のサーバに対して同時に ssh を走らせることが出来るツールです。例えば、手許に複数のサーバがあるとして、同時に uptime コマンドを走らせたい時や、十数台の httpd.conf を一斉に書き換えて apache 再起動することも、手軽です。 PS

  • C++, boost::thread : スレッドの生成と実行

    C/C++でスレッドを扱う場合は、プラットフォームによって使用するライブラリが違います。 Windows なら Windows API の thread で、 UNIX や Linux 系ならば pthread ライブラリ等を使用します。プラットフォーム依存するコードは可搬性に難があり、解決策の1つとしてプリコンパイルで依存部分をプラットフォームに合わせたライブラリを選択してコンパイルする方法があります。 boost ライブラリの boost::thread は、上のような処理をラップして共通のインターフェイスとして実装されています。 boost/thread.hppの一部 #if defined(BOOST_THREAD_PLATFORM_WIN32) #include <boost/thread/win32/thread.hpp> #elif defined(BOOST_THREAD_

    C++, boost::thread : スレッドの生成と実行
  • 並列分散処理の常識をHadoopファミリから学ぶ

    並列分散処理の常識をHadoopファミリから学ぶ:ビッグデータ処理の常識をJavaで身につける(2)(3/3 ページ) 3つの課題に応える「Hadoopファミリ」 関連プロジェクトは、Hadoopが抱える以下の3つの課題に応えたものです。 【課題1】「並列分散処理をもっと簡単に書きたい」 MapReduceをJavaで書く処理はある種のひらめきが必要ともいわれます。特に、SQLで書かれていた処理をMapReduceで書き替える場合、思考の切り替えが必要で苦労することも多いようです。たとえ慣れていても、Hadoopで簡単なデータ加工したい、そのためだけに多くのクラス定義をするのは面倒です。 この難易度を下げるハイレベル言語として「Hive」「Pig」が存在します。どちらの言語もSQLやストアドプロシジャのようなコードを書いて、MapReduceを動かせます。対話型のシェルユーティリティもあり

    並列分散処理の常識をHadoopファミリから学ぶ
  • OpenMPの実行時ライブラリと並列ループ

    はじめに この連載は、OpenMPを通じて並列処理の考え方をお伝えすることを目的としています。マルチコアCPUが既に普及していますので、今後は並列プログラミングが一般的なものとなり、さまざまな技術が登場するでしょう。その時並列プログラミングの根底に流れる考え方を身に付けられていれば、比較的容易に新技術も習得することができるでしょう。 今回は並列プログラミングに役立つ実行時ライブラリの関数と並列ループについて解説します。この連載で解説に使用するサンプルコードはあくまでもOpenMPの基礎を理解するためのものであり、実務でOpenMPを使用する際にはよく理解してから用途に適したプログラミングを行ってください。 対象読者 筆者が想定している読者はCの基的文法をマスターし、並列化プログラミングに興味を持っている方です。凝ったテクニックを極力さけ、基的な文法さえ分かれば読めるように注意しますので

    OpenMPの実行時ライブラリと並列ループ
  • PHPでマルチスレッド(バックグラウンド処理)を実現する方法 - EC studio 技術ブログ

    PHPで長時間かかる重い処理を行うとき、 マルチスレッドで動かせたらなぁ!と思うことがよくあります。 マルチスレッド処理を行うことで、時間のかかる処理を 複数同時に並列実行でき、高速化することができます。 (特に通信処理などで遅延がある場合に有効です) PHPにはpcntl_forkというプロセスをフォーク(複製)することが できる関数がありますが、これはPHPCGIモードで 動かしている場合にのみ有効です。 通常はPHPをApacheモジュールとして動作させていることが 多いので、これが使えないケースが多々あります。 他には、system関数などでシステムコールを行い、 など & を使って実行するという方法もありますが、 これもphpCGI版として実行できなければいけません。 システムコールで呼ぶプログラムをPerlなどで 書けばいいのですが、できればPHPで全部統一したいものです。

  • デュアルコア対応プログラミング OpenMP 編 - マツドサイエンティスト・研究日誌

    先日、「デュアルコア対応プログラミング」のコンテンツを書き込んだ時は、Cなどのコンパイル言語でのデュアルコア対応プログラミングは未完成であった。 今回は、ちゃんとコンパイル言語でデュアルコアに対応し、高速で計算するプログラムを作ることに成功したので、報告する。 課題は、先日と同じく円周率を求める計算だが、デュアルコアを有効に使って計算するプログラムは下のようになった。 #include main() { int i; int n = 1000000000; double s = 0.0; system("date"); #pragma omp parallel for reduction(+:s) for (i = 0;i < n;i++) s += (4.0 / (4 * i + 1) - 4.0 / (4 * i + 3)); printf("%lf\n",s); system("da

    デュアルコア対応プログラミング OpenMP 編 - マツドサイエンティスト・研究日誌
  • 1