48
Copyright © 2014–2015 Russel Winder 1 GPars Remoting Dr Russel Winder [email protected] @russel_winder http://www.russel.org.uk

GPars Remoting

Embed Size (px)

Citation preview

Copyright © 2014–2015 Russel Winder 1

GPars Remoting

Dr Russel [email protected]

@russel_winderhttp://www.russel.org.uk

Copyright © 2014–2015 Russel Winder 2

This is a sales pitch…

Copyright © 2014–2015 Russel Winder 3

This is a sales pitch…✘

Copyright © 2014–2015 Russel Winder 4

This is breaking news…

Copyright © 2014–2015 Russel Winder 5

This is breaking news…✘

Copyright © 2014–2015 Russel Winder 6

It's new…

Copyright © 2014–2015 Russel Winder 7

It's new…✘

Copyright © 2014–2015 Russel Winder 8

It's improved…

Copyright © 2014–2015 Russel Winder 9

It's improved…✔

Copyright © 2014–2015 Russel Winder 10

It's…

Copyright © 2014–2015 Russel Winder 11

Copyright © 2014–2015 Russel Winder 12

Thanks to GSoC 2014,

Rafał Sławik

built on a partial implementation by

Alex Tkachman.

Copyright © 2014–2015 Russel Winder 13

Remote Objects

Copyright © 2014–2015 Russel Winder 14

GPars already has single JVM

concurrency and parallelism.

You can use it from Javaas well as Groovy.

Copyright © 2014–2015 Russel Winder 15

GPars now has remote objects.

Realized by using Netty.

Copyright © 2014–2015 Russel Winder 16

ActorsIndependent processes communicating via asynchronous exchange of messages.

DataflowOperators connected by channels with activity triggered by arrival of data on the channels.

Data ParallelismTransform a sequence to another sequence where all individual actions happen at the same time.

CSPOperators connected by channels with activity triggered by arrival of data on the channels.

Copyright © 2014–2015 Russel Winder 17

Active ObjectsAn object that is actually an actor but looks like a full service object.

AgentsA wrapper for some shared mutable state.

Software Transactional MemoryWrappers for mutable values that uses transactions rather than locks.

Fork/JoinAn toolkit for tree structured concurrency and parallelism.

Copyright © 2014–2015 Russel Winder 18

ActorsIndependent processes communicating via asynchronous exchange of messages.

DataflowOperators connected by channels with activity triggered by arrival of data on the channels.

Data ParallelismTransform a sequence to another sequence where all individual actions happen at the same time.

CSPOperators connected by channels with activity triggered by arrival of data on the channels.

Copyright © 2014–2015 Russel Winder 19

Data ParallelismTransform a sequence to another sequence where all individual actions happen at the same time.

Copyright © 2014–2015 Russel Winder 20

DataflowOperators connected by channels with activity triggered by arrival of data on the channels.

Copyright © 2014–2015 Russel Winder 21

Code

Copyright © 2014–2015 Russel Winder 22

CSPSequential processes communicating by sending messages on channels.

Copyright © 2014–2015 Russel Winder 23

ActorsIndependent processes communicating via asynchronous exchange of messages.

Copyright © 2014–2015 Russel Winder 24

Code

Copyright © 2014–2015 Russel Winder 25

ActorsIndependent processes communicating via asynchronous exchange of messages.

DataflowOperators connected by channels with activity triggered by arrival of data on the channels.

Data ParallelismTransform a sequence to another sequence where all individual actions happen at the same time.

CSPOperators connected by channels with activity triggered by arrival of data on the channels.

Copyright © 2014–2015 Russel Winder 26

But isn't this just clustering, and

isn't this standard stuff?

Copyright © 2014–2015 Russel Winder 27

Elephant in the Room…

Copyright © 2014–2015 Russel Winder 28

Copyright © 2014–2015 Russel Winder 29

Copyright © 2014–2015 Russel Winder 30

Copyright © 2014–2015 Russel Winder 31

Hadoop

Copyright © 2014–2015 Russel Winder 32

Copyright © 2014–2015 Russel Winder 33

Copyright © 2014–2015 Russel Winder 34

GPars can compete in

“Big Data”, but will it?

Copyright © 2014–2015 Russel Winder 35

Service Oriented Architecture

Copyright © 2014–2015 Russel Winder 36

Services

Copyright © 2014–2015 Russel Winder 37

Micro-Services

Copyright © 2014–2015 Russel Winder 38

Micro-Services

Passé

Copyright © 2014–2015 Russel Winder 39

Pico-Services

Copyright © 2014–2015 Russel Winder 40

No need for HTTP, Web,

port 80, HTML, CSS…

Copyright © 2014–2015 Russel Winder 41

ActorsActive ObjectsAgentsDataflow Operators

LocalRemote

Copyright © 2014–2015 Russel Winder 42

NUMA

Copyright © 2014–2015 Russel Winder 43

Non-Uniform Memory Architecture

Copyright © 2014–2015 Russel Winder 44

Local concurrency/parallelism

Remote concurrency/parallelism

Copyright © 2014–2015 Russel Winder 45

Copyright © 2014–2015 Russel Winder 46

Copyright © 2014–2015 Russel Winder 47

A fun demo…

Copyright © 2014–2015 Russel Winder 48

GPars Remoting

Dr Russel [email protected]

@russel_winderhttp://www.russel.org.uk