There is an explosive growth in the size of the input and/or intermediate data used and generated by modern and emerging applications. Unfortunately, modern computing systems are not capable of handling large amounts of data efficiently. Major concepts and components (e.g., the virtual memory system) and predominant execution models (e.g., the processor-centric execution model) used in almost all computing systems are designed without having modern applications' overwhelming data demand in mind. As a result, accessing, moving, and processing large amounts of data faces important challenges in today's systems, making data a first-class concern and a prime performance and energy bottleneck in such systems. This thesis studies the root cause of inefficiency in modern computing systems when handling modern applications' data demand, and aims to fundamentally address such inefficiencies, with a focus on two directions. First, we design SIMDRAM, an end-to-end processing-using-DRAM framework that aids the widespread adoption of processing-using-DRAM, a data-centric computation paradigm that improves the overall performance and efficiency of the system when computing large amounts of data by minimizing the cost of data movement and enabling computation where the data resides. Second, we introduce the Virtual Block Interface (VBI), a novel virtual memory framework that 1) eliminates the inefficiencies of the conventional virtual memory frameworks when handling the high memory demand in modern applications, and 2) is built from the ground up to understand, convey, and exploit data properties, to create opportunities for performance and efficiency improvements.
翻译:现代和新兴应用软件使用和生成的投入和(或)中间数据的规模有了爆炸性的增长; 不幸的是,现代计算机系统无法有效处理大量数据; 几乎所有计算机系统中使用的主要概念和组成部分(例如虚拟记忆系统)和主要执行模式(例如以处理器为中心的执行模式)的设计都没有考虑到现代应用软件压倒性的数据需求; 结果,获取、移动和处理大量数据在当今系统中面临重大挑战,使数据成为头等关注事项,使这类系统中的主要性能和能源瓶颈; 这一理论研究现代计算系统在处理现代应用数据需求时效率低下的根源,目的是从根本上解决这种效率低下的问题,重点是两个方向; 首先,我们设计SIMDRAM,一个端到端处理-使用DRAM框架,帮助广泛采用处理-DRAM,一个以数据为中心的计算模式,通过降低数据流动的成本,提高系统在计算大量数据时的总体性能和效率; 在虚拟记忆中,我们引入了高性能模型,从而消除了高存储率框架; 第二,我们引入了从虚拟数据移动到高存储率框架; 利用高质量框架,我们引入了高存储质量框架,从而消除了高存储率; ; 第二,我们引入了高存储率框架,我们引入了高质量框架;