多核和多线程技术可大幅提升 Android 网页浏览性能

2012-02-23 15:31:01来源: EEWORLD
采用多核技术提升 CPU 马力,是一种通过硬件提供更高系统性能的日益常见的做法。即使对许多视成本和功耗为重要设计考虑的大量消费性应用,也是如此。但是,升级到多核系统并无法保证一定能够提升性能或改善用户体验。因为提升系统性能不仅是硬件方面的问题,软件也必须能充分利用并行硬件资源。然而软件一直在改变 —— 系统变得越来越复杂,以至于在许多情况下,多个进程和线程在同时运行;同时,应用程序也在被优化,以便在多处理硬件的趋势中更加受益。
 
基于以上考虑,我们最近采用 EEMBC 的 BrowsingBench™ 基准测试程序来评估 MIPS 多核 (MC) 和多线程 (MT) 技术能带来的性能提升。我们的目标是在 Android 软件平台上看看这些技术能在多大程度上改善一个非常流行的、实际的消费性应用(网页浏览)的用户体验。
 
BrowsingBench 是一个可靠而应用广泛的工具,受到多家领先的科技公司的信任与采用。它可以测量大量不同内容页面的加载和渲染时间,并以可靠的方式进行,以生成可重复而有用的结果。它可以在任何一个有网络浏览器的联网设备上运行。与合成测试 (Synthetic Test *) 不同,BrowsingBench 的运行方式与用户在联网设备上的操作完全相同。我们过去曾采用多种其他适用于评估 MC/MT 系统性能的基准测试程序,但没有一种能够像 BrowsingBench 一样,可提供代表真实世界联网设备用户体验的性能指标。
 
我们在一个以 MIPS32® 1004K™ 一致处理系统 (CPS) 为基础的系统上运行 BrowsingBench。在最高配置方面,1004K CPS 能支持最多 4 个核、每个核配备 2 个硬件线程(亦称为虚拟处理单元或 VPE)。但为了简化测试,我们采用双核、每个核两个 VPE 的配置,总计有 4VPE。根据 MIPS 的多线程技术,VPE 实际上是逻辑 CPU,在 1004K 的每个核中两个 VPE 共享一条物理流水线。
 

我们系统上的软件平台是 Android,测试中采用了每套 Android 系统都会配备的 Android 浏览器。
 
为评估多核和多 VPE 对网络浏览器产生的性能提升,我们采用 4 个不同的配置来执行 BrowsingBench,如下表所示。在所有的案例中,测试都是在相同的双核 1004K 系统上执行,不过我们通过操作系统来启用和禁用核与 VPE
 
配置代号
核的数目
每个核的 VPE
逻辑 CPU
说明
C1V1
1
1
1
基本配置:单核、单 VPE
C1V2
1
2
2
单核、启用 MT
C2V1
2
1
2
双核、关闭 MT
C2V2
2
2
4
完整配置:双核、启用 MT
 
我们想要回答的重要问题是,Android 是否能利用这些多重处理资源来更快地载入和渲染网页,从而改善用户体验。为做到这点,Android 在处理浏览工作负荷时,必须能使用并行的进程和线程。
 
测试结果显示于下表和下图。毫无疑问,Android 的网络浏览性能因为采用 MCMT 技术而得到大幅提升。
 
配置代号
核的数目
每个核的 VPE
逻辑 CPU
相对 BrowsingBench 分数
C1V1
1
1
1
1.00
C1V2
1
2
2
1.43
C2V1
2
1
2
2.13
C2V2
2
2
4
2.54
 
 
一个重要的发现是,当完整配置与基本配置相比时,浏览性能提升了超过 2.5 倍。由于在 Android 中有大量的并行处理,浏览器的确能够从 MTMC 的结合中受益。再进一步查看 Android 系统中的情况,确实显示出有许多进程都是以并行方式运行。系统中的两个主要进程,一个为 Android 浏览器本身,另一个称为“系统服务器 (system server)”。后者负责管理包括显示系统在内的许多 Android 组件,在 BrowsingBench 执行期间一直都非常忙碌。
 
即使我们将系统限制为单核,MIPS MT 技术也能让 BrowsingBench 性能提升 43%。MT 的主要特性之一是能够提升核的性能效率,这是当运行多进程和/或多线程时,通过提高核的流水线利用率来实现的。因此,对于需要小巧芯片面积的系统来说,选用多线程的核心是提升系统性能的一种极佳方式。
 
当多核和多线程系统首度问世时,大部分现有的软件并没有针对这些技术进行优化设计。今天,情况已经改变。Android 是一个复杂的软件平台,同时也是一个大量消费性平台的绝佳范例,它正快速演进和优化,会为联网世界提供优秀的用户体验。
 
MIPS,我们对此基准测试结果感到非常高兴,因为它充分表明了我们的 MCMT 技术与几年前的标准硬件相比,可提供高出许多的性能,从而给智能手机、平板电脑、联网数字电视等各种上网设备的终端用户带来重要影响。
 
注:
合成测试 (Synthetic Test/Benchmark) 通过专门设计的测试程序针对软件系统中的多个组件分别测试。应用测试 (Application Test/Benchmark) 则通过真实世界中的应用来做测试。

关键字:Android

编辑:eric 引用地址:http://www.eeworld.com.cn/xfdz/2012/0223/article_10162.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
Android

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved