SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
GPars 2014 
Dr Russel Winder 
russel@winder.org.uk 
@russel_winder 
http://www.russel.org.uk 
Copyright © 2014 Russel Winder 1
This is a sales pitch… 
Copyright © 2014 Russel Winder 2
This is a s✘ales pitch… 
Copyright © 2014 Russel Winder 3
This is a sales pitch… 
Copyright © 2014 Russel Winder 4
This is breaking news… 
Copyright © 2014 Russel Winder 5
It's new… 
Copyright © 2014 Russel Winder 6
It's improved… 
Copyright © 2014 Russel Winder 7
It's… 
Copyright © 2014 Russel Winder 8
Copyright © 2014 Russel Winder 9
Thanks to GSoC 2014, 
Rafał Sławik 
built on a partial implementation by 
Alex Tkachman. 
Copyright © 2014 Russel Winder 10
Remote Objects 
Copyright © 2014 Russel Winder 11
GPars already has single JVM 
concurrency and parallelism. 
You can use it from Java 
as well as Groovy. 
Copyright © 2014 Russel Winder 12
GPars now has remote objects. 
Realized by using Netty. 
Copyright © 2014 Russel Winder 13
Actors 
Independent processes 
communicating via 
asynchronous exchange 
of messages. 
Dataflow 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Data Parallelism 
Transform a sequence to 
another sequence where all 
individual actions happen 
at the same time. 
CSP 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Copyright © 2014 Russel Winder 14
Active Objects 
An object that is actually 
an actor but looks like a 
full service object. 
Agents 
A wrapper for some 
shared mutable state. 
Fork/Join 
An toolkit for tree structured 
concurrency and parallelism. 
Software Transactional Memory 
Wrappers for mutable values that uses transactions 
rather than locks. 
Copyright © 2014 Russel Winder 15
Actors 
Independent processes 
communicating via 
asynchronous exchange 
of messages. 
Dataflow 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Data Parallelism 
Transform a sequence to 
another sequence where all 
individual actions happen 
at the same time. 
CSP 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Copyright © 2014 Russel Winder 16
Data Parallelism 
Transform a sequence to 
another sequence where all 
individual actions happen 
at the same time. 
Copyright © 2014 Russel Winder 17
Dataflow 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Copyright © 2014 Russel Winder 18
CSP 
Sequential processes 
communicating by 
sending messages on 
channels. 
Copyright © 2014 Russel Winder 19
Actors 
Independent processes 
communicating via 
asynchronous exchange 
of messages. 
Copyright © 2014 Russel Winder 20
Actors 
Independent processes 
communicating via 
asynchronous exchange 
of messages. 
Dataflow 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Data Parallelism 
Transform a sequence to 
another sequence where 
all individual actions 
happen at the same time. 
CSP 
Operators connected by 
channels with activity 
triggered by arrival of 
data on the channels. 
Copyright © 2014 Russel Winder 21
Copyright © 2014 Russel Winder 22
Copyright © 2014 Russel Winder 23
Copyright © 2014 Russel Winder 24
Hadoop 
Copyright © 2014 Russel Winder 25
Copyright © 2014 Russel Winder 26
Copyright © 2014 Russel Winder 27
Service Oriented Architecture 
Copyright © 2014 Russel Winder 28
Services 
Copyright © 2014 Russel Winder 29
Micro-Services 
Copyright © 2014 Russel Winder 30
Pico-Services 
Copyright © 2014 Russel Winder 31
No HTTP, Web, port 80, HTML, CSS.. 
Copyright © 2014 Russel Winder 32
Copyright © 2014 Russel Winder 33
GPars 
Dr Russel Winder 
russel@winder.org.uk 
@russel_winder 
http://www.russel.org.uk 
Copyright © 2014 Russel Winder 34

Contenu connexe

Tendances

What's New in Go Crypto - Gotham Go
What's New in Go Crypto - Gotham GoWhat's New in Go Crypto - Gotham Go
What's New in Go Crypto - Gotham GoNick Sullivan
 
The STARS Shared Initiative - Pablo de Castro and Jackie Proven
The STARS Shared Initiative - Pablo de Castro and Jackie ProvenThe STARS Shared Initiative - Pablo de Castro and Jackie Proven
The STARS Shared Initiative - Pablo de Castro and Jackie ProvenRepository Fringe
 
