Multi-core programming : increasing performance through software multi-threading - Akhter, Shameem (Books by engineers, for engineers, 2006)