Multi-core programming with Python
Authors | Keerthi Shankar |
Level | Advanced |
Topic | Concurrency |
Tags | Multi-core, Concurrency, Stackless, Threads |
With the ever increasing processing power available to desktop users, applications should be able to leverage the power to deliver quality to the users. Languages like C/C++ have enough multi-threading libraries that enable the users of those languages to benefit from the latest multi-core processors available on the desktop. Python has always been left out when it comes to multi-core processing. This talk explains the approaches a Python programmer could take to write code that runs simultaneously on multiple processing cores. A short tour of the current implementations of Python and their impact on multi-threading will be discussed.
1) Why should I care about multi-core processors? 2) CPython's GIL and its impact on threading. 3) Latest modules available in Python for multi threading. 4) Alternatives to CPython for multi threading:
- Stackless Python
- Parallel Python
- IronPython
5) A best approach (or my approach) for multi threading in Python!
Keerthi Shankar has over 7 years of experience in software development and is currently an architect and lead engineer for several digital cinema products at Real Image Media Technologies, Chennai. He has extensively worked on parallelization of video encoding/decoding and has been using Python for the last couple of years in interesting ways. He had given a talk on IronPython at PyCon India 2009. He sparingly writes at http://keerthishankar.blogspot.com.
file | size | uploaded | comment |
---|---|---|---|
1000.rnd.txt | 4.8 KB | september 27, 2010 | A file containing random numbers |
mp_sort.py | 983 bytes | september 27, 2010 | Multi-threaded way of sorting |
sp_sort.py | 416 bytes | september 27, 2010 | The single threaded way of sorting |
sort_helpers.py | 260 bytes | september 27, 2010 | Helpers to load input and save sorted output |
merge_sort.py | 521 bytes | september 27, 2010 | The merge sort algorithm |
gen_rand.py | 345 bytes | september 27, 2010 | Psuedo-random number generator |
Multi_core_programming_with_Python.pdf | 302.0 KB | september 19, 2010 |
You can upload or delete a file if you are author of this talk.