Overview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca ArbezzanoOverview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca ArbezzanoGianluca Arbezzano
 
Monitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloudMonitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloudDatadog
 
Bringing Elliptic Curve Cryptography into the Mainstream
Bringing Elliptic Curve Cryptography into the MainstreamBringing Elliptic Curve Cryptography into the Mainstream
Bringing Elliptic Curve Cryptography into the MainstreamNick Sullivan
 
Events and metrics the Lifeblood of Webops
Events and metrics the Lifeblood of WebopsEvents and metrics the Lifeblood of Webops
Events and metrics the Lifeblood of WebopsDatadog
 
Lifting the Blinds: Monitoring Windows Server 2012
Lifting the Blinds: Monitoring Windows Server 2012Lifting the Blinds: Monitoring Windows Server 2012
Lifting the Blinds: Monitoring Windows Server 2012Datadog
 
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a ServiceWeave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a ServiceWeaveworks
 

Tendances (8)

What's New in Go Crypto - Gotham Go
What's New in Go Crypto - Gotham GoWhat's New in Go Crypto - Gotham Go
What's New in Go Crypto - Gotham Go
 
The STARS Shared Initiative - Pablo de Castro and Jackie Proven
The STARS Shared Initiative - Pablo de Castro and Jackie ProvenThe STARS Shared Initiative - Pablo de Castro and Jackie Proven
The STARS Shared Initiative - Pablo de Castro and Jackie Proven
 
Overview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca ArbezzanoOverview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca Arbezzano
 
Monitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloudMonitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloud
 
Bringing Elliptic Curve Cryptography into the Mainstream
Bringing Elliptic Curve Cryptography into the MainstreamBringing Elliptic Curve Cryptography into the Mainstream
Bringing Elliptic Curve Cryptography into the Mainstream
 
Events and metrics the Lifeblood of Webops
Events and metrics the Lifeblood of WebopsEvents and metrics the Lifeblood of Webops
Events and metrics the Lifeblood of Webops
 
Lifting the Blinds: Monitoring Windows Server 2012
Lifting the Blinds: Monitoring Windows Server 2012Lifting the Blinds: Monitoring Windows Server 2012
Lifting the Blinds: Monitoring Windows Server 2012
 
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a ServiceWeave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
 

En vedette

concurrency with GPars
concurrency with GParsconcurrency with GPars
concurrency with GParsPaul King
 
Dataflow: the concurrency/parallelism architecture you need
Dataflow: the concurrency/parallelism architecture you needDataflow: the concurrency/parallelism architecture you need
Dataflow: the concurrency/parallelism architecture you needRussel Winder
 
GPars (Groovy Parallel Systems)
GPars (Groovy Parallel Systems)GPars (Groovy Parallel Systems)
GPars (Groovy Parallel Systems)Gagan Agrawal
 
GPARS: Lessons from the parallel universe - Itamar Tayer, CoolaData
GPARS: Lessons from the parallel universe - Itamar Tayer, CoolaDataGPARS: Lessons from the parallel universe - Itamar Tayer, CoolaData
GPARS: Lessons from the parallel universe - Itamar Tayer, CoolaDataCodemotion Tel Aviv
 
groovy and concurrency
groovy and concurrencygroovy and concurrency
groovy and concurrencyPaul King
 

En vedette (6)

Gpars Workshop 2014
Gpars Workshop 2014Gpars Workshop 2014
Gpars Workshop 2014
 
concurrency with GPars
concurrency with GParsconcurrency with GPars
concurrency with GPars
 
Dataflow: the concurrency/parallelism architecture you need
Dataflow: the concurrency/parallelism architecture you needDataflow: the concurrency/parallelism architecture you need
Dataflow: the concurrency/parallelism architecture you need
 
GPars (Groovy Parallel Systems)
GPars (Groovy Parallel Systems)GPars (Groovy Parallel Systems)
GPars (Groovy Parallel Systems)
 
