[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC] Shared coprocessor framework



On Tue, Nov 01, 2016 at 03:57:13PM +0200, Artem Mygaiev wrote:
> Let me explain a bit background of this work.
> 
> We see growing amount of use cases for different "co-processors" like
>  - GPUs (inside of most modern SoCs)
>  - low-power side CPU cores (like ARM Cortex M or R on board with
> Cortex A cores to handle PM or other tasks)
>  - DSPs (for example, TI C6000 family DSP core inside of Jacinto 6 SoC)
>  - FPGAs (Altera or Xilinx SoCs = ARM+FPGA)
> 
> These cores most often used standalone for some specific function, but
> quite often there is a need to "virtualize" such co-processor together
> with the main CPU cores. For example, they may be used in some
> virtualized heterogeneous computing environment so there shall be some
> sort of an independent "context" of a co-processor associated with a
> VM which interacts with it. In some cases, addressing security and
> stability requirements, "context" means not only "data" but also
> "code" (firmware); i.e. when VMs switch on main CPU, both code and
> data memory shall switch on co-processor.
> 
> Couple examples when VMs run on same SoC, both want to use some
> co-processor in data-intense tasks with different data sets and with
> different firmware images and ensure isolation (no data is leaked or
> code corrupted through co-processor's memory access) and stability
> (restart of one system does not lead to crash of another):
> 1. use GPU for GL rendering in one VM, another for NN state computing
> 2. use DSP for HW-accelerated media decoding, another for video image
> processing (object recognition, etc.)
> 

Thanks for the examples, they make it easier to grok what 'coprocessors'
mean. Thought still being a newbie to the ARM-land I have some extra
questions:

Does this also mean that the hypervisor has to know the co-processors?
As in how to start/stop them? And how to tell them to save/restore
guest context? Or is there some generic specification for doing this?


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.