吉姆·霍尔特的智能手机并不那么智能。 它有一个他用来查找餐厅的地图应用程序,但当他完成搜索后,该应用程序继续消耗大量电力和内存,以至于他甚至无法做像发送短信这样的简单事情,弗里斯凯尔半导体公司的工程师霍尔特抱怨道。
霍尔特的手机突显了当今计算系统的一个普遍问题:系统的一部分不知道另一部分在做什么。 每个程序都尽可能多地占用资源,而操作系统太笨拙,无法意识到用户当前关心的应用程序正在被挤出。 这个问题不仅困扰着智能手机,也困扰着个人电脑和超级计算机,而且随着越来越多的机器依赖多核处理器,情况会变得更糟。 除非计算机的各个组件学会相互沟通它们的可用性和需求,否则计算的未来可能无法达到其辉煌的过去。
霍尔特和他在麻省理工学院领导的研究联盟“昂斯特朗项目”中的合作者已经提出了一个答案:“自我感知”计算机。 在传统计算机中,硬件、软件和操作系统(硬件和软件之间的中间人)无法轻易地知道其他组件在做什么,即使它们都在同一台机器内部运行。 例如,操作系统不知道视频播放器应用程序是否运行困难,即使观看视频的人肯定会注意到画面卡顿。
支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。 通过购买订阅,您正在帮助确保有关塑造我们当今世界的发现和想法的具有影响力的故事的未来。
去年,麻省理工学院团队发布了 Application Heartbeats,这是一款研究软件,用于监控所有不同应用程序的运行状况。 它可以判断,例如,视频软件以每秒 15 帧的速率运行,而不是最佳的 30 帧。
这个想法最终是使操作系统能够检测到应用程序何时运行速度慢到无法接受,并考虑潜在的解决方案。 如果计算机有充足的电池电量,那么操作系统可能会将更多的计算能力导向该应用程序。 如果没有,也许操作系统会告诉应用程序使用质量较低但效率更高的一组指令。 操作系统将从经验中学习,因此第二次解决问题可能会更快。 而且,自我感知计算机将能够处理复杂的目标,例如“运行这三个程序,但优先考虑第一个程序”和“尽可能节省能源,只要它不干扰我正在观看的电影”。
下一步是设计一个后续操作系统,它可以调整分配给任何一个程序的资源。 如果视频运行缓慢,操作系统将为其分配更多电力。 然而,如果它以每秒 40 帧的速度运行,计算机可能会将电力转移到其他地方,因为对于人眼来说,电影以每秒 40 帧的速度观看并不比每秒 30 帧更好。 “我们能够比今天的标准做法节省 40% 的电力,”麻省理工学院计算机科学博士生亨利·霍夫曼说,他正在开发该软件。
项目首席科学家安南特·阿加瓦尔说,自我感知系统不仅使计算机更智能,而且对于管理未来越来越复杂的计算机可能至关重要。 在过去的十年中,计算机工程师在计算机中添加了越来越多的基本计算单元,称为内核。 今天的计算机有两到四个内核,但未来的机器将使用从几十个到数千个内核的任何数量。 这将使得在内核之间分配计算任务的任务(程序员现在明确地执行此操作)几乎不可能。 自我感知系统将减轻程序员的负担,自动调整程序的内核使用率。
能够处理如此多的内核可能会带来一个全新的计算速度水平,为机器朝着更快的速度发展的趋势铺平道路。 加州大学洛杉矶分校电气工程教授约翰·维拉塞诺尔说:“当我们拥有非常大量的内核时,我们必须拥有某种程度的自我感知系统。”他没有参与昂斯特朗项目。“我认为你会在未来几年看到这方面的一些要素。”