タグ

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

  • 並列処理してみる - Qiita

    // 初期化 int div = 3; int[] array = new int[10000000]; Random random = new Random(); for (int i = 0; i < array.Length; i++) { array[i] = random.Next(); } { // ループ処理 for版 int[] ct_mods = new int[div]; for (int i = 0; i < array.Length; i++) { ct_mods[array[i] % div]++; } } { // ループ処理 foreach版 int[] ct_mods = new int[div]; foreach (var x in array) { ct_mods[x % div]++; } }

    並列処理してみる - Qiita
  • ソフトウェアトランザクショナルメモリ - Wikipedia

    計算機科学において、ソフトウェアトランザクショナルメモリ(英: software transactional memory, STM)は、データベーストランザクションに似た並行性制御機構であり、並列計算を行う際の共有メモリへのアクセス法である。この機構はロックベースの同期を用いた並行性制御の代替手段として機能し、ノンブロッキングな方法で実装される物もある。ここでいうトランザクションとは、共有メモリに対する一連の読み出しと書き込みを実行するコードを意味する。論理的にはこれらの読み出しと書き込みは、時間的なある一点で行われ、他のトランザクションからはその間の状態は見えない。トランザクションを行うためにハードウェアにサポートさせるアイデア(ハードウェアトランザクショナルメモリ)は、1986年に Tom Knight により論文と特許として出された。そのアイデアを普及させたのが Maurice H

  • 1