Archives

帖子来自 Zhibin Niu (Intel) RSS

编写更节能的程序

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 十二月 26, 2011 在 11:59 上午
评论 (5)

    看到这个题目的时候,读者可能会诧异:代码也有节能与不节能之分?我们说,是的,本质上,程序所调度的是硬件资源,不合理的硬件调度,会使得设备调度效率不高,从而产生更高的能耗。 实际上,随着移动终端的流行,功耗比已然成为比较处理器的重要参数。在已经上市,可能大放光彩的超级本上(Ultrabook),功耗更成为重要的考虑因素。实际上英特尔已经大量考虑了硬件层面的功耗优化,微软将在Windows8中增强功耗优化,第三方软件也将不可避免的影响到功耗,而实际上ill behaving的软件或服务甚至可能会使得所有硬件层和系统层所作的功耗优化功亏一篑。 当前来讲,对于同质化的软件,其差异性在于性能,功能,用户体验等,在不久的将来,功耗可能成为重要特性之一。想象一下,在超级本普及之后,一个软件能支撑十个小时,而另外一个只能七个小时,那么用户尤其是没有外接电源的情况下必然更倾向于前者。 闲话短续,那么什么样的软件是节能的软件呢?通常可以从下面两个工作状态来看: Idle workloads: 1.     处理器和平台能够长时间处于idle状态,避免软件的高频执行,比如统计等; 2.     应当尽可能的将任务联合,协调和分批处理;避免频繁的执行程序,最小化后台服务; 3.     软件不能够影响平台硬件组件进入到深一层的power state(往往是因为太多的中断所造成)。 4.     当系统idle的时候,使硬盘降速(spin down)。避免周期性的硬盘访问注册。 Active workload: 1.     提高计算的有效性和CPU的使用效率,目的是让系统进入到更长时间的idle状态; 2.     减少处理器的C-state切换的次数,频繁的C-state切换会导致能量的损耗; 3.     对于多核架构,最大化多核程序执行的并发性,这样可以是package 层次的资源和platform层次的资源得到更有效的管理; 4.     减少程序的执行频率,对于有特定cpu使用率的任务来说,让它运行更长的时间,更低的频率,更节能。 5.     程序中如果提高了timer分辨率对功耗有很大的影响,尽量使用大的timer的时间间隔,如果必须使用小的timer间隔,当任务完成之后,将其重置为大的值。   实际功耗分析中,package state, ...

继续 ›

分类: 其他

视觉计算-相关英特尔lab一览

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 十二月 26, 2011 在 11:59 上午
评论 (0)

在第二代和第三代酷睿核中,Intel进一步增强了视觉计算能力: Intel Quick Sync Video 让消费者以更快的速度实现转换视频编码格式, 使得以往数小时才能完成的视频作业可以在数分钟之内完成; Intel® Clear Video HD Technology 让消费者随时能够体验栩栩如生的视觉盛宴,支持HD视频,呈献给消费者最生动最逼真的画面; Intel ...

继续 ›

分类: 其他

几个优化中常用到的Time辨析

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 十二月 16, 2011 在 11:57 上午
评论 (1)

性能优化的过程中会遇到一系列的time,纯粹是从名字来看可能不是很理解其含义,这里对几个重要概念的辨析. CPU Time:对于单线程程序来说,CPU TIME指的是该线程在一个逻辑处理器(单核)上所花费的时间总量;对于多线程程序来说,CPU TIME指的是所有线程的CPU TIME之和;应用程序的CPU时间指的是该程序所有线程的CPU TIME之和。 Wait Time:特定线程等待一定事件发生的时间,这些事件可以是同步等待,I/O等待。 Elapsed time:该程序运行的平台时间,即:应用程序结束的时刻-应用程序起始时刻。 通过下面这个例子能够更好的说明几个概念之间的区别:     ...

继续 ›

分类: 其他

持续集成系统介绍

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 九月 22, 2011 在 1:32 下午
评论 (0)

