Skip to main content

The 10 Python Conferences Happening at PyCon 2011 (part 4)

This is the fourth in a series of posts about the schedule for PyCon 2011. In designing this schedule, we found that there are actually 10 different conferences happening in parallel at PyCon. See the first post for an introduction to the series and a description of the Django virtual track. The second post focused on the web working virtual track. The third post focused on the Python and NoSQL virtual track. This post focuses on the fourth virtual track, Networking and Concurrency.

Networking and Concurrency

Moving away from specific web frameworks and data stores, dealing with concurrency and high-volume networking is always a challenge. When you are serving three users, you don't stress your code the same way you do when you are serving 30,000 users (all concurrently).

It is also worth pointing out that it is not just networking that is the issue; it is concurrency. Concurrency is a common problem across many programming languages, and high-traffic networking is just a natural testing ground for constructs that make it easier to handle high concurrency. Nevertheless, the principles discussed in this track are applicable to any high-throughput process.

There are eight different talks in this track:

Extreme Network Programming with Python and Linux by Rob Ludwick ( Extreme ). Traditionally, C is the preferred language for low level network programming and works well for those who have the time and patience to work with it. As it turns out, Python is very capable for prototyping low level network code, collecting data, and testing ideas quickly without getting lost in the land of C. Obscure topics such as raw sockets, multicast, network bridging, rolling your own vpn, and disruption tolerant networking will be covered. This talk will show how you can use Python to build custom protocols, debug a network, fix broken nets, implement custom logging and processing, and simulate network traffic.

Jython Concurrency by Jim Baker (Extreme). One of the persistent troubles with concurrency in Python is the GIL - the Global Interpreter Lock used to simplify the implementation of CPython... but not all Python implementations include a GIL. Jython implements the Python language, but Jython leverages the underlying Java platform to provide an opinionated alternative to CPython in its support of concurrency. Jython instead embraces threads, provides extensive support for managing their execution and coordination through standard Java platform functionality (java.util.concurrent), and works well with Jython's implementation of {ython's standard mutable collection types. The underlying JVM provides also extensive instrumentation as well as the ability to set a variety of parameters, including choice of GC. This talk will go into a detailed discussion of some of the interesting ramifications of these design points and how they can be effectively applied to write concurrent code, as illustrated through a variety of short examples.

Ten Years of Twisted by Glyph Lefkowitz. Twisted is one of the oldest event-driven architectures for Python, and it is the oldest one still being actively maintained and extended with new functionality. The maturity that Twisted brings to event-based networking is essential - they have found and fixed bugs that other asynchronous architectures may not hit for a couple years. Despite this pedigree, however, many aspects of Twisted remain misunderstood or simply unrealized. This talk will present a brief conceptual introduction to Twisted, followed by a survey of its features, their status, and how development has been proceeding over the years, with a special focus on the last two years of sponsored development.

Using Coroutines to Create Efficient, High-Concurrency Web Applications by Matt Spitz ( Extreme ). Many people don't know that the popular web-based instant messaging service Meebo is delivered using Python. At Meebo, they have settled on using gunicorn, a lightweight WSGI server, which supports gevent, a coroutine-based network library for python. Gevent monkeypatches python's system modules to make network requests asynchronous using an event loop based on libevent. This trick allows the developer to use a simple blocking CGI as a non-blocking web application that can handle many concurrent requests. In this in-depth review, Matt discusses how Meebo worked through the various approaches to building web applications, why they ended up choosing gunicorn+gevent, the challenges this new framework presents, and how they've dealt with them.

Prototyping Go's Select with stackless.py for Stackless Python by Andrew Francis (Extreme). Google’s introduction of the Go language raised eyebrows in the Stackless Python community. Although very different languages, Go and Stackless Python’s concurrency model share a common ancestor: the Bell Labs family of languages (i.e., Newsqueak, Limbo). The common feature are channels: a synchronous message passing mechanism based on Tony Hoare’s Communicating Sequential Processes (CSP).

Both Go and Stackless Python have channels - but the select language built into Go gives it the ability to wait on multiple channels simultaneously. This talk explores the prototyping potential of stackless.py, the PyPy's framework's implementation of Stackless Python. This talk will present a brain-bending "case study" involving prototyping Go's select in stackless.py before reimplementing select in C based Stackless Python.

