sakjain92 / Fractional-GPUs

Splits single Nvidia GPU into multiple partitions with complete compute and memory isolation (wrt to performace) between the partitions
152 stars 37 forks source link

Does FGPU only support Nvidia volta GPU architecture? #2

Closed XutongLi closed 4 years ago

XutongLi commented 4 years ago

The Paper says " we use the Nvidia MPS and bypass this limitation without the need to merge applications", does it mean that FGPU only support Nvidia Volta architecture?

sakjain92 commented 4 years ago

Please see the Micro-benchmark Experiments section of the paper which contains this line: We conduct the evaluation on two Nvidia GPUs: GTX 1080 and Tesla V100 (GTX 1080 is not of Volta architecture)

FGPU does require Nvidia's MPS in its current implementation so that the application's logic doesn't need to be modified (more or less). Most of the newer Nvidia GPUs come with support for MPS. The Volta MPS is slightly different architecture in that it also has a QoS feature. FGPU doesn't use this QoS feature (furthermore, in our evaluations, we show FGPU is better than this Volta's MPS QoS feature when it comes to providing isolation). So hence FGPU will work with any Nvidia GPU that supports MPS. For reference, see https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf

MPS requires a GPU with compute capability version 3.5 or higher
The Volta architecture introduced new MPS capabilities. Compared to MPS on pre-Volta
GPUs, Volta MPS provides a few key improvements:
Volta MPS clients submit work directly to the GPU without passing through the
MPS server.
Each Volta MPS client owns its own GPU address space instead of sharing GPU
address space with all other MPS clients.
Volta MPS supports limited execution resource provisioning for Quality of Service
(QoS).

See https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units for list of all GPU with compute capability > 3.5 (Mostly all GPUs released post-2015)

XutongLi commented 4 years ago

Please see the Micro-benchmark Experiments section of the paper which contains this line: We conduct the evaluation on two Nvidia GPUs: GTX 1080 and Tesla V100 (GTX 1080 is not of Volta architecture)

FGPU does require Nvidia's MPS in its current implementation so that the application's logic doesn't need to be modified (more or less). Most of the newer Nvidia GPUs come with support for MPS. The Volta MPS is slightly different architecture in that it also has a QoS feature. FGPU doesn't use this QoS feature (furthermore, in our evaluations, we show FGPU is better than this Volta's MPS QoS feature when it comes to providing isolation). So hence FGPU will work with any Nvidia GPU that supports MPS. For reference, see https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf

MPS requires a GPU with compute capability version 3.5 or higher
The Volta architecture introduced new MPS capabilities. Compared to MPS on pre-Volta
GPUs, Volta MPS provides a few key improvements:
Volta MPS clients submit work directly to the GPU without passing through the
MPS server.
Each Volta MPS client owns its own GPU address space instead of sharing GPU
address space with all other MPS clients.
Volta MPS supports limited execution resource provisioning for Quality of Service
(QoS).

See https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units for list of all GPU with compute capability > 3.5 (Mostly all GPUs released post-2015)

thank you