软件运行异常:机器学习或可解决多核处理器引发的问题

加入我们的科学爱好者社区!

本文发表于大众科学(大众科学)的前博客网络,反映了作者的观点,不一定反映大众科学(大众科学)的观点


个人电脑通过引入多核处理器来分解工作负载,从而在速度上有所提升,但也可能在可靠性方面有所损失。这是因为软件应用程序被编写为按特定顺序执行不同的操作。当不同的代码片段被无序处理时(这要归功于多处理器对工作的划分),可能会导致计算机崩溃,让办公室职员、研究人员、学生、游戏玩家和其他用户盯着冻结的屏幕。

虽然这种并行处理系统最初在超级计算环境中被用作更快地处理科学数据的一种方式,但这项技术现在在个人电脑上很常见,个人电脑可以运行双核甚至四核处理器(这意味着每个处理器将工作负载分成两半或四分之一以加速)。即使在您输入电子邮件时,您的计算机也在后台工作以检查新邮件,这是一个需要并行处理的操作。


关于支持科学新闻报道

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道: 订阅。通过购买订阅,您正在帮助确保未来能够继续讲述关于塑造我们今天世界的发现和想法的具有影响力的故事。


华盛顿大学西雅图分校计算机科学与工程助理教授路易斯·塞泽说,这种处理问题在较旧的、顺序工作的单处理器系统中不太严重,这与今天的并行处理系统相反。“现在程序员必须担心并行性,以便利用从计算机到手机等各种设备中的处理器,”他说。“如果你有一个程序,并且你同时给不同的计算机相同的输入,你可能会得到不同的结果。这意味着人们会得到可靠性较低的游戏、软件和操作系统。”

为多处理器编写软件比为顺序处理器系统编写软件更困难,因为程序员现在必须担心多个工作负载同时在处理器上执行。信息的传输速度可能会受到微小变化的影响,例如计算机内部零件之间的距离,甚至电线的温度,从而导致信息无序到达。

解决这个问题的关键是编写能够正确地同时操作多个处理器的软件。塞泽和他的同事正在探索使用机器学习来教计算机识别程序何时执行不当,并标记这些情况,以便程序员可以分析软件中的错误。“我的目标是使为多核系统编写程序像为顺序系统编写程序一样容易和可靠,”他说。

他们开发了一种方法,通过自动分配命令集并将它们分配到特定位置,使现代多处理器计算机以可预测的方式运行。塞泽和来自该大学安全多处理架构(SAMPA)小组的几位同事将在下周于匹兹堡举行的编程语言和操作系统架构支持国际会议上展示他们为解决这个并行处理问题提出的方案。

图片©iStockphoto.com/ Andrey Volodin

© . All rights reserved.