Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GPars Remoting

GPars Remoting

Slides from my Greach 2015 session on the "new" remote object features of the GPars framework

Ca04455902d1b207348b6d406432718f?s=128

Russel Winder

April 10, 2015
Tweet

More Decks by Russel Winder

Other Decks in Technology

Transcript

  1. Copyright © 2014–2015 Russel Winder 1 GPars Remoting Dr Russel

    Winder russel@winder.org.uk @russel_winder http://www.russel.org.uk
  2. Copyright © 2014–2015 Russel Winder 2 This is a sales

    pitch…
  3. Copyright © 2014–2015 Russel Winder 3 This is a sales

    pitch… ✘
  4. Copyright © 2014–2015 Russel Winder 4 This is breaking news…

  5. Copyright © 2014–2015 Russel Winder 5 This is breaking news…

  6. Copyright © 2014–2015 Russel Winder 6 It's new…

  7. Copyright © 2014–2015 Russel Winder 7 It's new… ✘

  8. Copyright © 2014–2015 Russel Winder 8 It's improved…

  9. Copyright © 2014–2015 Russel Winder 9 It's improved… ✔

  10. Copyright © 2014–2015 Russel Winder 10 It's…

  11. Copyright © 2014–2015 Russel Winder 11

  12. Copyright © 2014–2015 Russel Winder 12 Thanks to GSoC 2014,

    Rafał Sławik built on a partial implementation by Alex Tkachman.
  13. Copyright © 2014–2015 Russel Winder 13 Remote Objects

  14. Copyright © 2014–2015 Russel Winder 14 GPars already has single

    JVM concurrency and parallelism. You can use it from Java as well as Groovy.
  15. Copyright © 2014–2015 Russel Winder 15 GPars now has remote

    objects. Realized by using Netty.
  16. Copyright © 2014–2015 Russel Winder 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.
  17. Copyright © 2014–2015 Russel Winder 17 Active Objects An object

    that is actually an actor but looks like a full service object. Agents A wrapper for some shared mutable state. Software Transactional Memory Wrappers for mutable values that uses transactions rather than locks. Fork/Join An toolkit for tree structured concurrency and parallelism.
  18. Copyright © 2014–2015 Russel Winder 18 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.
  19. Copyright © 2014–2015 Russel Winder 19 Data Parallelism Transform a

    sequence to another sequence where all individual actions happen at the same time.
  20. Copyright © 2014–2015 Russel Winder 20 Dataflow Operators connected by

    channels with activity triggered by arrival of data on the channels.
  21. Copyright © 2014–2015 Russel Winder 21 Code

  22. Copyright © 2014–2015 Russel Winder 22 CSP Sequential processes communicating

    by sending messages on channels.
  23. Copyright © 2014–2015 Russel Winder 23 Actors Independent processes communicating

    via asynchronous exchange of messages.
  24. Copyright © 2014–2015 Russel Winder 24 Code

  25. Copyright © 2014–2015 Russel Winder 25 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.
  26. Copyright © 2014–2015 Russel Winder 26 But isn't this just

    clustering, and isn't this standard stuff?
  27. Copyright © 2014–2015 Russel Winder 27 Elephant in the Room…

  28. Copyright © 2014–2015 Russel Winder 28

  29. Copyright © 2014–2015 Russel Winder 29

  30. Copyright © 2014–2015 Russel Winder 30

  31. Copyright © 2014–2015 Russel Winder 31 Hadoop

  32. Copyright © 2014–2015 Russel Winder 32

  33. Copyright © 2014–2015 Russel Winder 33

  34. Copyright © 2014–2015 Russel Winder 34 GPars can compete in

    “Big Data”, but will it?
  35. Copyright © 2014–2015 Russel Winder 35 Service Oriented Architecture

  36. Copyright © 2014–2015 Russel Winder 36 Services

  37. Copyright © 2014–2015 Russel Winder 37 Micro-Services

  38. Copyright © 2014–2015 Russel Winder 38 Micro-Services Passé ✘

  39. Copyright © 2014–2015 Russel Winder 39 Pico-Services

  40. Copyright © 2014–2015 Russel Winder 40 No need for HTTP,

    Web, port 80, HTML, CSS…
  41. Copyright © 2014–2015 Russel Winder 41 Actors Active Objects Agents

    Dataflow Operators Local Remote
  42. Copyright © 2014–2015 Russel Winder 42 NUMA

  43. Copyright © 2014–2015 Russel Winder 43 Non-Uniform Memory Architecture

  44. Copyright © 2014–2015 Russel Winder 44 Local concurrency/parallelism Remote concurrency/parallelism

  45. Copyright © 2014–2015 Russel Winder 45

  46. Copyright © 2014–2015 Russel Winder 46

  47. Copyright © 2014–2015 Russel Winder 47 A fun demo…

  48. Copyright © 2014–2015 Russel Winder 48 GPars Remoting Dr Russel

    Winder russel@winder.org.uk @russel_winder http://www.russel.org.uk