This is one of the best books I have ever seen in the subject. But you should consider this is pretty low level, I read few beginning chapter. I realized I need I little bit more knowledge to complete this easily. So I am putting this back on to-read shelf and I am definitely coming back for this one. You should read it, if you like low-level (really low level, I mean) parallel programming.