Programming with Hyper-Threading Technology: How to Write Multithreaded Software for Intel IA-32 Processors (Engineer to Engineer series)