TensorFlow on State of the Art HPC Clusters: A Machine Learning use Case
The recent rapid growth of the data flow programming paradigm enabled the development of specific architectures, e.g. for machine learning. The most known example is the Tensor Processing Unit (TPU) by Google. Standard data centers, however, still can not foresee large partitions dedicated to machine learning specific architectures. Within data centers, the High Performance Computing (HPC) clusters are highly parallel machines targeting a broad class of compute intensive workflows, as such they can be used for tackling machine learning challenges. On top of this, HPC architectures are rapidly changing, including accelerators and instruction sets other than the classical x86 CPUs. In this blurry scenario, identifying which are the best hardware/software configurations to efficiently support machine learning workloads on HPC clusters is not trivial. In this paper, we considered the workflow of TensorFlow for image recognition. We highlight the strong dependency of the performance in the training phase on the availability of arithmetic libraries optimized for the underlying architecture. Following the example of Intel leveraging the MKL libraries for improving the TensorFlow performance, we plugged the Arm Performance Libraries into TensorFlow and tested on an HPC cluster based on Marvell ThunderX2 CPUs. Also, we performed a scalability study on three state of the art HPC clusters based on different CPU architectures, x86 Intel Skylake, Arm v8 Marvell ThunderX2, and PowerPC IBM Power9.
2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)