Virtualization of accelerators in high performance clusters
Antonio José Peña Monferrer · Dialnet (Universidad de la Rioja) · 2013
In this proposal, GPU-accelerated applications are enabled to seamlessly interact with any GPU of a cluster independently of its exact physical location. This provides the possibility of sharing accelerators among different nodes, as GPU-accelerated applications do not fully exploit accelerator capabilities all the time, thus reducing power requirements. Furthermore, decoupling GPUs from nodes, creating pools of accelerators, brings additional flexibility to cluster deployments and allows accessing a virtually unlimited amount of GPUs from a single node, enabling, for example, GPU-per-core executions. Depending on the particular application needs, GPUs may be either distributed among computing nodes or consolidated into dedicated GPGPU servers, analogously to disk servers. In both cases, this proposal leads to energy, acquisition, maintenance, and space savings. Performance evaluations employing the rCUDA framework, developed as a result of the research conducted during the predoctoral period, demonstrate the feasibility of this proposal within the HPC arena. CASTELLANO: En esta propuesta se posibilita que aplicaciones aceleradas por GPU interactuen de modo transparente con cualquier GPU de una agrupacion de computadores (en ingles cluster) independientemente de su ubicacion fisica exacta. Esto ofrece la posibilidad de compartir aceleradores entre diferentes nodos, debido a que las aplicaciones aceleradas mediante GPU no explotan completamente las capacidades del acelerador en todo momento, reduciendo de este modo los requerimientos de energia. Ademas, desacoplar las GPUs de los nodos, formando ``conjuntos'' (en ingles pools) de aceleradores, anade flexibilidad adicional a los despliegues de agrupaciones de computadores y permite acceder a una cantidad virtualmente ilimitada de GPUs desde un unico nodo, habilitando, por ejemplo, configuraciones de una GPU por nucleo. Dependiendo de las necesidades particulares de las aplicaciones, las GPUs pueden o bien estar distribuidas entre los nodos de computo, o bien consolidadas en servidores GPGPU dedicados, de forma analoga a servidores de disco. En ambos casos, esta propuesta conlleva ahorros en energia, adquisicion, mantenimiento y espacio. Evaluaciones de rendimiento empleando el marco de trabajo rCUDA, desarrollado como resultado de la investigacion llevada a cabo durante el periodo de doctorado, demuestran la factibilidad de esta propuesta en el ambito de la computacion de altas prestaciones.