用于应用程序迁移的系统和方法技术方案

技术编号:18824732 阅读:31 留言:0更新日期:2018-09-01 13:40
所描述的是一种用于以无缝方式在可对接设备与对接底座之间进行应用程序迁移的方法和装置。所述可对接设备包括处理器,并且所述对接底座包括高性能处理器。所述方法包括在至少一个应用程序正在运行的同时确定可对接设备的对接状态。在所述可对接设备正在移动到对接状态时发起从所述可对接设备到对接底座的应用程序迁移。在所述可对接设备正在移动到脱离对接状态时发起从所述对接底座到所述可对接设备的应用程序迁移。所述应用程序在从所述对接设备到所述对接底座的所述应用程序迁移期间或者在从所述对接底座到所述可对接设备的所述应用程序迁移期间继续运行。

【技术实现步骤摘要】
【国外来华专利技术】用于应用程序迁移的系统和方法相关申请的交叉引用本申请要求2015年12月2日提交的美国非临时专利申请号14/956,511的权益,所述申请以引用并入本文,如同本文完整阐述一样。
本公开的实施方案总体涉及图形系统和方法,并且具体地涉及可拆卸的图形系统和方法。背景可拆卸或可切换显卡是既利用高性能独立图形处理单元(GPU)的图形处理功能,又利用集成GPU功率效率的技术。通常,可拆卸图形技术仅在3D应用程序需要它时才能用独立GPU,并在其余时间使用集成GPU的功能。然而,在应用程序正在运行时向系统添加独立GPU需要重新启动应用程序才能利用新提供的独立GPU,并且类似地,在应用程序正在独立GPU上运行时从系统移除独立GPU需要在独立GPU可被移除之前关闭应用程序。另外,当前系统需要明确的用户交互来移除GPU,并且在3D应用程序重新启动(需要用户知识和应用程序重新启动)之前将不使用添加到系统的新GPU。实施方案概述所描述的是一种用于以无缝方式在可对接设备与对接底座之间进行应用程序迁移的方法和装置。所述可对接设备包括处理器,并且所述对接底座包括高性能处理器。所述方法包括在至少一个应用程序正在运行的同时确定可对接设备的对接状态。在所述可对接设备正在移动到对接状态时发起从所述可对接设备到对接底座的应用程序迁移。在所述可对接设备正在移动到脱离对接状态时发起从所述对接底座到所述可对接设备的应用程序迁移。所述应用程序在从所述对接设备到所述对接底座的所述应用程序迁移期间或者在从所述对接底座到所述可对接设备的所述应用程序迁移期间继续运行。附图简述通过以下举例给出的描述结合附图可以得到更详细的理解,附图中:图1是其中可以实现一个或多个本公开的实施方案的示例性设备的框图;图2是根据某些实施方案的可对接设备和对接底座的示例性框图;并且图3是根据某些实施方案的用于应用程序迁移的示例性高级流程图。实施方案详述可以多种方式实现可拆卸图形系统。例如,可以与包括独立图形处理单元(dGPU)的对接底座对接的可对接设备(诸如平板电脑、膝上型电脑、笔记本电脑以及其他类似设备)是可用的或将是可用的。通常,当对接设备对接时,如果由可拆卸图形配置文件(诸如AMD的PowerXpress(PX)配置文件)指定,那么应用程序可以在dGPU上运行。尽管参考了PX配置文件,但是其他可拆卸图形配置文件解决方案或实现方式同样可应用。当可对接设备从对接底座脱离对接时,在dGPU上运行的应用程序迁移到集成GPU或加速处理单元(APU)。当可对接设备与对接底座重新对接时,应用程序将迁移回到dGPU。在迁移过程完成之前,将使用机械锁来防止脱离对接。当dGPU上没有创建DirectX设备时,内核模式驱动程序(KMD)将允许释放锁定。尽管本说明书参考了DirectX,但是能够访问显示器和声卡功能的其他应用程序编程接口(API)同样可应用,它们使程序能够提供真实的三维(3-D)图形和身临其境的音乐和音频效果。在PX多GPU解决方案中,3D应用程序可以在集成GPU上运行以节省功率,或者在高性能GPU上运行以实现另外的性能。此决定是在应用程序加载时进行的,因此一旦应用程序加载后,它就一直在同一GPU上运行。应用程序迁移允许3D应用程序在应用程序正在运行时在GPU之间迁移(无需重新加载应用程序)。这实现了其中可以可以将独立/高性能GPU添加到系统或从系统移除,而不影响当前正在运行的3D应用程序和用户体验的系统形状因数。通过维护在另一个GPU上重新创建3D应用程序状态所需的所有数据以及将所需数据传输到另一个GPU来提供对接状态与脱离对接状态之间的无缝转换。对于GPU移除,还需要在GPU上销毁所有状态信息使得GPU可以移除(从而将应用程序从前一GPU完全迁移到新GPU)。图1是其中可以实现一个或多个本公开的实施方案的示例性设备100的框图。设备100可以包括例如计算机、游戏设备、手持式设备、机顶盒、电视机、移动电话或平板计算机。设备100包括处理器102、存储器104、存储装置106、一个或多个输入设备108以及一个或多个输出设备110。设备100还可以任选地包括输入驱动器112和输出驱动器114。应当理解,设备100可以包括图1中未示出的另外部件。处理器102可以包括中央处理单元(CPU)、图形处理单元(GPU)、位于同一晶粒上的CPU和GPU、或一个或多个处理器核心,其中每个处理器核心可以是CPU或GPU。存储器104可与处理器102位于同一晶粒上,或者可与处理器102分开定位。存储器104可以包括易失性存储器或非易失性存储器,例如,随机存取存储器(RAM)、动态RAM或高速缓存。存储装置106可以包括固定存储装置或可移动存储装置,例如,硬盘驱动器、固态驱动器、光盘或闪存驱动器。输入设备108可以包括键盘、小键盘、触摸屏、触摸板、检测器、麦克风、加速计、陀螺仪、生物识别扫描器或网络连接器(例如,用于发射和/或接收无线IEEE802信号的无线局域网卡)。输出设备110可以包括显示器、扬声器、打印机、触觉反馈设备、一个或多个灯、天线或网络连接器(例如,用于发射和/或接收无线IEEE802信号的无线局域网卡)。输入驱动器112与处理器102和输入设备108通信,并且允许处理器102接收来自输入设备108的输入。输出驱动器114与处理器102和输出设备110通信,并且允许处理器102向输出设备110发送输出。应当注意,输入驱动器112和输出驱动器114是任选部件,并且在输入驱动器112和输出驱动器114不存在的情况下,设备100将以相同方式操作。图2是根据某些实施方案的可对接设备200和对接底座250的示例性框图。可对接设备200将包括用户模式驱动程序(UMD)205、内核模式驱动程序(KMD)210、存储器212、集成GPU(iGPU)215以及包括操作系统(O/S)225的CPU220。尽管示出为iGPU215和CPU220,但是可以使用加速处理单元(APU)。当由用户启动时,应用程序235将在可对接设备200上运行。对接底座250将包括dGPU265。通常,根据可拆卸图形配置文件中的设置,并且根据驱动程序配置,当可对接设备200最初与对接底座250对接时,O/S225将“看到”或者将察觉到iGPU215和dGPU265。在应用程序迁移配置中,有两种状态相对于dGPU265对O/S225可见。当可对接设备200与对接底座250对接时,dGPU265在“物理”状态下对O/S225可见。UMD205和KMD210将根据需要向dGPU265提交工作。当可对接设备200与对接底座250脱离对接时,O/S225将看到“虚拟”dGPU265,在图2中表示为虚拟dGPU265’。UMD205和KMD210将确保没有工作提交给虚拟dGPU265’。应当理解,可对接设备200和对接底座250可以包括图2中未示出的另外部件。在初始配置之后,O/S225将在运行时期间总是“看到”两种GPU,可对接设备200对接时看到iGPU215和dGPU265,或可对接设备200脱离对接时看到iGPU215和虚拟dGPU265’。即,在脱离对接状态下,dGPU265相对于O/S225处于虚拟模式(即,逻辑本文档来自技高网...

【技术保护点】
1.一种用于应用程序迁移的方法,所述方法包括:在至少一个应用程序正在运行的同时确定可对接设备的对接状态;在所述可对接设备处于对接状态的条件下发起从所述可对接设备到对接底座的应用程序迁移,其中所述可对接设备包括处理器,并且所述对接底座包括高性能处理器;以及在所述可对接设备正在移动到脱离对接状态的条件下发起从所述对接底座到所述可对接设备的应用程序迁移,其中所述应用程序在从所述对接设备到所述对接底座的所述应用程序迁移期间或者在从所述对接底座到所述可对接设备的所述应用程序迁移期间继续运行。

【技术特征摘要】
【国外来华专利技术】2015.12.02 US 14/956,5111.一种用于应用程序迁移的方法,所述方法包括:在至少一个应用程序正在运行的同时确定可对接设备的对接状态;在所述可对接设备处于对接状态的条件下发起从所述可对接设备到对接底座的应用程序迁移,其中所述可对接设备包括处理器,并且所述对接底座包括高性能处理器;以及在所述可对接设备正在移动到脱离对接状态的条件下发起从所述对接底座到所述可对接设备的应用程序迁移,其中所述应用程序在从所述对接设备到所述对接底座的所述应用程序迁移期间或者在从所述对接底座到所述可对接设备的所述应用程序迁移期间继续运行。2.如权利要求1所述的方法,其还包括:维护在受让方处理器上重新创建应用程序状态所需的所有数据,其中所述处理器不管对接状态如何都具有在脱离对接时用于最小化数据传输的数据。3.如权利要求2所述的方法,其还包括:销毁转让方处理器上的状态信息。4.如权利要求1所述的方法,其还包括:在所述可对接设备处于脱离对接状态的条件下维护所述可对接设备上的虚拟高性能处理器。5.如权利要求4所述的方法,其中用户模式驱动程序和内核模式驱动程序确保没有工作发送到所述虚拟高性能处理器。6.如权利要求4所述的方法,其中用户模式驱动程序和内核模式记录在所述可对接设备与所述对接底座对接时将要传播到所述可对接设备的某些操作。7.如权利要求1所述的方法,其还包括:从内核模式驱动程序向用户模式驱动程序发送通知以在所述内核模式驱动程序检测到对接事件的条件下发起应用程序迁移。8.如权利要求1所述的方法,其中所述用户模式驱动程序在应用程序迁移期间锁定临界区。9.如权利要求1所述的方法,其还包括:检测脱离对接请求;锁定所述脱离对接请求;以及在应用程序迁移完成的条件下解锁脱离对接请求,使得所述可对接设备能够物理地脱离对接。10.如权利要求1所述的方法,其还包括:检测对接事件;在所述检测到的对接事件为与所述可对接设备进行对接的条件下发起从所述可对接设备到所述对接底座的应用程序迁移;以及在所述检测到的对接事件为与所述可对接设备脱离对接的条件下发起从所述对接底座到所述可对接设备的应用程序迁移。11.一种可对接设备,其包括:处理器;内核模式驱动程序,所述内核模式驱动程序被配置来在至少一个应用程序正在运行的同时确定可对接设备的对接状态;所述内核模式驱动程序被配置来在所述可对接设备处于对接状态的条件下发起从所述可对接设备到对接底座的应用程序迁移,其中所述对接底座包括高性能处理器;以及所述内核模式驱动程序被配置来在所述可对接设备正在移动到脱离对接状...

【专利技术属性】
技术研发人员:乔纳森·劳伦斯·坎贝尔沈玉萍
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1