恩杰

EnerJ:安全和通用低功耗计算的近似数据类型。在计算机系统中,能源越来越成为一个首要问题。在能够容忍误差的应用中,利用能量精度权衡是一个有吸引力的选择。最近的工作探讨了在编程模型中暴露这种权衡。然而,一个关键的挑战是如何将程序中必须精确的部分与可以近似的部分分离开来,以便即使在服务质量下降的情况下程序也能正常工作。我们建议使用类型限定符来声明可能需要进行近似计算的数据。使用这些类型,系统自动将近似变量映射到低功耗存储,使用低功耗操作,甚至应用程序员提供的更节能的算法。此外,该系统能静态地保证精确程序构件与近似构件的隔离。这允许程序员显式地控制信息如何从近似数据流向精确数据。重要的是,采用静态分析消除了动态检查的需要,进一步提高了节能效果。作为概念证明,我们开发了EnerJ,它是Java的一个扩展,添加了近似的数据类型。我们还提出了一个硬件架构,提供显式的近似存储和计算。我们将几个应用程序移植到EnerJ,并表明我们的扩展是表达性的和有效的;少量的注释可以显著节省潜在的能量(10%-50%),而精度成本非常低。