PCB技术当前位置:您当前位置:邦凯科技 >> 技术理论 >> PCB技术 >> 浏览文章

Android平台上结合多核和多线程技术提升系统性能

时间:2012-03-06 11:16:20点击:

     基于以上考虑,我们最近采用EEMBC的BrowsingBench基准测试程序来评估MIPS多核(MC)和多线程(MT)技术能带来的性能提升。我们的目标是在Android软件平台上看看这些技术能在多大程度上改善一个非常流行的、实际的消费性应用(网页浏览)的用户体验。

    BrowsingBench是一个可靠而应用广泛的工具,受到多家领先的科技公司的信任与采用。它可以测量大量不同内容页面的加载和渲染时间,并以可靠的方式进行,以生成可重复而有用的结果。pcb抄板它可以在任何一个有网络浏览器的联网设备上运行。与合成测试(Synthetic Test*)不同,BrowsingBench的运行方式与用户在联网设备上的操作完全相同。我们过去曾采用多种其他适用于评估MC/MT系统性能的基准测试程序,但没有一种能够像BrowsingBench一样,可提供代表真实世界联网设备用户体验的性能指标。
    我们在一个以MIPS32 1004K一致处理系统(CPS)为基础的系统上运行BrowsingBench.在最高配置方面,1004K CPS能支持最多4个核、每个核配备2个硬件线程(亦称为虚拟处理单元或VPE)。但为了简化测试,我们采用双核、每个核两个VPE的配置,总计有4个VPE.根据MIPS的多线程技术,VPE实际上是逻辑CPU,在1004K的每个核中两个VPE共享一条物理流水线。
    我们系统上的软件平台是Android,测试中采用了每套Android系统都会配备的Android浏览器。
    为评估多核和多VPE对网络浏览器产生的性能提升,我们采用4个不同的配置来执行BrowsingBench,如下表所示。在所有的案例中,测试都是在相同的双核1004K系统上执行,不过我们通过操作系统来启用和禁用核与VPE.
    我们想要回答的重要问题是,Android是否能利用这些多重处理资源来更快地载入和渲染网页,从而改善用户体验。为做到这点,Android在处理浏览工作负荷时,必须能使用并行的进程和线程。
    测试结果显示于下表和下图。毫无疑问,Android的网络浏览性能因为采用MC和MT技术而得到大幅提升。
    一个重要的发现是,当完整配置与基本配置相比时,浏览性能提升了超过2.5倍。由于在Android中有大量的并行处理,浏览器的确能够从MT和MC的结合中受益。再进一步查看Android系统中的情况,确实显示出有许多进程都是以并行方式运行。系统中的两个主要进程,一个为Android浏览器本身,另一个称为“系统服务器 (system server)”。后者负责管理包括显示系统在内的许多Android组件,在BrowsingBench执行期间一直都非常忙碌。
    即使我们将系统限制为单核,MIPS MT技术也能让BrowsingBench性能提升43%.MT的主要特性之一是能够提升核的性能效率,这是当运行多进程和/或多线程时,通过提高核的流水线利用率来实现的。因此,对于需要小巧芯片面积的系统来说,选用多线程的核心是提升系统性能的一种极佳方式。
    当多核和多线程系统首度问世时,大部分现有的软件并没有针对这些技术进行优化设计。今天,情况已经改变。Android是一个复杂的软件平台,同时也是一个大量消费性平台的绝佳范例,它正快速演进和优化,会为联网世界提供优秀的用户体验。