GPARS: Lessons from the parallel universe - Itamar Tayer, CoolaData
GPARS: Lessons from the parallel universe - Itamar Tayer, CoolaDataGPARS: Lessons from the parallel universe - Itamar Tayer, CoolaData
GPARS: Lessons from the parallel universe - Itamar Tayer, CoolaData
 
groovy and concurrency
groovy and concurrencygroovy and concurrency
groovy and concurrency
 

Similaire à GPars 2014

Emc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overviewEmc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overviewsolarisyougood
 
Emc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overviewEmc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overviewsolarisyougood
 
Application patterns
Application patternsApplication patterns
Application patternstomi vanek
 
Why Go is an important programming language
Why Go is an important programming languageWhy Go is an important programming language
Why Go is an important programming languageRussel Winder
 
Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...
Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...
Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...Cohesive Networks
 
SDN Service Provider Use Cases
SDN Service Provider Use CasesSDN Service Provider Use Cases
SDN Service Provider Use CasesSDxCentral
 
Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25
Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25
Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25Real-Time Innovations (RTI)
 
Cloud Computing and the Promise of Everything as a Service
Cloud Computing and the Promise of Everything as a ServiceCloud Computing and the Promise of Everything as a Service
Cloud Computing and the Promise of Everything as a ServiceLew Tucker
 
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming DataDruid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming DataDataWorks Summit
 
Building a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at VertaforeBuilding a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at VertaforeMongoDB
 
PLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
PLNOG14: SteelCentral NPM Solution - Tomasz WiniarskiPLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
PLNOG14: SteelCentral NPM Solution - Tomasz WiniarskiPROIDEA
 
Hortonworks sqrrl webinar v5.pptx
Hortonworks sqrrl webinar v5.pptxHortonworks sqrrl webinar v5.pptx
Hortonworks sqrrl webinar v5.pptxHortonworks
 
Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)Krunal Jain
 
Accelerating SDN Applications with Open Source Network Overlays
Accelerating SDN Applications with Open Source Network OverlaysAccelerating SDN Applications with Open Source Network Overlays
Accelerating SDN Applications with Open Source Network OverlaysCumulus Networks
 
FusionLayer - Network provisioning, automation, and control for private datac...
FusionLayer - Network provisioning, automation, and control for private datac...FusionLayer - Network provisioning, automation, and control for private datac...
FusionLayer - Network provisioning, automation, and control for private datac...FusionLayer Inc.
 
OpenStack Ottawa MeetUp - April 3rd 2018
OpenStack Ottawa MeetUp - April 3rd 2018OpenStack Ottawa MeetUp - April 3rd 2018
OpenStack Ottawa MeetUp - April 3rd 2018Stacy Véronneau
 
Infatuation Leads to Love — How Container Orchestration and Federation Enable...
Infatuation Leads to Love — How Container Orchestration and Federation Enable...Infatuation Leads to Love — How Container Orchestration and Federation Enable...
Infatuation Leads to Love — How Container Orchestration and Federation Enable...Dana Gardner
 
SDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier OpportunitiesSDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier Opportunitiesrjain51
 

Similaire à GPars 2014 (20)

RTI Connext 5.1.0
RTI Connext 5.1.0RTI Connext 5.1.0
RTI Connext 5.1.0
 
Emc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overviewEmc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overview
 
Emc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overviewEmc vi pr hdfs data service technical overview
Emc vi pr hdfs data service technical overview
 
Application patterns
Application patternsApplication patterns
Application patterns
 
Why Go is an important programming language
Why Go is an important programming languageWhy Go is an important programming language
Why Go is an important programming language
 
Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...
Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...
Chris Swan's CloudExpo Europe presentation "Waves of adoption for Network Fun...
 
SDN Service Provider Use Cases
SDN Service Provider Use CasesSDN Service Provider Use Cases
SDN Service Provider Use Cases
 
Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25
Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25
Build Safe & Secure Distributed Systems - RTI Huntsville Roadshow- 2014 09 25
 
Cloud Computing and the Promise of Everything as a Service
Cloud Computing and the Promise of Everything as a ServiceCloud Computing and the Promise of Everything as a Service
Cloud Computing and the Promise of Everything as a Service
 
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming DataDruid: Sub-Second OLAP queries over Petabytes of Streaming Data
Druid: Sub-Second OLAP queries over Petabytes of Streaming Data
 
