由于晶体管数量每 18 个月就会增加一倍,因此,英特尔正在采用全新数量的晶体管,以便将多核功能添加到处理器中。我们最初采用的是超线程(HT)技术;目前,双内核技术与多核技术为我们提供了性能更优的处理器,但缺乏更多必要功能。应用的典型优化方式是尽可能使任务以并行方式运行,并尽量提高任务执行速度。这种方法取决于应用和操作系统,通过采用“工作线程”提供有用模块,您就能充分利用多核技术。例如,在计算机上写这篇文章时,我注意到当前在我的系统中运行的应用。这些应用未能尽量充分利用自身所能获得的资源。在某些情况下,节电和降低散热的方式有助于将资源消耗降至最低,但这些方式通常并不能从根本上解决问题。例如,我在撰写这篇论文的同时,在台式机中运行如下应用:
- 文件管理器(File Explorer)
- 商用 C++ 开发环境和独立源代码编辑器
- 播放音乐 CD 的音频播放器
- 防病毒软件
- 字处理程序
CPU 的平均使用率为 3%。硬盘访问使用率大约为 2%。实际上,在双核系统中,两个 CPU 均处于空闲状态。现在我们开始考虑其它可能发生的情况:如果在我写论文的同时,音频播放器正在搜索一些并未标明内容具体信息、但可能标有 IDV3 标签信息的音频文件,那么,情况将会怎样?如果文件管理器(File Explorer)采用多线程功能检索特定文件以协助更加快速高效地查找内容,那么,情况将会怎样?护病毒软件和字处理软件的后台使用包括:扫描新文件及经过修改的文件、拼写检查、语法检查,等等。如果您在撰写文档时,系统中添加了新的功能,比如查找互联网中的相关内容,那么情况将会怎样?在不干扰当前工作,或“前台”任务的情况下,所有这些功能都非常有用,并蕴含着巨大潜力。
除上面提到的改进用法模式以外,对那些不断被添加、修改和删除的内容进行管理这项任务并不轻松。为了使信息更加实用,检索内容及其关联信息的方式、需要“与时俱进”。为了保持磁盘内容数据的最新状态,您需要快速采集数据信息。在这种情况下,应当限制后台任务对资源的占用,以使其不会影响前台任务。但是在实际操作中,这又意味着什么呢?这种操作的复杂程度,可能远远大于单纯限制 CPU 的使用。诸如磁盘使用率、磁盘高速缓存、CPU 高速缓存、网络使用率等资源,都需要考虑在内。调节(regulate)后台任务这项工作并非无足轻重,因为它需要尽可能快速并且高效地使任务完美顺利地完成,同时不会对其它任务造成影响,甚至不会被注意到。第 1 步就是调节大多数显而易见的资源、CPU、磁盘及网络使用率。
本文余下部分将介绍性能调节(performance-regulating)类的初步实施方案,其中为您提供了用以执行这些功能的高效的框架。