CN100517235C - 用于检测多线程程序中潜在竞争的方法和系统 - Google Patents
用于检测多线程程序中潜在竞争的方法和系统 Download PDFInfo
- Publication number
- CN100517235C CN100517235C CNB2005100637330A CN200510063733A CN100517235C CN 100517235 C CN100517235 C CN 100517235C CN B2005100637330 A CNB2005100637330 A CN B2005100637330A CN 200510063733 A CN200510063733 A CN 200510063733A CN 100517235 C CN100517235 C CN 100517235C
- Authority
- CN
- China
- Prior art keywords
- thread
- segmentation
- collection
- dummy clock
- lock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41K—STAMPS; STAMPING OR NUMBERING APPARATUS OR DEVICES
- B41K1/00—Portable hand-operated devices without means for supporting or locating the articles to be stamped, i.e. hand stamps; Inking devices or other accessories therefor
- B41K1/02—Portable hand-operated devices without means for supporting or locating the articles to be stamped, i.e. hand stamps; Inking devices or other accessories therefor with one or more flat stamping surfaces having fixed images
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41K—STAMPS; STAMPING OR NUMBERING APPARATUS OR DEVICES
- B41K1/00—Portable hand-operated devices without means for supporting or locating the articles to be stamped, i.e. hand stamps; Inking devices or other accessories therefor
- B41K1/36—Details
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (17)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/808,110 | 2004-03-24 | ||
US10/808,110 US7549150B2 (en) | 2004-03-24 | 2004-03-24 | Method and system for detecting potential races in multithreaded programs |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1677353A CN1677353A (zh) | 2005-10-05 |
CN100517235C true CN100517235C (zh) | 2009-07-22 |
Family
ID=34939023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100637330A Expired - Fee Related CN100517235C (zh) | 2004-03-24 | 2005-03-24 | 用于检测多线程程序中潜在竞争的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7549150B2 (zh) |
EP (1) | EP1591895B1 (zh) |
JP (1) | JP4965081B2 (zh) |
KR (1) | KR101143214B1 (zh) |
CN (1) | CN100517235C (zh) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266600B2 (en) * | 2005-03-28 | 2012-09-11 | Nec Laboratories America, Inc. | Model checking of multi threaded software |
US7716645B2 (en) * | 2005-06-10 | 2010-05-11 | International Business Machines Corporation | Using atomic sets of memory locations |
US7784035B2 (en) * | 2005-07-05 | 2010-08-24 | Nec Laboratories America, Inc. | Method for the static analysis of concurrent multi-threaded software |
US7849369B2 (en) | 2005-10-25 | 2010-12-07 | Waratek Pty Ltd. | Failure resistant multiple computer system and method |
US7793263B2 (en) * | 2006-02-02 | 2010-09-07 | International Business Machines Corporation | Decision support tool for interleaving review software testing |
JP2007257397A (ja) * | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | 競合状態検出処理追加プログラム、競合状態検出処理追加装置、競合状態検出処理追加方法 |
US7673181B1 (en) * | 2006-06-07 | 2010-03-02 | Replay Solutions, Inc. | Detecting race conditions in computer programs |
WO2008040071A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention detection |
WO2008040076A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention resolution with echo cancellation |
US20080120477A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Contention detection with modified message format |
US8086805B2 (en) * | 2006-10-05 | 2011-12-27 | Waratek Pty Ltd. | Advanced contention detection |
WO2008040065A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention detection and resolution |
WO2008040073A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention resolution with counter rollover |
US20080250221A1 (en) * | 2006-10-09 | 2008-10-09 | Holt John M | Contention detection with data consolidation |
US8185874B2 (en) | 2006-11-07 | 2012-05-22 | Microsoft Corporation | Automatic and systematic detection of race conditions and atomicity violations |
CN101206692B (zh) * | 2006-12-20 | 2011-04-27 | 联想(北京)有限公司 | 检测进程的方法及设备 |
US8185875B2 (en) * | 2007-01-24 | 2012-05-22 | Nec Laboratories America, Inc. | Fast and accurate static data-race detection for concurrent programs |
US7861118B2 (en) * | 2007-03-30 | 2010-12-28 | Microsoft Corporation | Machine instruction level race condition detection |
US8621468B2 (en) * | 2007-04-26 | 2013-12-31 | Microsoft Corporation | Multi core optimizations on a binary using static and run time analysis |
JP4888272B2 (ja) * | 2007-07-30 | 2012-02-29 | 富士通セミコンダクター株式会社 | ソフトウェアのシミュレーション方法、ソフトウェアのシミュレーションのためのプログラム、及びソフトウェアのシミュレーション装置 |
US7971248B2 (en) * | 2007-08-15 | 2011-06-28 | Microsoft Corporation | Tolerating and detecting asymmetric races |
US8527976B2 (en) * | 2007-11-14 | 2013-09-03 | Nec Laboratories America, Inc. | System and method for generating error traces for concurrency bugs |
US8117601B2 (en) * | 2007-11-14 | 2012-02-14 | Microsoft Corporation | Internal test and manipulation of an application |
US8141082B2 (en) * | 2008-02-28 | 2012-03-20 | Intel Corporation | Node-based representation of multi-threaded computing environment tasks, and node-based data race evaluation |
US8200947B1 (en) * | 2008-03-24 | 2012-06-12 | Nvidia Corporation | Systems and methods for voting among parallel threads |
US8769514B2 (en) * | 2008-06-27 | 2014-07-01 | Microsoft Corporation | Detecting race conditions with a software transactional memory system |
US8032706B2 (en) * | 2008-08-05 | 2011-10-04 | Intel Corporation | Method and apparatus for detecting a data access violation |
US7941616B2 (en) * | 2008-10-21 | 2011-05-10 | Microsoft Corporation | System to reduce interference in concurrent programs |
US8418146B2 (en) * | 2008-11-26 | 2013-04-09 | Microsoft Corporation | Sampling techniques for dynamic data-race detection |
US8135690B2 (en) * | 2009-01-05 | 2012-03-13 | Microsoft Corporation | Concurrency object classification |
US8564616B1 (en) | 2009-07-17 | 2013-10-22 | Nvidia Corporation | Cull before vertex attribute fetch and vertex lighting |
US8542247B1 (en) | 2009-07-17 | 2013-09-24 | Nvidia Corporation | Cull before vertex attribute fetch and vertex lighting |
US8976195B1 (en) | 2009-10-14 | 2015-03-10 | Nvidia Corporation | Generating clip state for a batch of vertices |
US8384736B1 (en) | 2009-10-14 | 2013-02-26 | Nvidia Corporation | Generating clip state for a batch of vertices |
US8595692B2 (en) * | 2010-03-22 | 2013-11-26 | International Business Machines Corporation | Identifying lock granularization opportunities |
US8433954B2 (en) | 2010-04-20 | 2013-04-30 | Microsoft Corporation | Testing components for thread safety |
US9069894B2 (en) * | 2010-06-18 | 2015-06-30 | Microsoft Technology Licensing, Llc | Data collisions in concurrent programs |
US10241894B2 (en) | 2010-06-25 | 2019-03-26 | Microsoft Technology Licensing, Llc | Data-scoped dynamic data race detection |
US9395987B2 (en) * | 2010-09-23 | 2016-07-19 | Freescale Semiconductor, Inc. | Method and device for detecting a race condition |
CN102063328B (zh) * | 2010-12-17 | 2012-12-26 | 北京控制工程研究所 | 一种用于检测中断驱动型程序数据竞争的系统 |
US8813038B2 (en) | 2011-02-09 | 2014-08-19 | Microsoft Corporation | Data race detection |
US9081628B2 (en) | 2011-05-27 | 2015-07-14 | Intel Corporation | Detecting potential access errors in a multi-threaded application |
CN103092682B (zh) * | 2011-10-28 | 2016-09-28 | 浙江大华技术股份有限公司 | 异步网络应用程序处理方法 |
US8813042B2 (en) * | 2012-04-06 | 2014-08-19 | Hwlett-Packard Development Company, L. P. | Identifying globally consistent states in a multithreaded program |
US9038080B2 (en) * | 2012-05-09 | 2015-05-19 | Nvidia Corporation | Method and system for heterogeneous filtering framework for shared memory data access hazard reports |
TWI464580B (zh) * | 2012-12-24 | 2014-12-11 | Ind Tech Res Inst | 資料儲存方法、採用此方法的資料儲存系統及需求節點 |
US9619364B2 (en) | 2013-03-14 | 2017-04-11 | Nvidia Corporation | Grouping and analysis of data access hazard reports |
WO2014184612A1 (en) | 2013-05-13 | 2014-11-20 | Freescale Semiconductor, Inc. | Method and device for detecting a race condition and a computer program product |
CN103488563B (zh) * | 2013-09-05 | 2017-04-12 | 龙芯中科技术有限公司 | 并行程序的数据竞争检测方法、装置及多核处理系统 |
US9886736B2 (en) | 2014-01-20 | 2018-02-06 | Nvidia Corporation | Selectively killing trapped multi-process service clients sharing the same hardware context |
CN104978272B (zh) * | 2015-07-08 | 2018-05-18 | 中国科学院软件研究所 | 一种用于数据竞争检测的程序调度方法 |
CN105260312B (zh) * | 2015-10-26 | 2018-04-06 | 北京航空航天大学 | 一种多核实时系统应用数据竞争错误的调试方法 |
CN106201732B (zh) * | 2016-07-18 | 2019-05-14 | 电子科技大学 | 在粒子模拟算法并行中去除数据竞争的线分配并行方法 |
CN109324916B (zh) * | 2018-08-09 | 2022-02-08 | 武汉斗鱼网络科技有限公司 | 一种任务执行方法和装置 |
CN110059014B (zh) * | 2019-04-28 | 2022-09-27 | 西安邮电大学 | 一种并发程序数据竞争指令级定位方法 |
US11138093B2 (en) * | 2019-04-30 | 2021-10-05 | Microsoft Technology Licensing, Llc | Identifying data inconsistencies and data contention based on historic debugging traces |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
JPH05134886A (ja) * | 1990-11-30 | 1993-06-01 | Fujitsu Ltd | デツドロツク検出方式 |
US5193180A (en) * | 1991-06-21 | 1993-03-09 | Pure Software Inc. | System for modifying relocatable object code files to monitor accesses to dynamically allocated memory |
US6009269A (en) | 1997-03-10 | 1999-12-28 | Digital Equipment Corporation | Detecting concurrency errors in multi-threaded programs |
US6920634B1 (en) * | 1998-08-03 | 2005-07-19 | International Business Machines Corporation | Detecting and causing unsafe latent accesses to a resource in multi-threaded programs |
US6405326B1 (en) * | 1999-06-08 | 2002-06-11 | International Business Machines Corporation Limited | Timing related bug detector method for detecting data races |
US6546443B1 (en) * | 1999-12-15 | 2003-04-08 | Microsoft Corporation | Concurrency-safe reader-writer lock with time out support |
US7516446B2 (en) * | 2002-06-25 | 2009-04-07 | International Business Machines Corporation | Method and apparatus for efficient and precise datarace detection for multithreaded object-oriented programs |
-
2004
- 2004-03-24 US US10/808,110 patent/US7549150B2/en not_active Expired - Fee Related
-
2005
- 2005-03-21 EP EP05102224.2A patent/EP1591895B1/en not_active Not-in-force
- 2005-03-23 KR KR1020050024208A patent/KR101143214B1/ko not_active IP Right Cessation
- 2005-03-24 JP JP2005086776A patent/JP4965081B2/ja not_active Expired - Fee Related
- 2005-03-24 CN CNB2005100637330A patent/CN100517235C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4965081B2 (ja) | 2012-07-04 |
EP1591895A2 (en) | 2005-11-02 |
JP2005285122A (ja) | 2005-10-13 |
KR20060044639A (ko) | 2006-05-16 |
KR101143214B1 (ko) | 2012-05-18 |
EP1591895B1 (en) | 2016-11-16 |
CN1677353A (zh) | 2005-10-05 |
EP1591895A3 (en) | 2007-07-18 |
US20050216798A1 (en) | 2005-09-29 |
US7549150B2 (en) | 2009-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100517235C (zh) | 用于检测多线程程序中潜在竞争的方法和系统 | |
US7752605B2 (en) | Precise data-race detection using locksets | |
Tallent et al. | Effective performance measurement and analysis of multithreaded applications | |
US6343371B1 (en) | System and method for statically detecting potential race conditions in multi-threaded computer programs | |
US6009269A (en) | Detecting concurrency errors in multi-threaded programs | |
US8417919B2 (en) | Assigning different serialization identifier to operations on different data set for execution in respective processor in multi-processor system | |
US10943041B2 (en) | Electronic system level parallel simulation method with detection of conflicts of access to a shared memory | |
EP0953908A2 (en) | Method, apparatus, and article of manufacture for time profiling multithreaded programs | |
US8707272B2 (en) | Scenario driven concurrency bugs: model and check | |
US20180329753A1 (en) | Scheduling heterogenous computation on multithreaded processors | |
US8141082B2 (en) | Node-based representation of multi-threaded computing environment tasks, and node-based data race evaluation | |
Prokopec et al. | Flowpools: A lock-free deterministic concurrent dataflow abstraction | |
Lu et al. | Dynamic enforcement of determinism in a parallel scripting language | |
Ceze et al. | Colorama: Architectural support for data-centric synchronization | |
Murillo et al. | Automatic detection of concurrency bugs through event ordering constraints | |
Haller et al. | Reactive Async: expressive deterministic concurrency | |
KR20130017923A (ko) | 프로그램 분석 장치 및 분석용 프로그램을 기록한 컴퓨터 판독 가능한 저장매체 | |
Gnesi et al. | A stochastic extension of a behavioural subset of UML statechart diagrams | |
Rauchwerger | Run-time parallelization: A framework for parallel computation | |
US8627301B2 (en) | Concurrent management of adaptive programs | |
Helmbold et al. | A taxonomy of race conditions | |
CN104216685A (zh) | 依赖性问题的有效率的并行计算 | |
Chen et al. | Testing concurrent programs using value schedules | |
Belwal et al. | Schedulability analysis of transactions in software transactional memory using timed automata | |
Baklanova et al. | Abstraction and verification of properties of a Real-Time Java |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150507 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150507 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20200324 |
|
CF01 | Termination of patent right due to non-payment of annual fee |