ASurveyofParallelAlgorithmsforShared-MemoryMachines