InfoQ ホームページ Parallel Programming に関するすべてのコンテンツ
-
.NETの Barrierクラスを解説する
マルチコアシステムの向上によりこれまで以上に並行と並列プログラミングに関する理解が重要になる。幸いなことに.NET 4は、多くの優れた同期基本命令が開発者に提供されている。一つの基本機能がBarrierであり、Emad Omara氏は、並行マージソートに使用している。
-
Scala 2.9.0、並列コレクションを導入
最新のScalaリリース2.9.0は並列コレクションを導入し、容易にマルチコアプロセッサを活用できるようになった。その他の新機能としては、改善されたREPL、ScalaDoc、オペレーティングシステムと相互作用する新しいパッケージなどだ。
-
TPL Dataflow – CCRの後継者
TPL Dataflowは、高度な同時実行アプリケーションのためのマイクロソフトの新しいライブラリである。非同期メッセージのパッシングやパイプラインを使用して、スレッドプール以上のコントロールとマニュアルスレッディング以上のパフォーマンスを約束している。欠点は、.NETプログラマにはなじみが薄いであろうデザインパターンを厳守しなくてはならないことである。
-
なぜMicrosoftはVBとC#に非同期シンタックスが必要と信じるのか。
VBとC#の新しい非同期CPTを見ると、実際に中核言語に組込まれたように見える。しかし、マルチコア システムを重要視して、なぜMicrosoftは、特に単一スレッドの非同期プログラミングを簡単にするように設計したシンタックスに、そんなにも投資するのだろうか?
-
Yahoo!、リアルタイム分散処理プラットフォームのS4をリリース
今月、Yahoo!は新しいオープンソースフレームワークを発表した。このS4という名のフレームワークは絶えず変更されるデータに対する巨大な分散計算処理を実現する。InfoQはこのフレームワークのサンプルを調べた。また、S4とほかの技術との比較を行った。
-
のぞき見: Visual BasicとC#の非同期シンタックス
最近ポストされて、その後削除されたVisual Basicチームのブログにおいて、Visual BasicとC#に新しい非同期プログラミングのシンタックスを発表することを漏らしてしまった。.NET 4で紹介されたTask Parallel Libraryの上に組み込まれ、AsyncとAwaitキーワードが両方の言語に追加される。
-
Microsoft .NETでの並列プログラミング
Patterns&Practicesチームが、.NETで並列プログラムを書くためのガイダンスである『Microsoft .NETでの並列プログラミング』という書籍をリリースした。この本には、並列プログラミングのための6つのデザインパターンがサンプルコード付きで収録されている。
-
Aparapi:任意の計算タスクを実行するための新たな “Pure Java” API
InfoQはAparapiのαリリースを公開したAMDのGary Frost氏と情報交換した。AparapiはプログラマがGPU上で実行可能なロジックをJavaで書くことを可能にするAPIだ。GPUは極めて並列化されたハードウェアアクセラレーションチップであり、もともとグラフィックスレンダリング性能の向上のためにPCにインストールされたものだが、今やグラフィックスとは無関係な計算負荷の高いタスクにも進出している。
-
ハードウェアの観点からの並列化の進化
Brian Goetz氏とCliff Click氏は、先週行われたJavaOne conferenceにおいて、 ハードウェアの観点から、並列処理の進化について講演を行った。彼らは、 CPU設計者は将来、スループットをあげるための並列化に注力するようになるだろう と述べた。またアプリケーションの並列性を達成するための部分的なソリューションとして スレッドプールやFork/Join、Map/Reduceやアクターについても議論した。
-
進歩を見せる .NET のオプションパラメータ
オプションパラメータは最初から .NET に含まれていたが,C# でサポートされないこともあり,COM ライブラリ関連以外での使用はタブーである,という解釈が一般的だった。C# 4 でオプションパラメータがサポートされるようになるので,今後はレガシーなコード以外でも多く見られるようになりそうだ。また C# 以外にも,動的言語との相互運用性や変更不能(immutable)なデータ構造体,さらに ASP.NET MVC のさまざまな部分でも使われるようになるだろう。
-
.NET 並列処理拡張のためのパターンとサンプル
Microsoft は 2007 年から .NET の並列処理拡張 (Parallel Extensions) に取り組んでいるが,それでも .NET 4.0 に実装完成が間に合わなかった機能が数多く残っている。“フレームワークのコアに含めるには,アプリケーション依存性が強すぎる” 機能もあったが,その他は単純にテストとユーザフィードバックの不足が理由だ。代わりとして彼らは,一連のパターンとサンプルをリリースすることにした。
-
Accelerator V2を使ったマルチコアGPU/CPU上での並列プログラムの実行
現在、プレビュービルドとして提供されているAccelerator V2は、.NETのマネージ・ライブラリでマルチコアCPUやGPU上でのデータ並列プログラムを記述する際の手間を省いてくれるものだ。
-
Clojure総まとめ:Craneによる配布、Incanterによる算術計算、Leiningen 1.0によるビルド
Clojureインスタンスwの配布と遠隔操作のためのツールであるFlightCasterのオープンソースCraneは、現在EC2に特化されている。IncanterはClojureを使って簡単にR風の統計計算ができるClojureライブラリとツールである。また、ビルドと依存関係管理ツールであるLeiningen 1.0がリリースされた。
-
オープンソース・プロジェクトによりMicrosoftが生命工学の市場に参入
Microsoft Biology Foundation(MBF)は、.NETフレームワーク上に構築されたライブラリ群であり、オープンソースの伝統に基づいている。Microsoftは、車輪の再発明をすることなく、既に生物情報工学のコミュニティで利用されているファイルフォーマットを活用している。さらにMicrosoftにとってはめずしいことだが、MBFの将来バージョンに加えられる貢献を広く募集しているのだ。
-
Task Parallelライブラリの新しいキャンセルフレームワークのご紹介
.NETのTask Parallelライブラリは、ベータ2のためにモデルチェンジを行なった。パフォーマンスの向上に加えて、もっとも重要な変更は、おそらく新しいキャンセルフレームワークであろう。これは、親子関係をタスクの論理グループに自由に与えることができるキャンセルトークンによって置き換えるものである。