並列処理

1/2ページ

IPython clusterによるバカパラ(分散並列処理)

分散並列処理の基本かつ強力なアプローチとして,Single Program Multiple Data (SPMD) があります.これは,複数のプロセッサが同一のプログラムを実行し,その際に各プロセッサは別々のデータを処理する,というモデルです.大規模なデータを独立で処理できる単位に分割し,小分けのデータを複数のプロセッサで並列に処理することで,データ全体の処理時間を大幅に短縮できます. 例えば,a01.txt, a02.txt, a0 […]

【見習いjavaエンジニア必見】Stream APIの使い方

記事の概要 Stream APIの使い方をメインとした記事です。 初めてStream APIに触れる方でも理解できるようにソースコードの例や解説を多く設けています。 また、Stream APIを使ったStrategyパターンなど応用した使い方も紹介しています。 Stream APIを覚えることのメリット 処理を言葉のようにかけるため、可読性が上がる。 inputとoutputが明確なためテストコードが書きやすくなる 状態変化を引き起こさ […]

【MarkLogic Server】XQueryチューニングメモ~並列・分散処理のすすめ

はじめに 並列処理への移行はチューニングの王道とも言えます。リソースの許す限り複数の処理を同時に行うことができれば簡単に性能向上が見込めます。 スケールアウトに対応するMarkLogicにおいて、複数ノードにてクラスタを組むと分散処理を行うことができます。 MarkLogicと並列処理 基本的な戦略は、APサーバからJavaなどのマルチスレッドプログラミングを通じて複数スレッドの実行を行うものです。ロードするContent PumpやX […]

Hadoopマルチジョブ並列処理の詳細例

Hadoop multipleジョブの並列処理の例を説明します。 Hadoopマルチジョブタスクの並列処理について、次のようにテストおよび構成されています。 まず次の設定を行います。 1. mapred-site.xmlを変更して、スケジューラー構成を追加します。 <property> <name>mapred.jobtracker.taskScheduler</name> <value> […]

AWS Batch とは何か

AWS re:Invent 2016 で発表された AWS Batch。 語感から、誤解されるサービス No.1 な気がします。 定時バッチなどとは何がどう違うのかをメモ。 機能概要 以下公式資料とドキュメント、実際さわってみた所感を合わせて。 AWS Batch – 簡単に使えて効率的なバッチコンピューティング機能 – AWS AWS Black Belt Online Seminar「AWS Batch」の資料およびQA公開 結局何 […]

C言語でOpenMPを用いた並列処理と時間計測

C言語における、 OpenMPを用いて並列計算を行う方法 並列計算時の処理時間を計測する方法 についてまとめます。 0. OpenMPとは OpenMP(Open Multi-Processing)とは、共有メモリ型マシンで並列プログラミングを可能にするAPIです。FORTRAN、C/C++から利用できます。 ディレクティブを挿入するだけで並列化してくれるので、数ある並列化手法の中でも敷居は低い方といえます。 1. 計算する式 並列処理 […]

ヘテロジーニアスのマルチコアでパフォーマンスを上げるには

最近、マルチコアでの性能向上についてよく考えている。フューチャーアーキテクト(裏)アドベントカレンダーです。 マルチコアの性能向上の基本 マルチスレッドの性能向上というと、アムダールの法則というのが有名で、なにかと引用される。僕の本の「Goならわかるシステムプログラミング」でも引用させていただいた。 P は並列化できる仕事の割合、N は並列数です。ある仕事のうち 50% の部分が並列化 可能だとすると、N を無限大にしても(分母 […]

並行処理、並列処理のあれこれ

この資料の背景 社内向け勉強会で並行処理と並列処理というテーマで発表しようとしたら、 OSの役割や仕組みなどを理解しないといけなくなったので、それらも込でまとめた資料になります。 調べてみて、まだまだ分からないところがたくさんあるので、これからも継続的に勉強していきたいです。 (前提) ProcessとThread 歴史的な経緯を理解すると、腹落ちします。 Processしかなかった時代 OS(カーネル)の主要な仕事の一つに、複数の仕事 […]

C++17時代の並列ソート

はじめに この記事は、C++ Advent Calendar 2017 16日目の記事です。この記事では、C++17時代の並列ソートについて考えます。 並列ソートとは 高速なソートアルゴリズムとしては、例えばクイックソートがよく知られています(他にも、マージソートやヒープソートが、高速なソートのアルゴリズムとして知られています)。クイックソートでは、ソート対象の配列の要素数を$ N $とすると、ソート時間のオーダーは(ランダウの記号を使 […]

C++17時代の並列安定ソート

はじめに この記事は、C++17時代の並列ソート(C++ Advent Calendar 2017 16日目)の記事の続きです。この記事では、C++17時代の並列安定ソートについて考えます。 並列安定ソートとは 高速な安定ソートアルゴリズムとしては、例えばマージソートがよく知られています。マージソートでは、ソート対象の配列の要素数を$ N $とすると、ソート時間のオーダーは(ランダウの記号を使って)、$ O\left( N\log N\ […]