東京都港区北青山2-5-8
9月のナイトセミナーはJavaにおけるパラレル処理について様々な話題を取り上げます。
近年、CPUコアあたり性能の頭打ちとマルチコア化の進展の中で、パラレル処理が改めて注目を集めています。Javaの世界でも、様々な並列計算モデルの実用化や、コンカレンシーユーティリティの整備などにともなって、パラレル処理の実現方法は、スレッドとモニタによる伝統的なマルチスレッドプログラミングから様変わりしています。
今回のセミナーでは、パラレル処理にかかわる様々な話題を取り上げ、Javaの世界におけるパラレル処理の一端をご紹介します。
Java は 1.0 の時からマルチスレッドをサポートした、その当時としては希有な言語でした。もちろん、Javaが登場した頃はパラレルではなくコンカレンシです。マルチコア時代になり、Javaでもコンカレンシからパラレルに移行し、更に粒度によって複数のパラレル処理の手法もとれるようになりました。
そこで、本セッションでは、Java のコンカレンシ/パラレルの歴史をひもとき、手法のおさらいをしていきます。
みなさんアプリケーションでキャッシュを作っていますか?
そのキャッシュ、スレッドセーフですか?スケーラブルですか?
本セッションでは、『Java並行処理プログラミング ―その「基盤」と「最新API」を究める』(ソフトバンククリエイティブ)の5.6で扱われている、効率的でスケーラブルなリザルトキャッシュの作り方をJava 8を絡めて説明します。
なお、本セッションで扱う内容はパラレルではなくコンカレントです(^ ^;)
大量のWebリクエストを同時に受け付けるためアプリケーション・サーバーでは多数のスレッドを立ち上げて同時にリクエストを処理します。普段はあまり意識をせずに使っている人もいると思いますが、意識をしないと予期せぬ不具合を発生させてしまうこともあるので、復習も兼ねてちょっとばかしお勉強しましょう。
Communicating Sequential Processes (CSP) という計算モデルについて、導入と利点を紹介します。JCSPというJavaのCSPライブラリ、およびGroovyのGParsライブラリによるラッパ実装を用いてお話します。
Java8で導入されたStream APIと、それを並列実行できるParallel Streamについて、パフォーマンスと例外処理の観点で、真面目に勉強してみました。
Parallel Stream、きっと怖くない!(><)
日本におけるJavaユーザーグループです。 公式サイト/Official site http://www.java-users.jp/
メンバーになる