以前FITEA定期勉強会で、並行と並列の違いについて議論になりました。 具体的な議論のポイントは 「並行」は時分割でスレッドを処理、「並列」はマルチコアで処理 「並行」は概念的に違うものを同時に処理、「並列」は同じ処理を分割して処理 というポイントで、簡単に検索してみたところ、両主張ともに見受けられ、その場では深く追求しませんでした。(別議論のなかのサブトピックであったので、時間的な都合もあり) 今回たまたま、以下の本を読んでみて色々考えたので、それを記載してみます。 【送料無料】並行コンピューティング技法 価格:3,360円(税込、送料別) コンピュータサイエンス的な「並行」と「並列」 「並行コンピューティング技法」の1.1.2「並行と並列:その違いは?」に以下のようにあった。 システムが複数の動作(処理の流れ)を同時に実行状態(in progress)に保てる機能を備えている場合を 並
GHCは、並行プログラミングおよび並列プログラミングに対応するための、Haskellへの大規模な拡張をいくつか実装している。まず用語をはっきりさせておこう。 並列性(parallelism)とは、実行性能の向上を目的として、Haskellプログラムを複数のプロセッサ上で走らせることである。理想的には、これは不可視に、意味を変更することなく為されるべきである。 並行性(concurrency)とは、それぞれIOを行う複数のスレッドを使ってプログラムを実装することである。確かに並行Haskellプログラムは並列な機械上で走らせることができるが、並行性を使うのは、第一目的として実行性能を得るためではなく、それが当該プログラムを書くための最も単純で最も直接的な方法だからである。スレッドは入出力を行うので、プログラムの意味は必然的に非決定的なものになる。
HaskellコンパイラGHCの作者の一人であり並列RTSを書いた人であるSimon Marlowが、Haskellでの並列・並行プログラミングの今を切り取った本を出した。 Parallel and ConcurrentProgramming in Haskell:Techniques for Multicore and MultithreadedProgramming 作者:Simon Marlow出版社/メーカー: O'Reilly Media発売日: 2013/07/12メディア:Kindle版この商品を含むブログを見る The Free Lunch Is Overから8年、Haskellでの並列・並行プログラミングの今がどうなっているのかを俯瞰しつつ、実際の問題を解決するときに陥りがちな罠や、高い性能を出すためのtipsなどが読みやすくまとまった一冊になっていて、Hask
WindowsではGHCとHugsの両方が動作しますが、HugsのほうがよりWindowsとの親和性が高いと思われます。しかし、GHCが最も活発に開発やメンテナンスが行われているので、たいていの人は入門者はもちろん、プログラミングになれた人にもGHCを勧めます。またここにもMac OS XにHaskellをインストールする方法が載っています。 Haskell事始め ターミナルを開いてください。もしGHCをインストール済みであれば、コマンドプロンプトに"ghci"と入力してください。(GHCインタプリタの実行ファイル名です)Hugsをインストール済みであれば"hugs"と入力してください。 $ ghci ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4, for Haskell 98.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く