Building a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at VertaforeBuilding a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at Vertafore
 
PLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
PLNOG14: SteelCentral NPM Solution - Tomasz WiniarskiPLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
PLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
 
Hortonworks sqrrl webinar v5.pptx
Hortonworks sqrrl webinar v5.pptxHortonworks sqrrl webinar v5.pptx
Hortonworks sqrrl webinar v5.pptx
 
Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)
 
Accelerating SDN Applications with Open Source Network Overlays
Accelerating SDN Applications with Open Source Network OverlaysAccelerating SDN Applications with Open Source Network Overlays
Accelerating SDN Applications with Open Source Network Overlays
 
FusionLayer - Network provisioning, automation, and control for private datac...
FusionLayer - Network provisioning, automation, and control for private datac...FusionLayer - Network provisioning, automation, and control for private datac...
FusionLayer - Network provisioning, automation, and control for private datac...
 
OpenStack Ottawa MeetUp - April 3rd 2018
OpenStack Ottawa MeetUp - April 3rd 2018OpenStack Ottawa MeetUp - April 3rd 2018
OpenStack Ottawa MeetUp - April 3rd 2018
 
Infatuation Leads to Love — How Container Orchestration and Federation Enable...
Infatuation Leads to Love — How Container Orchestration and Federation Enable...Infatuation Leads to Love — How Container Orchestration and Federation Enable...
Infatuation Leads to Love — How Container Orchestration and Federation Enable...
 
SDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier OpportunitiesSDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier Opportunities
 
SDN use cases_2014
SDN use cases_2014SDN use cases_2014
SDN use cases_2014
 

Plus de Russel Winder

On Concurrency and Parallelism in the JVMverse
On Concurrency and Parallelism in the JVMverseOn Concurrency and Parallelism in the JVMverse
On Concurrency and Parallelism in the JVMverseRussel Winder
 
The Case for Kotlin and Ceylon
The Case for Kotlin and CeylonThe Case for Kotlin and Ceylon
The Case for Kotlin and CeylonRussel Winder
 
On the Architectures of Microservices: the next layer
On the Architectures of Microservices: the next layerOn the Architectures of Microservices: the next layer
On the Architectures of Microservices: the next layerRussel Winder
 
Fast Python? Don't Bother
Fast Python? Don't BotherFast Python? Don't Bother
Fast Python? Don't BotherRussel Winder
 
Making Python computations fast
Making Python computations fastMaking Python computations fast
Making Python computations fastRussel Winder
 
Tales from the Workshops
Tales from the WorkshopsTales from the Workshops
Tales from the WorkshopsRussel Winder
 
Making Computations Execute Very Quickly
Making Computations Execute Very QuicklyMaking Computations Execute Very Quickly
Making Computations Execute Very QuicklyRussel Winder
 
Java is Dead, Long Live Ceylon, Kotlin, etc
Java is Dead,  Long Live Ceylon, Kotlin, etcJava is Dead,  Long Live Ceylon, Kotlin, etc
Java is Dead, Long Live Ceylon, Kotlin, etcRussel Winder
 
Java is dead, long live Scala, Kotlin, Ceylon, etc.
Java is dead, long live Scala, Kotlin, Ceylon, etc.Java is dead, long live Scala, Kotlin, Ceylon, etc.
Java is dead, long live Scala, Kotlin, Ceylon, etc.Russel Winder
 
Spocktacular testing
Spocktacular testingSpocktacular testing
Spocktacular testingRussel Winder
 
Spocktacular Testing
Spocktacular TestingSpocktacular Testing
Spocktacular TestingRussel Winder
 
Is Groovy static or dynamic
Is Groovy static or dynamicIs Groovy static or dynamic
Is Groovy static or dynamicRussel Winder
 
Java is dead, long live Scala Kotlin Ceylon etc.
Java is dead, long live Scala Kotlin Ceylon etc.Java is dead, long live Scala Kotlin Ceylon etc.
Java is dead, long live Scala Kotlin Ceylon etc.Russel Winder
 
Are Go and D threats to Python
Are Go and D threats to PythonAre Go and D threats to Python
Are Go and D threats to PythonRussel Winder
 
