学位论文详细信息
Speculative Execution Across Layers.
Speculative Execution;Parallelism;Fault Tolerance;Data Race Detection;Computer Science;Engineering;Computer Science & Engineering
Wester, Benjamin J.Flinn, Jason Nelson ;
University of Michigan
关键词: Speculative Execution;    Parallelism;    Fault Tolerance;    Data Race Detection;    Computer Science;    Engineering;    Computer Science & Engineering;   
Others  :  https://deepblue.lib.umich.edu/bitstream/handle/2027.42/93930/bwester_1.pdf?sequence=1&isAllowed=y
瑞士|英语
来源: The Illinois Digital Environment for Access to Learning and Scholarship
PDF
【 摘 要 】

To achieve good performance on modern hardware, software must bedesigned with a high degree of parallelism.New advancements in processordesign and manufacturing have produced chips that offer greatercomputation capacity, but they do this primarily by providing moreprocessing cores rather than by greatly improving per-coreperformance.Speculative execution is a technique that can be usedimprove the parallelism of sequential programs by predicting thedependencies between tasks, allowing a later task to run concurrentlywith an earlier one.Software systems are composed of many different cooperating layers:CPU, virtual machine, operating system, language runtime, and programcode.The effects of speculative execution are traditionally confinedto a single layer.Code running at higher layers is unaware that itsexecution is speculative, and code running at lower layers neverobserves any speculative behavior or output from higher layers.This thesis explores the benefits of letting speculative executions bevisible across the many layers of a software system.Components ofthe system can be aware of speculative computations and, withcontrolled access rather than isolation, can be designed to handlespeculative state and effects correctly.With cooperation among layers,new opportunities for parallelization appear.This dissertation shows how visible speculations across layers can beapplied to application development, network protocols, and dynamicapplication analysis. I develop a new programming model forapplications that separates the mechanism used to implement safetyfrom the policy that describes how to control an individualspeculation.The operating system implements the mechanism, leavingeach application to describe its own custom policy.I then describe anew agreement protocol for Byzantine fault-tolerant services that isoptimized for client applications capable of executing speculatively.Finally, I develop an algorithm for parallelizing data race detectionby expressing speculative parallelism and handling it in the algorithmitself.

【 预 览 】
附件列表
Files Size Format View
Speculative Execution Across Layers. 535KB PDF download
  文献评价指标  
  下载次数:8次 浏览次数:17次