发明名称 Method and system for analyzing the performance of multi-threaded applications
摘要 A method and system to provide an analysis model to determine the specific problem(s) of a multi-threaded application. In one embodiment of the invention, the multi-thread application uses a plurality of threads for execution and each thread is assigned to a respective one of a plurality of states based on a current state of each thread. By doing so, the specific problem(s) of the multi-threaded application is determined based on the number of transitions among the plurality of states for each thread. In one embodiment of the invention, the analysis model uses worker threads transition counters or events to determine for each parallel region or algorithm of the multi-threaded application which problem has happened and how much it has affected the scalability of the parallel region or algorithm.
申请公布号 US9183109(B2) 申请公布日期 2015.11.10
申请号 US201012787240 申请日期 2010.05.25
申请人 Intel Corporation 发明人 Pegushin Anton;Kurylev Alexandr
分类号 G06F9/46;G06F11/34;G06F9/48 主分类号 G06F9/46
代理机构 Schwabe, Williamson & Wyatt, P.C. 代理人 Schwabe, Williamson & Wyatt, P.C.
主权项 1. A method of analyzing performance of a multi-threaded application executing on a multi-threading framework comprising: determining that parallel overheads of a parallel region of the multi-threaded application exceed a threshold by determining that a frequency of execution of queued tasks for each of one or more worker threads exceeds the threshold, wherein the determining that the frequency of execution of queued tasks for each of one or more worker threads exceeds the threshold comprises determining the frequency of execution of queued tasks for a worker thread based on counting a number of tasks taken from a queue by the worker thread over a monitoring period; and determining that one or more causes of the parallel overheads of the parallel region includes that each worker thread is spending too much of its lifetime taking tasks out of a queue, in response to the determination that the parallel overheads of the parallel region of the multi-threaded application exceed the threshold, wherein the parallel overheads comprise active parallel overheads and inactive parallel overheads, and wherein determining whether the parallel overheads of the parallel region of the multi-threaded application exceed the threshold comprises determining whether the active parallel overheads and/or the inactive parallel overheads of the parallel region of the multi-threaded application exceed the threshold.
地址 Santa Clara CA US
您可能感兴趣的专利