Efficient Multi-core Application Architectures

*
Accepted Session
Short Form
Scheduled: Thursday, June 3, 2010 from 3:45 – 4:30pm in Broadway

Excerpt

This session examines common application architectures in regards to threading and I/O handling. Various threading models are described and weighed, explaining the pros and cons of each. For I/O, topics such as the the c10k problem and buffering are discussed with solutions. A C++ framework is introduced as an example, but the concepts are applicable to other languages as well.

Description

This session takes a look at how to scale applications running on multi-core CPUs. It focuses on various application models such as one process per connection, one thread per connection, single threaded with non-blocking I/O, and hybrid approaches. I/O will also be covered, looking at the various blocking and non-blocking models, and polling methods for various open source operating systems. Details on how to handle the c10k problem (and beyond) are presented, along with how to best manage typical work loads that require other resources like disk I/O. Synchronization methods such as mutexes and atomic operations will also be briefly touched on to see what impact they have with resource protection.

Examples will be shown in C++, and the framework introduced can be used to develop your own applications. The concepts are also applicable to any programming language that supports proper threading.

Speaking experience

Speaker

  • Eday wbg 192

    Eric Day

    Rackspace Cloud

    Biography

    Eric Day currently works on the Drizzle and Gearman projects, and has been writing high-performance, multi-threaded servers and databases for most of his career. Most of his work has been done in clustered and distributed environments, always with an emphasis on efficiency and security. Eric keeps active in the open source community through speaking at conferences and user groups, as well as helping organize camps and conferences in Portland, OR. When not hacking on code, he can be found playing hockey, biking, or enjoying a good vegan meal.

    Sessions