2017-05-07 09:30 to 2017-05-07 10:30

Experience level


Session Track


Put Those CPU Cores to Work!

Most new computers have a processor with at least two processing cores. Four cores are common and the trend is only for more, more, more. Yet most of the time, your computer probably only keeps one or two cores busy. If you want to get a lot of work done as quickly as possible, how can you get those idle cores to join in?

This session will cover several ways to get your processor working at 100%. Examples will include MP3 encoding, photo resizing, and computing time-consuming functions. I'll start with simple approaches and work up to more complicated processing.

Once your computer is doing many things at once, how will you handle the inevitable errors? I will cover using logging to know what happened and debug any bugs.

If you have a whole fleet of Linux systems, or are willing to spend some money to run your job in the cloud, you might be able to put multiple computers to work on your problem. I will finish up with a brief introduction to distributed processing.

This is an intermediate level talk, which will include a lot of command-line work and some easy-to-follow Python code.

All code shown in the talk will be available for download, with a BSD license so you may use it for any purpose.