obstruction free software transactional memory