addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

The Power of Lightweight Threads on the JVM

*PLEASE NOTE: To confirm your seat to this meetup event, please RSVP VIA EVENTBRITE  

The 21st century have made any medium size web app or service applicable to receive millions users, if not more. This made you start off with a dozen servers as an appetizer. When you approach the size of Twitter or Facebook, maximizing the throughput from a single server becomes a very lucrative economic goal as to minimizing the number of servers thus downsizing your data-center cost. 

The technology which enables a single server to receive up-to x10 more connections per time unit is called Lightweight threads. It's taking the asynchronous programming model we have seen in Node.js and Netty callback-hell into the next level by allowing you to write your code in a synchronous manner. One famous programming language have adopted this and named it Goroutine - it's called GO. 

Programming in GO and Erlang can be cool and exotic, but what if you could leverage all the code and knowledge you have in Java and do the same as GO? 

Talk Outline

1. The power of lightweight threads: async scalability without the headaches (also: some cons)
- Why people avoid blocking (OS limitations) ?
- How people avoid blocking?
- Why they really shouldn't (because blocking is simple and could be made really cheap)?
- How lightweight threads can transform any complex callback-based async API into a simple blocking one, and do it for free?
- How lightweight threads and heavyweight (OS) threads can live side-by-side?
- A benchmark 

2. Uses of lightweight threads (one or two slides each):
- Fiber-per-request servlets and JAX-RS services, fiber-blocking HTTP client
- CSP, just like Go
- Reactive programming: imperative or functional
- Actors, just like Erlang3. Implementing lightweight threads on the JVM
- Implementing continuations
- The scheduler

Speaker Bio

Ron Pressler is the founder of Parallel Universe, where he thinks hard about how to make it easy for developers to write software that works in harmony with modern hardware architecture; the secret is a combination of novel data structures and mechanical sympathy, wrapped in simple abstractions. He is a big fan of the JVM, and the author of "An Opinion Guide to Modern Java". Prior to founding Parallel Universe, Ron developed and architected advanced senson-fusion, simulation, and realtime control defense applications.

Join or login to comment.

  • Juan

    Thanks Aleksandar for uploading the presentation slides and posting the pictures from Ron's excellent presentation on Lightweight Threads!

    August 15, 2014

  • Aleksandar G.

    The slides from Ron's talk are available here:

    2 · August 4, 2014

  • Juan

    Excellent presentation from Ron Pressler. The sample code presented was easy to relate to, relevant to cases we may find at work, which I found especially useful. The space ships demo was very impressive and an excellent demo idea to illustrate the power of fibers.

    July 31, 2014

  • Marek K.

    Awesome presentation. Will the slides be available?

    July 30, 2014

  • Paul W.

    Good presentation! Can't wait to try fibers out. Link to slides please?

    2 · July 30, 2014

  • Paul W.

    To someone named Parag: you dropped something. I left it with the AppDynamics people.

    July 30, 2014

  • Michael N.

    Stuck in meetings -- just freed up my rsvp/ticket (via eventbrite & meetup); hopefully someone else can use it.

    July 30, 2014

  • Joseph W.

    parking information?

    July 30, 2014

  • Yulia A.

    Could you please mention what time the talk starts?

    July 28, 2014

    • Dafna P.

      Hi Yulia, the talk will start at 6:30 pm. Hope to see you there!

      July 30, 2014

  • Breno I.

    Are you guys going to record it? I can't go tomorrow =/

    1 · July 29, 2014

  • Curtis S.

    Awesome topic! This is for the hardcore engineers!

    July 23, 2014

Our Sponsors

  • Twitter

    Awesome venue, food and drinks for our meetup!

  • NewCircle

    Produces and publishes videos from our events

  • Pivotal

    Awesome venue and brilliant presenters!

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy