ABSTRACT

This chapter describes selected state-of-the-art parallel systems as well as programming models supported by them. Nowadays, there are several types of systems that are used for high performance computing (HPC). The well-known Flynn's taxonomy distinguishes systems by whether a single instruction stream (SI) or multiple instruction streams (MI) process either a single data stream (SD) or multiple data streams (MD). Multicore CPUs have become standard not only in HPC systems, but also in desktop systems. Furthermore, the architectures of GPUs have been evolving from generation to generation. Also, Manycore computing devices are processors that typically feature a large number of cores, the latter less powerful than the cores of high-end multicore CPUs. This chapter focuses on Intel Xeon Phi as a processor/coprocessor of this type. Clusters have become the current incarnation of supercomputers – easy to build and cost effective. Moving on to volunteer computing, this allows to engage independent, possibly geographically distributed, volunteers in a common computationally intensive task.