Multi-threading/Multi-Processing in Python using ZeroMQ.

Akash Mishra (~akash2)




This talk will be about writing concurrent python code using ZMQ and its python bindings.

There are two schools of thought with regard to concurrency. One believes in shared memory and embraces all the complexities that come bundled with it like mutexes, locks. The other believes in message passing meaning that threads/processes interact explicitly by sending messages and do not share state.

The speaker firmly believes in the message passing school because of its simplicity over shared memory and intends to convert every person in the room through this talk.

ZeroMQ allows you to write concise and easy to understand multi threaded code that simulates the message passing model. Your threads dont share state, they communicate only by passing messages. This allows you to later split your threads into separate processes as your application needs evolve.

What will be covered:

  • Concurrency (what, why)
  • Why message passing over shared memory
  • ZeroMQ sockets
  • Reliable communication patterns using ZMQ
  • Multithreaded code using ZMQ
  • Advantages over traditional threading model.
  • Conversion to multiprocess
  • Performance comparison with the batteries included (multiprocessing)

The above may change as the speaker prepares the talk

What will not be covered:

  • Mutexes
  • Locks
  • Critical sections
  • Multithreading vs Multiprocessing


Speaker Info:

Akash Mishra (@akash47) is working as a software developer at Betaout. He stumbled onto ZeroMQ while wandering in the python land for better concurrency options. ZeroMQ allowed him to keep his hair while writing concurrent code in python and hence he wants to tell everyone about how awesome it is.

Section: Concurrency
Type: Talks
Target Audience: Intermediate
Last Updated:

Hi! Could you please add up slides to your talk/workshop?

Shivani Bhardwaj (~shivan1b)

Hi! The selection process will begin by 4th, It'll increase your chances if you add slides as soon as possible.

Shashank Kumar (~realslimshanky)

Sorry for the confusion. The selection process will be done by 4th. Hurry !

Shashank Kumar (~realslimshanky)

Hi, I originally planned to live-code since I felt the zmq way of doing things is more important to get across. Seeing you guys stress on the slides has changed my mind. However, I wont be able to add slides before 4th due to time constraints. For reviewing purposes, the slides will contain content according to the outline above.

Akash Mishra (~akash2)

Login to add a new comment.