在这里总结一下常用的CI原理,常用工具及一些操作建议,请参看附件中的视频。 (注:有些图表取自互联网,无法一一对应,向其原作者致歉,欢迎联系我并修改。另外,也欢迎大家针对PPT的内容进行探讨。) CI-system-introduction

继续 ›

分类: 开放源代码

从计算机视觉角度看处理器性能优化

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 九月 15, 2011 在 10:00 上午
评论 (0)

计算机视觉领域主要研究内容包括:图像分割,目标检测,目标跟踪,图像识别。 1. 图像分割在医学图像处理,目标跟踪和图像识别方面有重要应用,经常是图像理解的第一步,在时间的压缩上有着巨大需求。  2. 目标检测和目标跟踪在智能监控,车辆/导弹导航等方面有诸多应用,相关内容对实时性有着严格的界定和需求。  3. 图像识别是计算机视觉方向当前最火的研究内容之一,由于经典的基于统计学习的框架需要处理海量数据,需要大规模的并行计算,离线训练的时间往往让一般企业难以承受。但是图像识别技术有着重要意义(参见下图),近些年涌现出大批相关应用和产品,比如各大搜索引擎公司都积极开发了基于内容的图像检索和识别的产品,而对于一般方案的海量数据训练时间,如果能够有效地利用分布式计算,算法优化,以及更好的提升X86架构CPU和GPU的联合运算都将是非常有价值的工作。   接下来主要从图像识别开始,简述笔者对于计算机视觉领域的优化的任务的总结和思考:  (一) 图像识别一般符合如下框架:              1. 识别正确率与图像数据和所建立的图像类别模型有关,前者即与所提取的image representation的判别性有关,进一步,与所提取的local ...

继续 ›

分类: 其他, 图形和视觉计算, 英特尔® 软件网络 2.0, 软件技术学习及认证

从log文件看meego播放器性能

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 九月 15, 2011 在 9:56 上午
评论 (0)

视频播放器的性能随播放视频码率的不同而不同,有一些工具能够实现这些功能,比如VideoPerf,这里介绍一种通过看log记录的大致性能估计方法。 下载:Meego Video Player播放性能测试方法 1. 下载gstreamer最新的包gstreamer-0.10.32-6.9.i586.rpm : http://repo.meego.com/MeeGo/builds/1.2.0.90/1.2.0.90.8.20110712.5/repos/oss/ia32/packages/i586/ gstreamer 5.1中gst debug log被disable掉了,需要安装6.9才行 2. 查询系统已经安装的gstreamer包,并卸载: rpm -qa ...

继续 ›

分类: 全国大学生软件创新大赛专栏, 图形和视觉计算, 开放源代码, 英特尔® 软件网络 2.0, 软件技术学习及认证

Meego开发中一些小技巧

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 九月 15, 2011 在 9:52 上午
评论 (0)

1. 使用Chroot方式开发Meego软件时,host和client共享同一个/tmp文件夹,因此可以将主机中的文件通过放置在临时文件夹迅速转入到 Meego系统中。 2. 安装rpm包时使用rpm -ivh 命令,若使用源代码编译安装,则在GIT上拉取源代码,在Chroot环境中,直接qmake,make,make install. 3. 目前某些版本meego中对U盘支持不好,需要手工mount, 使用命令:su 输入密码:meego,获取root权限; 使用fdisk -l ...

继续 ›

分类: 全国大学生软件创新大赛专栏, 其他, 英特尔® 软件网络 2.0, 软件技术学习及认证

Meego开发常用测试工具及流程

作者: Zhibin Niu (Intel) (8 篇文章) 日期: 九月 15, 2011 在 9:51 上午
评论 (0)

1. 开源产品经验 从UBUNTU的开发测试中可窥典型开源产品测试之一斑: 1) ISO testing 2) SRU testing 3) Bug triage 4) Feature testing 5) ...

继续 ›

分类: 全国大学生软件创新大赛专栏, 开放源代码, 英特尔® 软件网络 2.0, 软件技术学习及认证