Submit Search
Fork/Join Framework。そしてLambdaへ。
2 likes
1,976 views
Yuichi Sakuraba
1 of 23
Download now
Downloaded 33 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
More Related Content
PDF
Emcjp item21
MITSUNARI Shigeo
PDF
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
Mr. Vengineer
PDF
おいしいLisp
Kent Ohashi
PDF
Functional Way
Kent Ohashi
PDF
C++14 Overview
Akira Takahashi
PDF
Cloud TPU Driver API ソースコード解析
Mr. Vengineer
PPTX
Brief introduction of Boost.ICL
yak1ex
PDF
Tensorflow dynamically loadable XLA plugin ソースコード解析
Mr. Vengineer
Emcjp item21
MITSUNARI Shigeo
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
Mr. Vengineer
おいしいLisp
Kent Ohashi
Functional Way
Kent Ohashi
C++14 Overview
Akira Takahashi
Cloud TPU Driver API ソースコード解析
Mr. Vengineer
Brief introduction of Boost.ICL
yak1ex
Tensorflow dynamically loadable XLA plugin ソースコード解析
Mr. Vengineer
What's hot
(20)
PDF
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
Ouka Yuka
PPTX
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
PDF
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
PDF
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
TanUkkii
KEY
Sml#探検隊
Hiroki Mizuno
PDF
組み込みでこそC++を使う10の理由
kikairoya
PDF
Emcpp item31
mitsutaka_takeda
PPTX
Visual C++で使えるC++11
nekko1119
PDF
研究生のためのC++ no.2
Tomohiro Namba
PDF
C++11
京大 マイコンクラブ
PDF
命令プログラミングから関数プログラミングへ
Naoki Kitora
PDF
Subprocess no susume
Makoto Kishimoto
PDF
templateとautoの型推論
MITSUNARI Shigeo
PDF
ALPSチュートリアル(4) Python入門
Computational Materials Science Initiative
PDF
More C++11
京大 マイコンクラブ
PDF
Python で munin plugin を書いてみる
ftnk
PPTX
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
PDF
boost tour 1.48.0 all
Akira Takahashi
PDF
ゲーム開発者のための C++11/C++14
Ryo Suzuki
PPTX
Scalamacrosについて
dekosuke
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
Ouka Yuka
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
TanUkkii
Sml#探検隊
Hiroki Mizuno
組み込みでこそC++を使う10の理由
kikairoya
Emcpp item31
mitsutaka_takeda
Visual C++で使えるC++11
nekko1119
研究生のためのC++ no.2
Tomohiro Namba
C++11
京大 マイコンクラブ
命令プログラミングから関数プログラミングへ
Naoki Kitora
Subprocess no susume
Makoto Kishimoto
templateとautoの型推論
MITSUNARI Shigeo
ALPSチュートリアル(4) Python入門
Computational Materials Science Initiative
More C++11
京大 マイコンクラブ
Python で munin plugin を書いてみる
ftnk
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
boost tour 1.48.0 all
Akira Takahashi
ゲーム開発者のための C++11/C++14
Ryo Suzuki
Scalamacrosについて
dekosuke
Ad
Viewers also liked
(20)
KEY
MTDDC 2010.2.5 Tokyo - Brand new API
Six Apart KK
PDF
Novelties in Java EE 7: JAX-RS 2.0 + IPT REST HATEOAS Polling Demo @ BGOUG Co...
Trayan Iliev
PDF
Data API ことはじめ
Yuji Takayama
PPTX
Introducing C# in AWS Lambda
Atsushi Fukui
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
PDF
20161111 java one2016-feedback
Takashi Ito
PDF
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
PDF
Introduction to AWS X-Ray
Keisuke Nishitani
PDF
Awsで作るビッグデータ解析今とこれから
Shohei Kobayashi
PDF
AWSのサーバレス関連アップデートを10分で紹介します
Keisuke Nishitani
PDF
デモから見るOpenWhisk - Docker Action -
Hideaki Tokida
PDF
Serverless meetup02 openwhisk
Hideaki Tokida
PDF
The Internal of Serverless Plugins
Terui Masashi
PDF
What's new with Serverless
Keisuke Nishitani
PPTX
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
Kazuhiro Sasaki
PDF
Salesforce Einstein - SaaS企業のAI戦略とテクノロジ -
Mitch Okamoto
PDF
Serverless Revolution
Keisuke Nishitani
PDF
Serverless Architecture on AWS(20151023版)
Keisuke Nishitani
PDF
スタートアップがグローバルなシステムを作るために、積極的にサーバーレスに取り組んでみた話 / Serverless Meetup Sapporo
Takehito Tanabe
PDF
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Keisuke Nishitani
MTDDC 2010.2.5 Tokyo - Brand new API
Six Apart KK
Novelties in Java EE 7: JAX-RS 2.0 + IPT REST HATEOAS Polling Demo @ BGOUG Co...
Trayan Iliev
Data API ことはじめ
Yuji Takayama
Introducing C# in AWS Lambda
Atsushi Fukui
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
20161111 java one2016-feedback
Takashi Ito
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
Introduction to AWS X-Ray
Keisuke Nishitani
Awsで作るビッグデータ解析今とこれから
Shohei Kobayashi
AWSのサーバレス関連アップデートを10分で紹介します
Keisuke Nishitani
デモから見るOpenWhisk - Docker Action -
Hideaki Tokida
Serverless meetup02 openwhisk
Hideaki Tokida
The Internal of Serverless Plugins
Terui Masashi
What's new with Serverless
Keisuke Nishitani
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
Kazuhiro Sasaki
Salesforce Einstein - SaaS企業のAI戦略とテクノロジ -
Mitch Okamoto
Serverless Revolution
Keisuke Nishitani
Serverless Architecture on AWS(20151023版)
Keisuke Nishitani
スタートアップがグローバルなシステムを作るために、積極的にサーバーレスに取り組んでみた話 / Serverless Meetup Sapporo
Takehito Tanabe
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Keisuke Nishitani
Ad
Similar to Fork/Join Framework。そしてLambdaへ。
(20)
PDF
Rの高速化
弘毅 露崎
PDF
Replace Output Iterator and Extend Range JP
Akira Takahashi
PPTX
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
mganeko
PDF
たのしい関数型
Shinichi Kozake
PPTX
関数型言語&形式的手法セミナー(3)
啓 小笠原
PDF
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
Fujio Kojima
PPTX
Prosym2012
MITSUNARI Shigeo
PDF
Python physicalcomputing
Noboru Irieda
PDF
Project Loom + Project Panama
Yuichi Sakuraba
PDF
ATN No.2 Scala事始め
AdvancedTechNight
PPTX
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
PDF
PostgreSQL - C言語によるユーザ定義関数の作り方
Satoshi Nagayasu
PPTX
Java Puzzlers JJUG CCC 2016
Yoshio Terada
PDF
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
PPTX
ぱっと見でわかるC++11
えぴ 福田
PDF
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
y_taka_23
PDF
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
直久 住川
PDF
Ylug 110th kpatch code reading
Masami Hiramatsu
PPTX
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
PDF
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
Rの高速化
弘毅 露崎
Replace Output Iterator and Extend Range JP
Akira Takahashi
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
mganeko
たのしい関数型
Shinichi Kozake
関数型言語&形式的手法セミナー(3)
啓 小笠原
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
Fujio Kojima
Prosym2012
MITSUNARI Shigeo
Python physicalcomputing
Noboru Irieda
Project Loom + Project Panama
Yuichi Sakuraba
ATN No.2 Scala事始め
AdvancedTechNight
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
PostgreSQL - C言語によるユーザ定義関数の作り方
Satoshi Nagayasu
Java Puzzlers JJUG CCC 2016
Yoshio Terada
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
ぱっと見でわかるC++11
えぴ 福田
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
y_taka_23
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
直久 住川
Ylug 110th kpatch code reading
Masami Hiramatsu
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
More from Yuichi Sakuraba
(20)
PDF
Vector API - Javaによるベクターコンピューティング
Yuichi Sakuraba
PDF
Oracle Code One - Java KeynoteとJava SE
Yuichi Sakuraba
PDF
Project Loom - 限定継続と軽量スレッド -
Yuichi Sakuraba
PDF
Oracle Code One 報告会 Java SE Update
Yuichi Sakuraba
PDF
今こそStream API入門
Yuichi Sakuraba
PDF
Oracle Code One 報告会 Java SE Update
Yuichi Sakuraba
PDF
Learn Language 2018 Java Language Update
Yuichi Sakuraba
PDF
Dockerに向けて、Javaもダイエット
Yuichi Sakuraba
PDF
What's New in Java
Yuichi Sakuraba
PDF
Migration Guide to Java SE 10, and also Java SE 11
Yuichi Sakuraba
PDF
琥珀色のJava - Project Amber -
Yuichi Sakuraba
PDF
Moving to Module: Issues & Solutions
Yuichi Sakuraba
PDF
モジュール移行の課題と対策
Yuichi Sakuraba
PDF
Project Jigsawと、ちょっとだけVector API
Yuichi Sakuraba
PDF
Java SE 9の全貌
Yuichi Sakuraba
PDF
Java SEの現在、過去 そして未来
Yuichi Sakuraba
PDF
Java SE 9 のススメ
Yuichi Sakuraba
PDF
Introduction of Project Jigsaw
Yuichi Sakuraba
PDF
Encouragement of Java SE 9
Yuichi Sakuraba
PDF
Javaで和暦と元号
Yuichi Sakuraba
Vector API - Javaによるベクターコンピューティング
Yuichi Sakuraba
Oracle Code One - Java KeynoteとJava SE
Yuichi Sakuraba
Project Loom - 限定継続と軽量スレッド -
Yuichi Sakuraba
Oracle Code One 報告会 Java SE Update
Yuichi Sakuraba
今こそStream API入門
Yuichi Sakuraba
Oracle Code One 報告会 Java SE Update
Yuichi Sakuraba
Learn Language 2018 Java Language Update
Yuichi Sakuraba
Dockerに向けて、Javaもダイエット
Yuichi Sakuraba
What's New in Java
Yuichi Sakuraba
Migration Guide to Java SE 10, and also Java SE 11
Yuichi Sakuraba
琥珀色のJava - Project Amber -
Yuichi Sakuraba
Moving to Module: Issues & Solutions
Yuichi Sakuraba
モジュール移行の課題と対策
Yuichi Sakuraba
Project Jigsawと、ちょっとだけVector API
Yuichi Sakuraba
Java SE 9の全貌
Yuichi Sakuraba
Java SEの現在、過去 そして未来
Yuichi Sakuraba
Java SE 9 のススメ
Yuichi Sakuraba
Introduction of Project Jigsaw
Yuichi Sakuraba
Encouragement of Java SE 9
Yuichi Sakuraba
Javaで和暦と元号
Yuichi Sakuraba
Fork/Join Framework。そしてLambdaへ。
1.
Fork/Join Framework。
そして Lambda へ。 Java in the Box 櫻庭 祐一
2.
Java には信頼性の高い 並行プログラムを構築するのに使える
構成要素がある Java: The Good Parts 10 章より引用
3.
1994 Java 1.0α
Thread Runnable 2004 J2SE 5.0 JSR 166 Concurrency Utilities
4.
1994 Java 1.0α
Thread Concurrent Runnable 2004 J2SE 5.0 JSR 166 Concurrency Utilities Parallel
5.
トランジスタ数
周波数 消費電力
6.
トランジスタ数
周波数 消費電力
7.
2004 UltraSPARC IV 2006
Core2 Extream 2009 Nehalem-EX 2010 Opteron 6100 2010 SPARC T3 Intel SCC
8.
SingleCore 時代の Software MultiCore
時代の Software
9.
JSR166 Executor
同期 Core 1 Core 2 Core 3 Core 4
10.
JSR166y Fork/Join Framework
同期 Core 1 Core 2 Core 3 Core 4
11.
分割統治法
12.
分割統治法 フィボナッチ数列
F0 = 0, F1 = 1 Fn = Fn-1+ Fn-2 public int compute(int n) { if (n <= 1) { return n; } return compute(n-1) + compute(n-2); }
13.
分割統治法 フィボナッチ数列
F0 = 0, F1 = 1 Fn = Fn-1+ Fn-2 class FibonacciTask extends RecursiveTask<Integer> { private final int n; FibonacciTask(int n) { this.n = n; } protected Integer compute() { if (n <= 1) { return n; } FibonacciTask f1 = new FibonacciTask(n - 1); f1.fork(); FibonacciTask f2 = new FibonacciTask(n - 2); return f2.compute() + f1.join(); } }
14.
Work Stealing
Task 両端キュー Deque Worker1 Comp Fork Comp Fork Worker2 Comp Fork Comp Fork ソート 検索 数値計算 行列操作 枝狩り et al.
15.
内部イテレータ Java
List<Integer> numbers = ...; for (int i = 0; i < numbers.size(); i++) { numbers.set(i, numbers.get(i) * 2); } Groovy def numbers = ... 独立 numbers.collect { it * 2 } 並行処理可
16.
extra166y ParallelArray
Integer[] numbers = ...; ForkJoinPool pool = new ForkJoinPool(); ParallelArray<Integer> array = ParallelArray.createFromCopy(numbers, pool); Ops.Op<Integer, Integer> doubler = new Ops.Op<>() { @Override public Integer op(Integer x) { return x * 2; } }; array.withMapping(doubler);
17.
extra166y ParallelArray
Integer[] numbers = ...; ForkJoinPool pool = new ForkJoinPool(); ParallelArray<Integer> array = ParallelArray.createFromCopy(numbers, pool); Ops.Op<Integer, Integer> doubler = new Ops.Op<>() { @Override public Integer op(Integer x) { return x * 2; } }; array.withMapping(doubler);
18.
extra166y ParallelArray
Integer[] numbers = ...; ForkJoinPool pool = new ForkJoinPool(); ParallelArray<Integer> array = ParallelArray.createFromCopy(numbers, pool); Ops.Op<Integer, Integer> doubler = #{Integer num -> num * 2}; array.withMapping(doubler); ラムダ式 Project Lambda
19.
extra166y ParallelArray
Integer[] numbers = ...; ForkJoinPool pool = new ForkJoinPool(); ParallelArray<Integer> array = ParallelArray.createFromCopy(numbers, pool); Ops.Op<Integer, Integer> doubler = #{Integer num -> num * 2}; array.withMapping(doubler); ラムダ式 Project Lambda
20.
extra166y ParallelArray
Integer[] numbers = ...; ForkJoinPool pool = new ForkJoinPool(); ParallelArray<Integer> array = ParallelArray.createFromCopy(numbers, pool); array.withMapping(#{Integer num -> num * 2});
21.
Multicore Era
Thread/Executor JSR 166y Fork/Join Framework Work Stealing extra166y 内部イテレータ JSR 335 もっと簡単に! Project Lambda
22.
Tips
時間のかかる処理はしない キャッシュを考慮する 参考 ITpro Java SE 7 徹底理解 No.2 細粒度の並行処理 - Fork/Join Framework No.3 Fork/Join Framework から Project Lambda へ
23.
Fork/Join Framework。
そして Lambda へ。 Java in the Box 櫻庭 祐一
Download