Memory approximation techniques are commonly limited in scope, targeting individual levels of the memory hierarchy. Existing approximation techniques for a full memory hierarchy determine optimal configurations at design-time provided a goal and application. Such policies are rigid: they cannot adapt to unknown workloads and must be redesigned for different memory configurations and technologies. We propose AXES: the first self-optimizing runtime manager for coordinating configurable approximation knobs across all levels of the memory hierarchy. AXES continuously updates and optimizes its approximation management policy throughout runtime for diverse workloads. AXES optimizes the approximate memory configuration to minimize power consumption without compromising the quality threshold specified by application developers. AXES can (1) learn a policy at runtime to manage variable application quality of service (QoS) constraints, (2) automatically optimize for a target metric within those constraints, and (3) coordinate runtime decisions for interdependent knobs and subsystems. We demonstrate AXES' ability to efficiently provide functions 1-3 on a RISC-V Linux platform with approximate memory segments in the on-chip cache and main memory. We demonstrate AXES' ability to save up to 37% energy in the memory subsystem without any design-time overhead. We show AXES' ability to reduce QoS violations by 75% with $<5\%$ additional energy.
翻译:内存近似近距离技术通常范围有限,针对记忆层的各个级别。全内存级的现有近距离技术在设计时确定最佳配置,提供目标和应用程序。这类政策是僵硬的:不能适应未知的工作量,必须重新设计,以适应不同的记忆配置和技术。我们提议AXES:第一个自我优化运行时间管理器,以协调各个记忆层的可配置近距离 knobs;AXES不断更新并优化其近距离管理政策,在整个运行时段为不同工作量提供最优化的近距离管理政策。AXES优化近距离内存配置,以尽量减少电力消耗,同时不损害应用程序开发者规定的质量阈值。AXES可以(1)在运行时学习一项政策,以管理服务(Qos)限制的可变应用质量(Qos)限制和技术上的重新设计。我们提议AXES能够自动优化这些限制范围内的目标度的运行时间管理器,并协调各级别之间互相关联的 knobs和子系统的运行时间决定。我们证明AXES有能力高效地在一个具有近似存储器缓存和主内存部分的RIS5。我们可以将AX$xxxxx的能力降低到37%的能量系统设计到任何侵犯能力。