Check out my first novel, midnight's simulacra!
Libtorque: Difference between revisions
From dankwiki
No edit summary |
|||
Line 1: | Line 1: | ||
<pre>888 ,e, 888 d8 | |||
888 " 888 88e d88 e88 88e 888,8, e88 888 8888 8888 ,e e, | |||
888 888 888 888b d88888 d888 888b 888 " d888 888 8888 8888 d88 88b | |||
888 888 888 888P 888 Y888 888P 888 Y888 888 Y888 888P 888 , | |||
888 888 888 88" 888 "88 88" 888 "88 888 "88 88" "YeeP" | |||
_____________________________________________ 888 _________________ | |||
continuation-based unix i/o for manycore numa|888|© nick black 2009</pre> | |||
My project for Professor [http://vuduc.org/ Rich Vuduc's] Fall 2009 [[High Performance Parallel Computing|CSE6230]], libtorque is a multithreaded event library for UNIX targeted towards manycore [[NUMA]] machines. Previous, non-threaded event libraries include libevent, libev and liboop. My [http://dank.qemfd.net/tabpower/cse6230proposal.pdf project proposal] explains motivation for libtorque: it is necessary to take scheduling and memory-placement decisions into account to most optimally handle events, especially on manycore machines and ''especially'' to handle unexpected traffic sets (denial of service attacks, oversubscribed pipes, mixed-latency connections, etc). | My project for Professor [http://vuduc.org/ Rich Vuduc's] Fall 2009 [[High Performance Parallel Computing|CSE6230]], libtorque is a multithreaded event library for UNIX targeted towards manycore [[NUMA]] machines. Previous, non-threaded event libraries include libevent, libev and liboop. My [http://dank.qemfd.net/tabpower/cse6230proposal.pdf project proposal] explains motivation for libtorque: it is necessary to take scheduling and memory-placement decisions into account to most optimally handle events, especially on manycore machines and ''especially'' to handle unexpected traffic sets (denial of service attacks, oversubscribed pipes, mixed-latency connections, etc). | ||
Revision as of 15:56, 25 October 2009
888 ,e, 888 d8 888 " 888 88e d88 e88 88e 888,8, e88 888 8888 8888 ,e e, 888 888 888 888b d88888 d888 888b 888 " d888 888 8888 8888 d88 88b 888 888 888 888P 888 Y888 888P 888 Y888 888 Y888 888P 888 , 888 888 888 88" 888 "88 88" 888 "88 888 "88 88" "YeeP" _____________________________________________ 888 _________________ continuation-based unix i/o for manycore numa|888|© nick black 2009
My project for Professor Rich Vuduc's Fall 2009 CSE6230, libtorque is a multithreaded event library for UNIX targeted towards manycore NUMA machines. Previous, non-threaded event libraries include libevent, libev and liboop. My project proposal explains motivation for libtorque: it is necessary to take scheduling and memory-placement decisions into account to most optimally handle events, especially on manycore machines and especially to handle unexpected traffic sets (denial of service attacks, oversubscribed pipes, mixed-latency connections, etc).
Resources
- git hosting from GitHub:
- Available from the dankamongmen/libtorque project page
- git clone from git://github.com/dankamongmen/libtorque.git
- bugzilla, hosted here on http://dank.qemfd.net/bugzilla/
Milestones
- 2009-11-19: CSE 6230 checkpoint
- 2009-12-10: CSE 6230 due date
References/Prior Art
- Philip Mucci's "Linux Multicore Performance Analysis and Optimization in a Nutshell", delivered at NOTUR 2009
- Elmeleegy et al's "Lazy Asynchronous I/O", USENIX 2004
- PGAS: Kathy Yelick's "Performance and Productivity Opportunities using Global Address Space Programming Models", 2006
- Emery Berger's Hoard allocator.