The art of multiprocessor programming. - Herlihy, Maurice; Shavit, Nir (Elsevier, 2008)