Tao Zhu

Tao Zhu

Audience level:
3:20 p.m.–4:05 p.m.

Non-blocking Python in practice


"Non-blocking", sometimes loosely termed as "Fire-and-Forget". The session is about giving the intermediate python practitioners an overview of the toolkits they need in order to build a platform that truly extracts the efficiency of the underlying OS.


"Non-blocking" has become a buzz word in many successful tech companies to fully extract the value of back-end servers. The process of "unblocking" the stack basically means to remove the bottleneck along stack, which could be hard disk access, network or waiting for switched context (in modern OSes). It requires engineers to have in-depth knowledge in terms of OS, network, web servers and framework. To be a good "full-stack" needs to wear multiple hats in terms of integrating multiple services such as web servers, REST services, DB instances. To build "non-blockingness" in each layer of the "full-stack", engineers need to understand the implications in various system calls or OS features such as "e-poll", leveraging on "sub-pub" services or make adaptation in their coding style from OO to callbacks. The session is to prepare intermediate-to-advanced Python practitioners to understand the power of "non-blocking" and cases for placing "non-blocking" modules into the big picture of the whole backend infrastructure. It will also gives an in-depth of some open sourced "non-blocking" python project such as Tornado and how it works under Linux.

Sponsored by: