High Performance Applications on Hierarchical Shared Memory Multiprocessors