发明名称 Systems and methods for providing deterministic execution
摘要 Devices and methods for providing deterministic execution of multithreaded applications are provided. In some embodiments, each thread is provided access to an isolated memory region, such as a private cache. In some embodiments, more than one private cache are synchronized via a modified MOESI coherence protocol. The modified coherence protocol may be configured to refrain from synchronizing the isolated memory regions until the end of an execution quantum. The execution quantum may end when all threads experience a quantum end event such as reaching a threshold instruction count, overflowing the isolated memory region, and/or attempting to access a lock released by a different thread in the same quantum.
申请公布号 US9146746(B2) 申请公布日期 2015.09.29
申请号 US201213410212 申请日期 2012.03.01
申请人 University of Washington through its Center of Commercialization 发明人 Ceze Luis Henrique;Bergan Thomas;Devietti Joseph;Grossman Daniel Joseph;Nelson Jacob Eric
分类号 G06F12/08;G06F9/38;G06F9/52 主分类号 G06F12/08
代理机构 Christensen O'Connor Johnson Kindness PLLC 代理人 Christensen O'Connor Johnson Kindness PLLC
主权项 1. A computer-implemented method of deterministic multithreaded execution, the method comprising: executing one or more threads via one or more execution pipelines, wherein each thread is configured to access an isolated memory region; and in response to determining that all of the one or more threads have detected end of execution quantum events, synchronizing the isolated memory regions; wherein the end of execution quantum events include an instruction count event, wherein the instruction count event indicates execution of a predetermined number of machine instructions by a thread, and wherein the number of machine instructions includes memory instructions and arithmetic instructions.
地址 Seattle WA US