Is Groovy as fast as Java
Is Groovy as fast as JavaIs Groovy as fast as Java
Is Groovy as fast as JavaRussel Winder
 
Who needs C++ when you have D and Go
Who needs C++ when you have D and GoWho needs C++ when you have D and Go
Who needs C++ when you have D and GoRussel Winder
 
Java 8: a New Beginning
Java 8: a New BeginningJava 8: a New Beginning
Java 8: a New BeginningRussel Winder
 
GPars: Groovy Parallelism for Java
GPars: Groovy Parallelism for JavaGPars: Groovy Parallelism for Java
GPars: Groovy Parallelism for JavaRussel Winder
 
GroovyFX: or how to program JavaFX easily
GroovyFX: or how to program JavaFX easily GroovyFX: or how to program JavaFX easily
GroovyFX: or how to program JavaFX easily Russel Winder
 
Switch to Python 3…now…immediately
Switch to Python 3…now…immediatelySwitch to Python 3…now…immediately
Switch to Python 3…now…immediatelyRussel Winder
 

Plus de Russel Winder (20)

On Concurrency and Parallelism in the JVMverse
On Concurrency and Parallelism in the JVMverseOn Concurrency and Parallelism in the JVMverse
On Concurrency and Parallelism in the JVMverse
 
The Case for Kotlin and Ceylon
The Case for Kotlin and CeylonThe Case for Kotlin and Ceylon
The Case for Kotlin and Ceylon
 
On the Architectures of Microservices: the next layer
On the Architectures of Microservices: the next layerOn the Architectures of Microservices: the next layer
On the Architectures of Microservices: the next layer
 
Fast Python? Don't Bother
Fast Python? Don't BotherFast Python? Don't Bother
Fast Python? Don't Bother
 
Making Python computations fast
Making Python computations fastMaking Python computations fast
Making Python computations fast
 
Tales from the Workshops
Tales from the WorkshopsTales from the Workshops
Tales from the Workshops
 
Making Computations Execute Very Quickly
Making Computations Execute Very QuicklyMaking Computations Execute Very Quickly
Making Computations Execute Very Quickly
 
Java is Dead, Long Live Ceylon, Kotlin, etc
Java is Dead,  Long Live Ceylon, Kotlin, etcJava is Dead,  Long Live Ceylon, Kotlin, etc
Java is Dead, Long Live Ceylon, Kotlin, etc
 
Java is dead, long live Scala, Kotlin, Ceylon, etc.
Java is dead, long live Scala, Kotlin, Ceylon, etc.Java is dead, long live Scala, Kotlin, Ceylon, etc.
Java is dead, long live Scala, Kotlin, Ceylon, etc.
 
Spocktacular testing
Spocktacular testingSpocktacular testing
Spocktacular testing
 
Spocktacular Testing
Spocktacular TestingSpocktacular Testing
Spocktacular Testing
 
Is Groovy static or dynamic
Is Groovy static or dynamicIs Groovy static or dynamic
Is Groovy static or dynamic
 
Java is dead, long live Scala Kotlin Ceylon etc.
Java is dead, long live Scala Kotlin Ceylon etc.Java is dead, long live Scala Kotlin Ceylon etc.
Java is dead, long live Scala Kotlin Ceylon etc.
 
Are Go and D threats to Python
Are Go and D threats to PythonAre Go and D threats to Python
Are Go and D threats to Python
 
Is Groovy as fast as Java
Is Groovy as fast as JavaIs Groovy as fast as Java
Is Groovy as fast as Java
 
Who needs C++ when you have D and Go
Who needs C++ when you have D and GoWho needs C++ when you have D and Go
Who needs C++ when you have D and Go
 
Java 8: a New Beginning
Java 8: a New BeginningJava 8: a New Beginning
Java 8: a New Beginning
 
GPars: Groovy Parallelism for Java
GPars: Groovy Parallelism for JavaGPars: Groovy Parallelism for Java
GPars: Groovy Parallelism for Java
 
GroovyFX: or how to program JavaFX easily
GroovyFX: or how to program JavaFX easily GroovyFX: or how to program JavaFX easily
GroovyFX: or how to program JavaFX easily
 
