Commit Groups for Strand-Based Computing
    1.
    发明申请
    Commit Groups for Strand-Based Computing 审中-公开
    基于串行计算的提交组

    公开(公告)号:US20090217020A1

    公开(公告)日:2009-08-27

    申请号:US12391248

    申请日:2009-02-23

    申请人: Matt T. Yourst

    发明人: Matt T. Yourst

    IPC分类号: G06F9/22

    摘要: Strand-based computing hardware and dynamically optimizing strandware are included in a high performance microprocessor system. The system operates in real time automatically and unobservably to parallelize single-threaded software into parallel strands for execution by cores implemented in a multi-core and/or multi-threaded microprocessor of the system. The system organizes native instructions of the strands into commit groups. With respect to each commit group, results are either atomically committed or entirely discarded. A hierarchical two-level rollback mechanism enables rolling back at a granularity of a single one of the commit groups, or alternatively rollback at a granularity of an entire strand. The system operates to respond to local events (e.g. branch misprediction) via rollback of commit groups, and to global events (e.g. strand-level mis-speculation) via rollback of strands. Rolling back of commit groups of a particular strand only affects commit groups of the particular strand, leaving other strands unaffected.

    摘要翻译: 基于绞线的计算硬件和动态优化绞盘软件包括在高性能微处理器系统中。 该系统实时自动地且不可忽视地将单线程软件并行化为并行线,以便在系统的多核和/或多线程微处理器中实现的核心执行。 系统将这些线的本机指令组织成提交组。 对于每个提交组,结果都以原子方式提交或完全丢弃。 分层的两级回滚机制使得能够以提交组的单个粒度的粒度回滚,或者以整个链的粒度回滚。 该系统通过回滚提交组来响应本地事件(例如分支错误预测),以及通过线的回滚来响应全局事件(例如,链级错误猜测)。 特定链的提交组的回滚仅影响特定链的提交组,留下其他线不受影响。

    STRAND-BASED COMPUTING HARDWARE AND DYNAMICALLY OPTIMIZING STRANDWARE FOR A HIGH PERFORMANCE MICROPROCESSOR SYSTEM
    3.
    发明申请
    STRAND-BASED COMPUTING HARDWARE AND DYNAMICALLY OPTIMIZING STRANDWARE FOR A HIGH PERFORMANCE MICROPROCESSOR SYSTEM 审中-公开
    用于高性能微处理器系统的基于STRAND的计算硬件和动态优化条带

    公开(公告)号:US20090150890A1

    公开(公告)日:2009-06-11

    申请号:US12331425

    申请日:2008-12-09

    申请人: Matt T. Yourst

    发明人: Matt T. Yourst

    IPC分类号: G06F9/46

    摘要: Strand-based computing hardware and dynamically optimizing strandware are included in a high performance microprocessor system. The system operates in real time automatically and unobservably to parallelize single-threaded software into a plurality of parallel strands for execution by cores implemented in a multi-core and/or multi-threaded microprocessor of the system. The microprocessor executes a native instruction set tailored for speculative multithreading. The strandware directs hardware of the microprocessor to collect dynamic profiling information while executing the single-threaded software. The strandware analyzes the profiling information for the parallelization, and uses binary translation and dynamic optimization to produce native instructions to store in a translation cache later accessed to execute the produced native instructions instead of some of the single-threaded software. The system is capable of parallelizing a plurality of single-threaded software applications (e.g. application software, device drivers, operating system routines or kernels, and hypervisors).

    摘要翻译: 基于绞线的计算硬件和动态优化绞盘软件包括在高性能微处理器系统中。 该系统实时自动地且不可观察地操作,以将单线程软件并行化成多个并行线,以由在系统的多核和/或多线程微处理器中实现的核执行。 微处理器执行专用于推测性多线程的本地指令集。 在执行单线程软件的过程中,这些线缆引导微处理器的硬件收集动态分析信息。 该分支软件分析并行化的分析信息,并使用二进制转换和动态优化来产生本地指令,以存储在稍后访问的转换缓存中,以执行生成的本地指令,而不是一些单线程软件。 该系统能够并行化多个单线程软件应用(例如应用软件,设备驱动器,操作系统例程或内核,以及管理程序)。