Check out my first novel, midnight's simulacra!
Libtorque: Difference between revisions
From dankwiki
No edit summary |
|||
Line 1: | Line 1: | ||
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 [http://www.monkey.org/~provos/libevent/ libevent], [http://software.schmorp.de/pkg/libev.html libev] and [http://liboop.ofb.net liboop]. My [http://dank.qemfd.net/tabpower/cse6230proposal.pdf project proposal] suggests motivation for libtorque: I believe it 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). | |||
<pre>888 ,e, 888 d8 "...tear the roof off the sucka..." | <pre>888 ,e, 888 d8 "...tear the roof off the sucka..." | ||
888 " 888 88e d88 e88 88e 888,8, e88 888 8888 8888 ,e e, | 888 " 888 88e d88 e88 88e 888,8, e88 888 8888 8888 ,e e, | ||
Line 6: | Line 7: | ||
_____________________________________________ 888 _________________ | _____________________________________________ 888 _________________ | ||
continuation-based unix i/o for manycore numa\888/© nick black 2009</pre> | continuation-based unix i/o for manycore numa\888/© nick black 2009</pre> | ||
==Resources== | ==Resources== | ||
* [[git]] hosting from [http://github.com GitHub]: | * [[git]] hosting from [http://github.com GitHub]: |
Revision as of 12:15, 29 October 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 suggests motivation for libtorque: I believe it 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).
888 ,e, 888 d8 "...tear the roof off the sucka..." 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
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 and other manycore-capable allocators (libumem aka magazined slab, Google's ctmalloc, etc).