High Performance Computing on ARM Hardware. The Mont-Blanc Project