会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 62. 发明申请
    • DYNAMIC OPTIMIZATION FOR CONDITIONAL COMMIT
    • 动态优化条件咨询
    • US20120079245A1
    • 2012-03-29
    • US12890638
    • 2010-09-25
    • Cheng WangEdson BorinYoufeng WuShiliang HuWei LiuMauricio Breternitz, JR.
    • Cheng WangEdson BorinYoufeng WuShiliang HuWei LiuMauricio Breternitz, JR.
    • G06F9/312G06F9/38G06F9/30
    • G06F9/3842G06F8/52G06F9/3004G06F9/30072G06F9/30087G06F9/30116G06F9/3857
    • An apparatus and method is described herein for conditionally committing and/or speculative checkpointing transactions, which potentially results in dynamic resizing of transactions. During dynamic optimization of binary code, transactions are inserted to provide memory ordering safeguards, which enables a dynamic optimizer to more aggressively optimize code. And the conditional commit enables efficient execution of the dynamic optimization code, while attempting to prevent transactions from running out of hardware resources. While the speculative checkpoints enable quick and efficient recovery upon abort of a transaction. Processor hardware is adapted to support dynamic resizing of the transactions, such as including decoders that recognize a conditional commit instruction, a speculative checkpoint instruction, or both. And processor hardware is further adapted to perform operations to support conditional commit or speculative checkpointing in response to decoding such instructions.
    • 本文描述了用于有条件地提交和/或推测性检查点事务的装置和方法,这可能导致事务的动态调整大小。 在二进制代码的动态优化期间,插入事务以提供存储器排序保护措施,这使得动态优化器能够更积极地优化代码。 并且条件提交可以有效地执行动态优化代码,同时尝试防止事务用尽硬件资源。 虽然投机检查点能够在中止交易后快速有效地恢复。 处理器硬件适于支持事务的动态调整大小,诸如包括识别条件提交指令的解码器,推测性检查点指令或两者。 并且处理器硬件还适于执行响应于解码这样的指令来支持条件提交或推测性检查点的操作。
    • 63. 发明授权
    • Compiler technique for efficient register checkpointing to support transaction roll-back
    • 编译器技术,用于高效的注册检查点支持事务回滚
    • US08001421B2
    • 2011-08-16
    • US12856505
    • 2010-08-13
    • Cheng WangYoufeng Wu
    • Cheng WangYoufeng Wu
    • G06F11/00
    • G06F9/3863G06F9/3004G06F9/3834G06F11/1407
    • A method and apparatus for efficient register checkpointing is herein described. A transaction is detected in program code. A recovery block is inserted in the program code to perform recovery operations in response to an abort of the first transaction. A roll-back edge is potentially inserted from an abort point to the recovery block. A control flow edge is inserted from the recovery block to a entry point of the transaction. Checkpoint code is inserted before the entry point to backup live-in registers in backup storage elements and recovery code is inserted in the recovery block to restore the live-in registers from the backup storage elements in response to an abort of the transaction.
    • 这里描述用于有效的寄存器检查点的方法和装置。 在程序代码中检测到事务。 在程序代码中插入恢复块,以响应于第一个事务的中止来执行恢复操作。 回退边缘可能从中止点插入到恢复块。 将控制流程边缘从恢复块插入到事务的入口点。 检查点代码被插入到备份存储元件中的备份实时寄存器的入口点之前,并且恢复代码被插入到恢复块中,以便响应于事务的中止从备份存储元件恢复实时寄存器。
    • 64. 发明授权
    • Transient fault detection by integrating an SRMT code and a non SRMT code in a single application
    • 通过在单个应用程序中集成SRMT代码和非SRMT代码来进行瞬态故障检测
    • US07937621B2
    • 2011-05-03
    • US11770095
    • 2007-06-28
    • Cheng WangYoufeng Wu
    • Cheng WangYoufeng Wu
    • G06F11/00G06F11/14
    • G06F11/1487G06F8/458G06F9/4484
    • Disclosed is a method for running a first code generated by a Software-based Redundant Multi-Threading (SRMT) compiler along with a second code generated by a normal compiler at runtime, the first code including a first function and a second function, the second code including a third function. The method comprises running the first function in a leading thread and a tailing thread (104); running the third function in a single thread (106), the leading thread calls the third function and running the second function in the leading thread and the tailing thread (108), the third function calls the second function. The present disclosure provides a mechanism for handling function calls wherein SRMT functions and binary functions can call each other irrespective of whether the callee function is a SRMT function or a binary function and thereby dynamically adjusts reliability and performance tradeoff based on run-time information and user selectable policies.
    • 公开了一种用于在运行时运行由基于软件的冗余多线程(SRMT)编译器生成的第一代码以及由正常编译器生成的第二代码的方法,所述第一代码包括第一功能和第二功能,第二代码 代码包括第三个功能。 该方法包括在前导线和尾线(104)中运行第一功能; 在单个线程(106)中运行第三个函数,前导线程调用第三个函数并在前导线程和后退线程(108)中运行第二个函数,第三个函数调用第二个函数。 本公开提供了一种用于处理功能调用的机制,其中SRMT功能和二进制功能可以彼此调用,而不管被叫方功能是SRMT功能还是二进制功能,从而基于运行时信息和用户动态地调整可靠性和性能权衡 可选择的政策。
    • 65. 发明申请
    • Context-Sensitive Slicing For Dynamically Parallelizing Binary Programs
    • 动态并行二进制程序的上下文敏感切片
    • US20110099541A1
    • 2011-04-28
    • US12607589
    • 2009-10-28
    • Joseph BlomstedtCheng WangYoufeng Wu
    • Joseph BlomstedtCheng WangYoufeng Wu
    • G06F9/45
    • G06F11/3604G06F8/433G06F8/456
    • In one embodiment of the invention a method comprising (1) receiving an unstructured binary code region that is single-threaded; (2) determining a slice criterion for the region; (3) determining a call edge, a return edge, and a fallthrough pseudo-edge for the region based on analysis of the region at a binary level; and (4) determining a context-sensitive slice based on the call edge, the return edge, the fallthrough pseudo-edge, and the slice criterion. Embodiments of the invention may include a program analysis technique that can be used to provide context-sensitive slicing of binary programs for slicing hot regions identified at runtime, with few underlying assumptions about the program from which the binary is derived. Also, in an embodiment a slicing method may include determining a context-insensitive slice, when a time limit is met, by determining the context-insensitive slice while treating call edges as a normal control flow edges.
    • 在本发明的一个实施例中,一种方法包括(1)接收单线程的非结构化二进制码区域; (2)确定该区域的切片标准; (3)基于二进制级别的区域的分析确定该区域的通话边缘,返回边缘和下降伪边缘; 和(4)基于呼叫边缘,返回边缘,下降伪边缘和切片标准来确定上下文敏感切片。 本发明的实施例可以包括程序分析技术,其可以用于提供二进制程序的上下文敏感切片,用于对在运行时识别的热区域进行切片,而关于从其导出二进制的程序的几个基本假设。 此外,在一个实施例中,切片方法可以包括当满足时间限制时,通过在将呼叫边缘视为正常控制流边缘的同时确定上下文不敏感切片来确定上下文不敏感切片。
    • 66. 发明申请
    • ENERGY/PERFORMANCE WITH OPTIMAL COMMUNICATION IN DYNAMIC PARALLELIZATION OF SINGLE-THREADED PROGRAMS
    • 能源/性能与单通道程序动态并行的最佳通信
    • US20100169861A1
    • 2010-07-01
    • US12344721
    • 2008-12-29
    • Cheng WangYoufeng Wu
    • Cheng WangYoufeng Wu
    • G06F9/44
    • G06F8/443G06F8/41G06F8/445G06F8/457
    • A method and apparatus for optimizing parallelized single threaded programs is herein described. Code regions, such as dependency chains, are replicated utilizing any known method, such as dynamic code replication. A flow network associated with a replicated code region is built and a minimum cut algorithm is applied to determine duplicated nodes, which may include a single instruction or a group of instructions, to be removed. The dependency of removed nodes is fulfilled with inserted communication to ensure proper data consistency of the original single-threaded program. As a result, both performance and power consumption is optimized for parallel code sections through removal of expensive workload nodes and replacement with communication between other replicated code regions to be executed in parallel.
    • 这里描述用于优化并行化单线程程序的方法和装置。 使用任何已知的方法(如动态代码复制)来复制代码区域,例如依赖关系链。 构建与复制代码区域相关联的流网络,并且应用最小切割算法来确定可以包括要移除的单个指令或一组指令的重复节点。 删除的节点的依赖性通过插入的通信来实现,以确保原始单线程程序的正确数据一致性。 因此,通过移除昂贵的工作负载节点和并行执行的其他复制代码区之间的通信来替换并行代码段,性能和功耗都得到了优化。
    • 68. 发明申请
    • Efficient and consistent software transactional memory
    • 高效一致的软件事务内存
    • US20080163220A1
    • 2008-07-03
    • US11648012
    • 2006-12-28
    • Cheng WangYoufeng WuWei-Yu ChenBratin SahaAli-Reza Adl-Tabatabai
    • Cheng WangYoufeng WuWei-Yu ChenBratin SahaAli-Reza Adl-Tabatabai
    • G06F9/46
    • G06F8/458G06F9/3004G06F9/30087G06F9/3834G06F9/3859G06F9/3863G06F9/467
    • A method and apparatus for efficient and consistent validation/conflict detection in a Software Transactional Memory (STM) system is herein described. A version check barrier is inserted after a load to compare versions of loaded values before and after the load. In addition, a global timestamp (GTS) is utilized to track a latest committed transaction. Each transaction is associated with a local timestamp (LTS) initialized to the GTS value at the start of a transaction. As a transaction commits it updates the GTS to a new value and sets versions of modified locations to the new value. Pending transactions compare versions determined in read barriers to their LTS. If the version is greater than their LTS indicating another transaction has committed after the pending transaction started and initialized the LTS, then the pending transaction validates its read set to maintain efficient and consistent transactional execution.
    • 这里描述了用于在软件事务存储器(STM)系统中有效且一致的验证/冲突检测的方法和装置。 在加载之后插入版本检查障碍,以便在加载之前和之后比较加载值的版本。 此外,使用全局时间戳(GTS)来跟踪最近提交的事务。 每个事务与在事务开始时初始化为GTS值的本地时间戳(LTS)相关联。 作为事务提交,将GTS更新为新值,并将修改的位置的版本设置为新值。 待处理的交易将比较其在LTS阅读障碍中确定的版本。 如果版本大于其LTS,指示在挂起事务启动并初始化LTS之后另一个事务已经提交,则挂起的事务会验证其读取集合以保持有效且一致的事务执行。