Suche senden
Hochladen
Quasar: Actor Model and Light Weight Threads on Java
•
2 gefällt mir
•
4,126 views
T
Taku Miyakawa
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 10
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
プログラミング言語のパラダイムシフト(ダイジェスト)ーScalaから見る関数型と並列性時代の幕開けー
プログラミング言語のパラダイムシフト(ダイジェスト)ーScalaから見る関数型と並列性時代の幕開けー
TanUkkii
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
Kazuhiro Sera
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
akka-doc-ja
akka-doc-ja
TIS Inc.
Scalaはじめました!
Scalaはじめました!
Asami Abe
Developing an Akka Edge1-3
Developing an Akka Edge1-3
saaaaaaki
Developing an Akka Edge6
Developing an Akka Edge6
saaaaaaki
Empfohlen
プログラミング言語のパラダイムシフト(ダイジェスト)ーScalaから見る関数型と並列性時代の幕開けー
プログラミング言語のパラダイムシフト(ダイジェスト)ーScalaから見る関数型と並列性時代の幕開けー
TanUkkii
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
Kazuhiro Sera
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
akka-doc-ja
akka-doc-ja
TIS Inc.
Scalaはじめました!
Scalaはじめました!
Asami Abe
Developing an Akka Edge1-3
Developing an Akka Edge1-3
saaaaaaki
Developing an Akka Edge6
Developing an Akka Edge6
saaaaaaki
Developing an Akka Edge4-5
Developing an Akka Edge4-5
saaaaaaki
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
Scala.jsはじめました?
Scala.jsはじめました?
K Kinzal
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Asami Abe
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
Akkaの翻訳みんなでやろう Let's translate akka doc
Akkaの翻訳みんなでやろう Let's translate akka doc
賢太郎 前多
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
【LT】akka receive とScala Javaの違い
【LT】akka receive とScala Javaの違い
賢太郎 前多
第二回tento.tech定例会
第二回tento.tech定例会
Sosuke Suzuki
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
takezoe
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
Scalalr
Scalalr
ichikaz3
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
Elixirでslackのbotを作った話
Elixirでslackのbotを作った話
keisunagawa
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Futureのおまじないを理解する(LT)
Futureのおまじないを理解する(LT)
Hideaki Tarumi
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
金勘定のためのBigDecimalそしてMoney and Currency API
金勘定のためのBigDecimalそしてMoney and Currency API
Taku Miyakawa
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Weitere ähnliche Inhalte
Was ist angesagt?
Developing an Akka Edge4-5
Developing an Akka Edge4-5
saaaaaaki
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
Scala.jsはじめました?
Scala.jsはじめました?
K Kinzal
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Asami Abe
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
Akkaの翻訳みんなでやろう Let's translate akka doc
Akkaの翻訳みんなでやろう Let's translate akka doc
賢太郎 前多
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
【LT】akka receive とScala Javaの違い
【LT】akka receive とScala Javaの違い
賢太郎 前多
第二回tento.tech定例会
第二回tento.tech定例会
Sosuke Suzuki
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
takezoe
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
Scalalr
Scalalr
ichikaz3
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
Elixirでslackのbotを作った話
Elixirでslackのbotを作った話
keisunagawa
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Futureのおまじないを理解する(LT)
Futureのおまじないを理解する(LT)
Hideaki Tarumi
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Was ist angesagt?
(20)
Developing an Akka Edge4-5
Developing an Akka Edge4-5
Scala.js触ってみた
Scala.js触ってみた
Scala.jsはじめました?
Scala.jsはじめました?
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Scala.jsはじめました!
Scala.jsはじめました!
Akkaの翻訳みんなでやろう Let's translate akka doc
Akkaの翻訳みんなでやろう Let's translate akka doc
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
【LT】akka receive とScala Javaの違い
【LT】akka receive とScala Javaの違い
第二回tento.tech定例会
第二回tento.tech定例会
とりあえず使えるSBT
とりあえず使えるSBT
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Scalalr
Scalalr
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Elixirでslackのbotを作った話
Elixirでslackのbotを作った話
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
Futureのおまじないを理解する(LT)
Futureのおまじないを理解する(LT)
Scalaの現状と課題
Scalaの現状と課題
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
Andere mochten auch
金勘定のためのBigDecimalそしてMoney and Currency API
金勘定のためのBigDecimalそしてMoney and Currency API
Taku Miyakawa
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Graph Algorithms Part 1
Graph Algorithms Part 1
Taku Miyakawa
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
Java オブジェクトの内部構造
Java オブジェクトの内部構造
Taku Miyakawa
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語
Taku Miyakawa
Hadoop jobbuilder
Hadoop jobbuilder
Taku Miyakawa
擬似乱数生成器の評価
擬似乱数生成器の評価
Taku Miyakawa
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
Taku Miyakawa
Kink の宣伝
Kink の宣伝
Taku Miyakawa
Summary of "Hacking", 0x351-0x354
Summary of "Hacking", 0x351-0x354
Taku Miyakawa
Matrix Multiplication in Strassen Algorithm
Matrix Multiplication in Strassen Algorithm
Taku Miyakawa
コルーチンの実装について
コルーチンの実装について
Taku Miyakawa
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Yuji Kubota
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
Yuji Kubota
Introduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainer
Ryo Shimizu
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
Taku Miyakawa
CuPy解説
CuPy解説
Ryosuke Okuta
Andere mochten auch
(20)
金勘定のためのBigDecimalそしてMoney and Currency API
金勘定のためのBigDecimalそしてMoney and Currency API
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Graph Algorithms Part 1
Graph Algorithms Part 1
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Java オブジェクトの内部構造
Java オブジェクトの内部構造
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
Kink: プロトタイプベースの俺々 JVM 言語
Kink: プロトタイプベースの俺々 JVM 言語
Hadoop jobbuilder
Hadoop jobbuilder
擬似乱数生成器の評価
擬似乱数生成器の評価
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
Kink の宣伝
Kink の宣伝
Summary of "Hacking", 0x351-0x354
Summary of "Hacking", 0x351-0x354
Matrix Multiplication in Strassen Algorithm
Matrix Multiplication in Strassen Algorithm
コルーチンの実装について
コルーチンの実装について
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
Introduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainer
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
CuPy解説
CuPy解説
Ähnlich wie Quasar: Actor Model and Light Weight Threads on Java
Scala界隈の近況
Scala界隈の近況
takezoe
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Java使いにとっての関数
Java使いにとっての関数
amkt922
Dark vol4 for_slideshare
Dark vol4 for_slideshare
ara_ta3
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
実践Akka
実践Akka
Huy Do
Ähnlich wie Quasar: Actor Model and Light Weight Threads on Java
(6)
Scala界隈の近況
Scala界隈の近況
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Java使いにとっての関数
Java使いにとっての関数
Dark vol4 for_slideshare
Dark vol4 for_slideshare
Scala Daysに行ってみて
Scala Daysに行ってみて
実践Akka
実践Akka
Kürzlich hochgeladen
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Kürzlich hochgeladen
(11)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Quasar: Actor Model and Light Weight Threads on Java
1.
Quasar: Java のアクター/軽量スレッド
宮川 拓 / @miyakawa_taku 2014-08-22 JJUG LT大会
2.
自己紹介 •宮川拓です •Kink
という JVM 言語を作ってます –https://bitbucket.org/kink/kink •大相撲秋場所に向けて準備中です 1
3.
Quasar? •Erlang 的なアクターモデルを実現する
Java ライブラリ 2
4.
アクターモデル •アクター(スレッド的なもの)同士がメッセージ を互いに投げ合って協調動作する計算モデル
•オブジェクトを作る感覚でアクターを作る •つまり湯水のごとくスレッドを作る 3
5.
Scala のアクターと何が違うの? •Scala
のアクター –ネイティブスレッドで実現されている •Quasar のアクター –軽量スレッドで実現されている 4
6.
軽量スレッド? •軽量スレッド ::=
–ユーザランド(カーネル外)で実現するスレッド –Go の goroutine, Erlang の「プロセス」など –Quasar では「Fiber」と呼ぶ •利点 –100万とか1,000万とかの数が作れる –ブロックが多発する状況では性能で有利 5
7.
実現方法 •バイトコード操作でコンテキストスイッチ用の コードを仕込む
–クラスロード時(-javaagent) or コンパイル時 6
8.
実行時の動作 1.実行している命令の位置 2.ローカル変数のセット
を自前のスタックに保存しながら実行する (ようにバイトコードを改変する) 7 class SenderFiber extends Fiber { public Void run() throws ... { int num = 42; channel.send(num); num = 24; channel.send(num); bye(); } } data=24
9.
制御が離れる時の動作 •ブロック/yieldするメソッドが SuspendExecution例外を投げる
•呼び出し元がキャッチして他の軽量スレッドに 制御を渡す 8 class SenderFiber extends Fiber { public Void run() throws ... { int num = 42; channel.send(num); num = 24; channel.send(num); bye(); } } SuspendExecution
10.
制御が戻ってくる時の動作 •もう一度同じメソッドを呼び出す •メソッドの先頭で自前スタックから実行位置と
ローカル変数を回復 •switch & ジャンプ 9 class SenderFiber extends Fiber { public Void run() throws ... { int num = 42; channel.send(num); num = 24; channel.send(num); bye(); } } ローカル変数回復 switch & ジャンプ
Jetzt herunterladen