Explicit software speculation for dynamic language runtimes

Explicit software speculation for dynamic language runtimes(2009)

引用 25|浏览7
暂无评分
摘要
While dynamic languages are now mainstream choices for application development, most popular dynamic languages are primarily executed by interpreters whose performance and capabilities restrict their wider application. The only successful remedy for these limitations has been dynamic optimization infrastructures developed specifically for each language. Building such infrastructures is a substantial undertaking. This dissertation presents explicit software speculation, which encloses common or expected case code in atomic regions. A best-effort hardware transactional memory executes a region speculatively when specified assumptions, or correctness constraints, permit. When an assumption becomes invalid, the hardware and runtime software transition to corresponding nonspeculative, fallback code which executes correctly, albeit more slowly, under all circumstances. I demonstrate that explicit speculation improves the performance of dynamic language implementations on existing managed runtimes by speculatively executing dynamic language code with a common case interpretation of the language semantics. I implement a variety of optimizations at a high level, maintaining correct execution without requiring the sophisticated static analysis, language-specific runtime profiling infrastructure or potentially intricate, low-level recovery code that would be otherwise necessary. In addition, I explore how explicit speculation can guarantee speculative optimization correctness in an unmanaged dynamic language runtime by utilizing additional hardware support for fine-grain memory protection.
更多
查看译文
关键词
dynamic language code,fallback code,expected case code,explicit speculation,unmanaged dynamic language runtime,popular dynamic language,dynamic language,dynamic language runtimes,dynamic language implementation,language semantics,dynamic optimization infrastructure,explicit software speculation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要