SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

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