About this episode

TV-UN

A ten years back, there were difficult to have access to multi CPU machine and software developers preferred to write single thread and single process application. Nowadays computers have a lot of CPUs which gives to us possibility to use them for real parallel computing and improve application performance. You can see Niagara boxes which has 128CPUs (HW threads) in 1U rack size (e.g. Sun SPARC Enterprise T5140), or many people already have Intel or AMD multi core boxes at home. However, because most of application were written in single CPU era they are not able use capability of todays computers. Write multithreaded application is more complicated and we can se that many parallel application are buggy and contains many strange constructions which cause to deadlock or race conditions. Most of these bug of C application are caused by unfamiliarity with POSIX thread specification and bad application design. Multi threaded programing is complex topic and the presentation will focus only on few areas which author had opportunity to hunting bugs. The main areas are: 1. Signal handling in multi threaded application 2. How to survive after fork 3. How to safety exit otherwise when thread is killed 4. Parallel memory access - when we need lock and how to avoid performance drop. 5. Sessions Presentation will contain examples of real bugs which author fixed in pkcs11 library including small Solaris'es libc code tour with stops at fork(), atfork(), atextit(), exit() and pthread.h. Zdenek Kotala has twenty years experience of computer programing. He graduated from West Bohemia University in Numeric methods and parallel computing. He worked on several projects which most of them runs on multi CPUs systems and on different OS (Solaris, Tru64, Windows and Linux). He spent short time of creating and lot of time hunting race conditions, deadlock and other parallel programing issues. At this moment author works as revenue product engineer for SUN Microsystems, Czech Republic. He focus on security technology like PKCS11 library, ssh, openssl and he is also responsible for PostgreSQL in Solaris. He is active member of PostgreSQL community.

  • Release Date

    Apr 27, 2010
  • Runtime

    14:59

Discover the best in original web series.© 2012 Blip Networks, Inc. All Rights Reserved.