タグ

ParallelProgrammmingに関するgologo13のブックマーク (11)

  • 並行コンピューティング技法

    The Art of Concurrency和訳書籍への推薦文 訳者まえがき まえがき 1章 速くしたい人、手を挙げて! 1.1 さまざまな疑問 1.1.1 スレッドモンキー 1.1.2 並列と並行:その違いは? 1.1.3 そんなことを知る必要があるの? どんな役に立つの? 1.1.4 並行プログラミングって難しくないの? 1.1.5 スレッドって危険じゃないの? 1.2 スレッド化の4つのステップ 1.2.1 ステップ1. 分析:並行性を持つ部分を見つけ出す 1.2.2 ステップ2. 設計と実装:アルゴリズムをスレッド化する 1.2.3 ステップ3. 正当性の検証:スレッド化の誤りの検出と修正 1.2.4 ステップ4. 性能チューニング:性能ボトルネックの排除 1.2.5 スクラッチ開発 1.3 並列アルゴリズムの背景 1.3.1 理論モデル 1.3.2 分散メモリプログラミング 1.

    並行コンピューティング技法
  • OpenThreads - A cross-platform, lightweight C++ thread API

    (So lightweight that it doesn't even have a fancy logo!) This library is intended to provide a minimal & complete Object-Oriented (OO) thread interface for C++ programmers.  It is loosely modeled on the Java thread API, and the POSIX Threads standards.  The architecture of the library is designed around "swappable" thread models which are defined at compile-time in a shared object library.  It is

  • 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 : スレッドの生成と実行
  • le4 parallel programming

    担当 八杉 昌宏 yasugi AT kuis.kyoto-u.ac.jp TA: 松井 健 kmatsui AT kuis.kyoto-u.ac.jp 最終レポートについて, 12/9 6:55 現在,全員の提出を確認しました。(12/11) 第2〜4回レポートについて, 12/3 6:30 現在,全員の提出を確認しました。(12/4) 第1回レポート(10/20(木)13:00締切)について, 10/21 9:30 現在,全員の提出を確認しました。(10/21) 計算サーバの利用について (10/12 ログイン方法は別途メールで案内) 課題3(第2回レポート, 最終レポート), 課題6(第4回レポート, 最終レポート)で 提出されるプログラムの並列実行時間は スレッド数 4 で測定します。 ランキングに掲載するものなどはこれになります。 別の希望(例えば 3 )がある場合はメールで

  • コンピューター:C言語講座:マルチスレッドについて

    コンピューター:C言語講座:マルチスレッドについて マルチスレッドの特徴 一般的なサーバプログラムでは、多数のクライアントからの処理をできるだけリアルタイムに処理するために、何らかの形で並列処理を行うことが多いものです。たとえば、データベースサーバで、ある検索処理に時間がかかっている間ほかのクライアントが接続すらできない、という状態ではサーバとして失格でしょう。 並列処理を実現する方法としては、 ・プログラム自体を並列処理可能に記述する ・プロセスをもともと多数起動しておく ・fork()を使って子プロセスを起動するマルチプロセス処理 ・マルチスレッドを使用する などが考えられます。プログラム自体をリアルタイム性を考慮しながら記述するのはなかなか大変で、しかもソースが複雑になりメンテナンス性も問題が多くなりがちです。プロセスをもともと多数起動するのは簡単ですが、クライアントがどのプロセスに

    gologo13
    gologo13 2012/08/01
    スレッドセーフな関数の意味がわかった
  • [C言語]POSIXスレッドを用いたechoサーバ « イイ!! プログラミング Blog

    サーバの仕組みとスレッド 通常、Webサーバなどは親プロセスがポートをListenし、接続があったら、子プロセスを生成し、その後の(クライアントへのデータ送信等の)処理は、子プロセスに任せるというフローをとる。 そうすることで、親プロセスはクライアントへデータ送信が終わるのを待つ必要がなくなり、どんどん接続を受けることが可能になる。 接続数が多くなると、当然、子プロセスが多くなり、サーバへの過負荷となる。 そこで、子プロセスではなく、スレッドでクライアントの処理を行うと負荷低減につながる((スレッドの生成は子プロセスの生成より軽量)) echoサーバのPOSIXスレッド化 [C言語]Socket間通信 echoサーバを作るで作成したechoサーバにptheadを組み込み、複数クライアントに対して同時処理ができるように改良する。POSIXスレッドについて知りたければ、まずは[C言語]POSI

  • C++ 開発者が陥りやすい OpenMP* の 32 の罠 | iSUS

    この記事は、インテル® ソフトウェア・ネットワークに掲載されている「32 OpenMP traps for C++ developers」 (http://software.intel.com/en-us/articles/32-openmp-traps-for-c-developers/) の日語参考訳です。 はじめに マルチコアシステムが急速な広がりをみせており、並列プログラミングへの早急な対応が求められています。しかしながら、経験豊富な多くの開発者にとってもこれは新しい分野です。既存のコンパイラーとコード・アナライザーでも、並列コードの開発中に一部の問題を発見することはできますが、多くの問題は検出できません。この記事では、OpenMP* を使用する並列プログラムが正しく動作しない原因となるさまざまな問題について説明します。 概要 並列プログラミングが登場したのはかなり以前のことです

    C++ 開発者が陥りやすい OpenMP* の 32 の罠 | iSUS
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

    日社内向けのTechTalkにて、並列・並行プログラミングに関する話を行いました。 昨今、プログラムの並列化はなくてはならないものとなっています。しかし、そのプログラミング環境は依然としてロックを用いたものが主流です。今回の発表の主張を端的に申し上げますと、 “Locks must go!” ということになります。並列プログラミングに銀の弾丸はありません。しかし、ロックは別の何らかの安全性を確保したプログラミングモデルで置き換えられなければいけません。そうでなければ、再現しにくいバグに苦しめられ、終電を逃す日々と決別することはできないでしょう。また、ロックによるプログラミングの抱える質的問題にも言及しています。 この界隈の最新の動向として、去年OOPSLA’10にて発表されたConcurrent Revisionsについての解説も行なっております。また、弊社研究開発において、先日Con

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
  • 近未来的並列 LL

    Jul 31, 201017 likes2,985 viewsAI-enhanced description The document appears to be a collection of messages and links posted on a forum discussing various programming languages and parallel computing topics, including threads, actors, and memory walls. References are made to languages and technologies like Erlang, Go, Java, Haskell, and Intel's Single-Chip Cloud Computer. The posts also discuss par

    近未来的並列 LL
  • コンピュータサイエンス史上最大の課題「並列処理による性能向上」~情報処理学会創立50周年記念全国大会の招待講演

    「いま、並列処理の壁というコンピュータサイエンス史上最大の課題に直面しています。しかしこれはチャンスでもあります。新しい時代を切り開いていきましょう」。IBM名誉フェローのFran Allen氏は、昨日3月10日に行われた日の情報処理学会創立50周年記念全国大会の招待講演の演壇からこんなメッセージを聴衆に投げかけました。 Fran Allen氏は、コンパイラやプログラミング言語が専門で、女性で初めてチューリング賞を受賞した人。今回の招待講演のためにわざわざ来日したと紹介されました。 講演のタイトルは「The Challenge of the Multicores」。ここからは、Allen氏の講演の内容を紹介しましょう。 (この講演は英語で行われたものです。内容にはできるだけ正確を期したつもりですが、理解不足のところや聞き取れなかったところもありました。もし誤解や不正確なところがありました

    コンピュータサイエンス史上最大の課題「並列処理による性能向上」~情報処理学会創立50周年記念全国大会の招待講演
  • Amazon.co.jp: Concurrent Programming in ML: Reppy, John H.: 本

    Amazon.co.jp: Concurrent Programming in ML: Reppy, John H.: 本
  • 1