CAREER: Cooperative System Support for Robust High Performance
CAREER: Cooperative System Support for Robust High Performance
批准号:
0347339
负责人:
Emery Berger
金额:
$47.11万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2004
资助国家:
美国
项目状态:
已结题
起止时间:
2004-06-01 至 2010-05-31
中文摘要
现代软件系统是脆弱的。 由于内存层次结构越来越陡峭,一旦负载超过某个阈值,今天的系统就会跌落性能悬崖。 在这一点之后,如果有任何服务,它是以一种偶然的方式提供的,这种方式既不可预测又不可控制。 处理器和内存之间的延迟(内存墙)很大,而且还在增长,但现在主存和磁盘之间的延迟更大。 随着负载的增加,进程的组合工作集可能会超过主存容量。 由此产生的分页活动可能导致系统无响应。 当分页发生时,虚拟内存管理器成为事实上的调度程序,从而阻碍了负载管理。 技术趋势正在使这个问题在未来变得更加严重。 高质量、高性能的RAM越来越昂贵。 磁盘延迟是数百万个CPU周期,并且还在增长,需要更大的文件系统缓存。 像Java和C#这样的垃圾收集语言会导致更大的工作集和更差的局部性。 最后,数据饥饿的应用程序,如多媒体和数据挖掘提出了不断增长的需求,对这个问题的综合攻击,提出了开发合作系统支持,智能管理的内存层次结构。实现高性能并在负载下提供鲁棒性。 这种方法涉及新的自适应算法和编译器,操作系统和运行时系统之间的合作。 这项工作将开发两个协同的新研究领域:1。操作系统和运行时系统之间的协作内存管理,包括粗粒度和细粒度的垃圾收集器,以减少或消除分页。2.可感知内存的虚拟内存管理,在负载下提供可预测的调度。粗粒度收集器将通过减少应用程序占用来对内存负载信息做出反应。 将开发模型(使用虚拟机信息),以允许垃圾收集器执行成本效益分析,以选择最佳的堆大小。 细粒度收集器将与虚拟内存密切合作,通过重新定位对象以创建空页来选择适当的牺牲页进行驱逐,并在垃圾收集期间防止分页。 将调整和开发更多的方案。 这些分析将用于将具有相似生存期的对象分组到相同的页面上。 可感知内存的虚拟内存管理器将维护详细的引用行为,跟踪每个进程可能的主内存分配的效用。 调度程序将其预期的调度传达给虚拟内存管理器,虚拟内存管理器将根据调度程序请求的CPU时间比例来衡量每个分配的效用。 一个实用度量系统将使内存提供给每个进程,使它可以运行其CPU的比例,然后通知调度程序时,进程不能被调度,使调度程序可以决定哪些应该被停用。
英文摘要
Modern software systems are brittle. Today's systems fall over a performance cliff once load crosses a certain threshold due to the ever-steeper memory hierarchy. After this point, if there is any service, it is provided in a haphazard manner that is both unpredictable and uncontrollable. The latency between processors and memory - the memory wall - is large and growing, but even greater latency now exists between main memory and disk - the disk wall. As load increases, the combined working sets of processes can exceed main memory capacity. The resulting paging activity can render a system unresponsive. When paging occurs, the virtual memory manager becomes the de facto scheduler, thwarting load management. Technology trends are conspiring to make this problem more severe in the future. High-quality, high-performance RAM is increasingly expensive. Disk latency is millions of CPU cycles and growing, requiring larger filesystem caches. Garbage-collected languages lika Java and C# lead to larger working sets and worse locality. Finally, data-hungry applications such as multimedia and data mining are placing growing demands on memory.An integrated attack on this problem is proposed by developing cooperative system support that intelligently manages the memory hierarchy. Enabling high performance and providing robustness under load. This approach involves novel adaptive algorithms and cooperation between the compiler, operating system, and run-time systems. The work will develop two synergistic new research areas:1. Cooperative memory management between the operating system and run-time systems, including coarse-grained and fine-grained garbage collectors, to reduce or eliminate paging.2. Scheduler-aware virtual memory management to provide predictable scheduling under load.The coarse-grained collector will react to memory load information by reducing application footprint. Models will be developed (using VM information) to allow garbage collectors to perform cost-benefit analyses to choose the best possible heap size. The fine-grained collector will cooperate closely with the virtual memory, selecting appropriate victim pages for eviction by relocating objects to create empty pages, and preventing paging during garbage collection. Compiler programs will be adapted and developed. The analyses will be used to group objects with similar lifetimes onto the same pages. The scheduler-aware virtual memory manager will maintain detailed reference behavior tracking the utility of possible main memory allocations to each process. The scheduler will communicate its intended schedule to the virtual memory manager, which will weigh the utility of each allocation by the proportion of CPU time that the scheduler requests. A utility metric system will enable memory to be provided to each process so that it can run for its CPU proportion and then inform the scheduler when processes cannot be scheduled, so that the scheduler can decide which ones should be deactivated.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Collaborative Research:SHF:Medium:Bringing Python Up to Speed
-
批准号:1954830
-
项目类别:Standard Grant
-
资助金额:$37.71万
-
财政年份:2020
-
负责人:Emery Berger
-
依托单位:
SHF: Small: S3: Statistical and Structural Analysis for Spreadsheets
-
批准号:1617892
-
项目类别:Standard Grant
-
资助金额:$34.74万
-
财政年份:2016
-
负责人:Emery Berger
-
依托单位:
TWC: Small: Collaborative: EVADE: Evidence-Assisted Detection and Elimination of Security Vulnerabilities
-
批准号:1525888
-
项目类别:Standard Grant
-
资助金额:$25.0万
-
财政年份:2015
-
负责人:Emery Berger
-
依托单位:
XPS: FULL: SDA: Collaborative Research: SCORE: Scalability-Oriented Optimization
-
批准号:1439008
-
项目类别:Standard Grant
-
资助金额:$64.8万
-
财政年份:2014
-
负责人:Emery Berger
-
依托单位:
EAGER: Data Debugging
-
批准号:1349784
-
项目类别:Standard Grant
-
资助金额:$15.0万
-
财政年份:2013
-
负责人:Emery Berger
-
依托单位:
EAGER: Programming the Crowd
-
批准号:1144520
-
项目类别:Standard Grant
-
资助金额:$15.0万
-
财政年份:2012
-
负责人:Emery Berger
-
依托单位:
SHF: Large: Collaborative Research: Reliable Performance for Modern Systems
-
批准号:1012195
-
项目类别:Continuing Grant
-
资助金额:$34.63万
-
财政年份:2010
-
负责人:Emery Berger
-
依托单位:
SHF: Large:Collaborative Research: PASS: Perpetually Available Software Systems
-
批准号:0910883
-
项目类别:Standard Grant
-
资助金额:$63.94万
-
财政年份:2009
-
负责人:Emery Berger
-
依托单位:
Probabilistically Correct Execution: Hardening Applications Against Error and Attack
-
批准号:0615211
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2006
-
负责人:Emery Berger
-
依托单位:
海外基金