An Introduction to Tornado by Gavin Roy. Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. It is not only a web server but it is a light-weight, use only what you need, web development framework. This talk will review the current state of the Tornado project, review the features Tornado provides and give examples of how to implement asynchronous web applications in Tornado.

Advanced Network Architectures With ZeroMQ by Zed Shaw (Extreme). Zed Shaw has raised a lot of interest with his recent work on Mongrel2, a "language agnostic" webserver that uses ZeroMQ to handle all the plumbing. This talk builds on Zed's experience with Mongrel2 to demonstrate how to use ZeroMQ with Python (and others) to do really advanced or even weird network architectures. Zed will show Python talking to other languages, handling HTTP, JSON, XML, WebSockets, encoding videos, handling chat messaging, etc. This is an extreme talk, so it will be in code, not in diagrams. This talk will assume you know ZeroMQ and Python, but if you don't know ZeroMQ you can probably still keep up.

An outsider's look at co-routines by Peter Portante. This talk is designed to take an interested beginner from a hazy understanding of coroutines up to the point where they can understand the essential concepts (and the essential differences!) associated with the different implementations of coroutines for Python.

Is this the conference you want to see? Then, register for PyCon and book your room now! We have picked up a few more rooms - including a few at a lower rate a block away. You can email (pycon4-reg@cteusa.com), or phone (847-759-4277). We have very few spots left.

Links:

Edit: Discussion link on Hacker News.

Comments

Popular posts from this blog

PyCon 2019 Talks, Charlas, Posters, and Education Summit Schedules

With great excitement, we're happy to announce the much anticipated (and admittedly delayed) lineups for PyCon 2019's Talks, Charlas, Posters Session, and Education Summit.
2019 Talks and Charlas Schedule2019 Posters Lineup2019 Education Summit Schedule This is an excellent moment to recognize the volunteer teams that organize the calls for proposal, review all of the submissions, and construct a schedule! Their hard work provides the foundation for a vibrant conference with something for everyone. PyCon Program Committee Chair: Jason Myers Co-Chairs: Lorena Mesa & Jackie Kazil And the 34 volunteer reviewers!
PyCon Charlas Team Chair: Maricela S├ínchez Co-Chairs: Mario Corchero and Naomi Ceder PyCon Posters Committee Chair: Rebecca Bilbro Co-Chairs: Kristen McIntyre, Nathan Danielsen, and Natalie Serebryakova Education Summit Committee Chair: Meenal Pant
Co-Chairs: Jessica Ingrasselino, Chalmer Lowe, Elizabeth Wickes, and Jeff Elkner

PyCon 2020-2021 Location

Now that registration and planning are well underway for PyCon 2019 in Cleveland, the PSF is pleased to announce that the home for PyCon 2020 and 2021 will be Pittsburgh, Pennsylvania!

The conference will be held in the beautiful David L. Lawrence Convention Center on April 15-23, 2020 and May 12-20, 2021.


The Steel City is built around the convergence of the Ohio, Allegheny, and Monongahela rivers and offers an understated mix of arts, culture, and technology. Join the Pittsburgh Python User Group for a meetup, eat dinner in a converted train station at the Grand Concourse, take a century-old cable car up the Duquesne Incline to see stunning views of the city, or visit the Robot Hall of Fame at the Carnegie Science Center's roboworld® exhibit. While you're out and about, see if you can count all 446 bridges in the city (that's more than you'll find in Venice, Italy)!

In Pittsburgh, you'll find that the residents are all neighbors. And with 90 unique neighborhoods tha…

Eighth Annual PyLadies Auction at PyCon 2019

PyLadies is an international mentorship community for women that use Python. Since it’s founding in 2011, PyLadies has continued to bring women into the Python community through a variety of methods, including hosting events in local PyLadies chapters and offering grant opportunities to attend PyCon. Their mission is to promote, educate and advance a diverse Python community through outreach, education, conferences, events, and social gatherings.

The Python Software Foundation (PSF) is proud to announce the Eighth Annual PyCon Charity Auction for 2019.

PyCon 2018’s auction was a huge success raising over $30K! More than 40 items from sponsors and fellow attendees were auctioned. Attendance was overwhelming and, rather than turn more people away for 2019, we have decided to increase capacity this year!

The PSF subsidizes this event each year by covering the cost of the venue, food, and beverages. In addition, the PSF adds a substantial donation to the event after everything is auctioned o…