Switch to Python 3…now…immediately
Switch to Python 3…now…immediatelySwitch to Python 3…now…immediately
Switch to Python 3…now…immediately
 

Dernier

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Dernier (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

GPars 2014

  • 1. GPars 2014 Dr Russel Winder russel@winder.org.uk @russel_winder http://www.russel.org.uk Copyright © 2014 Russel Winder 1
  • 2. This is a sales pitch… Copyright © 2014 Russel Winder 2
  • 3. This is a s✘ales pitch… Copyright © 2014 Russel Winder 3
  • 4. This is a sales pitch… Copyright © 2014 Russel Winder 4
  • 5. This is breaking news… Copyright © 2014 Russel Winder 5
  • 6. It's new… Copyright © 2014 Russel Winder 6
  • 7. It's improved… Copyright © 2014 Russel Winder 7
  • 8. It's… Copyright © 2014 Russel Winder 8
  • 9. Copyright © 2014 Russel Winder 9
  • 10. Thanks to GSoC 2014, Rafał Sławik built on a partial implementation by Alex Tkachman. Copyright © 2014 Russel Winder 10
  • 11. Remote Objects Copyright © 2014 Russel Winder 11
  • 12. GPars already has single JVM concurrency and parallelism. You can use it from Java as well as Groovy. Copyright © 2014 Russel Winder 12
  • 13. GPars now has remote objects. Realized by using Netty. Copyright © 2014 Russel Winder 13
  • 14. Actors Independent processes communicating via asynchronous exchange of messages. Dataflow Operators connected by channels with activity triggered by arrival of data on the channels. Data Parallelism Transform a sequence to another sequence where all individual actions happen at the same time. CSP Operators connected by channels with activity triggered by arrival of data on the channels. Copyright © 2014 Russel Winder 14
  • 15. Active Objects An object that is actually an actor but looks like a full service object. Agents A wrapper for some shared mutable state. Fork/Join An toolkit for tree structured concurrency and parallelism. Software Transactional Memory Wrappers for mutable values that uses transactions rather than locks. Copyright © 2014 Russel Winder 15
  • 16. Actors Independent processes communicating via asynchronous exchange of messages. Dataflow Operators connected by channels with activity triggered by arrival of data on the channels. Data Parallelism Transform a sequence to another sequence where all individual actions happen at the same time. CSP Operators connected by channels with activity triggered by arrival of data on the channels. Copyright © 2014 Russel Winder 16
  • 17. Data Parallelism Transform a sequence to another sequence where all individual actions happen at the same time. Copyright © 2014 Russel Winder 17
  • 18. Dataflow Operators connected by channels with activity triggered by arrival of data on the channels. Copyright © 2014 Russel Winder 18
  • 19. CSP Sequential processes communicating by sending messages on channels. Copyright © 2014 Russel Winder 19
  • 20. Actors Independent processes communicating via asynchronous exchange of messages. Copyright © 2014 Russel Winder 20
  • 21. Actors Independent processes communicating via asynchronous exchange of messages. Dataflow Operators connected by channels with activity triggered by arrival of data on the channels. Data Parallelism Transform a sequence to another sequence where all individual actions happen at the same time. CSP Operators connected by channels with activity triggered by arrival of data on the channels. Copyright © 2014 Russel Winder 21
  • 22. Copyright © 2014 Russel Winder 22
  • 23. Copyright © 2014 Russel Winder 23
  • 24. Copyright © 2014 Russel Winder 24
  • 25. Hadoop Copyright © 2014 Russel Winder 25
  • 26. Copyright © 2014 Russel Winder 26
  • 27. Copyright © 2014 Russel Winder 27
  • 28. Service Oriented Architecture Copyright © 2014 Russel Winder 28
  • 29. Services Copyright © 2014 Russel Winder 29
  • 30. Micro-Services Copyright © 2014 Russel Winder 30
  • 31. Pico-Services Copyright © 2014 Russel Winder 31
  • 32. No HTTP, Web, port 80, HTML, CSS.. Copyright © 2014 Russel Winder 32
  • 33. Copyright © 2014 Russel Winder 33
  • 34. GPars Dr Russel Winder russel@winder.org.uk @russel_winder http://www.russel.org.uk Copyright © 2014 Russel Winder 34