Bounding the number of segment histories during data race detection
In this article we present a technique for reducing the memory overhead while performing data race detection. Data races occur when multiple threads modify the same memory location without proper synchronization. In order to detect data races, we need to check all read and write operations performed...
Uloženo v:
| Vydáno v: | Parallel computing Ročník 28; číslo 9; s. 1221 - 1238 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Elsevier B.V
01.09.2002
|
| Témata: | |
| ISSN: | 0167-8191, 1872-7336 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | In this article we present a technique for reducing the memory overhead while performing data race detection. Data races occur when multiple threads modify the same memory location without proper synchronization. In order to detect data races, we need to check all read and write operations performed by the threads. We describe a method for efficiently storing these read and write operations called “merging of segment histories”. This method improves upon known techniques by ensuring an upper limit to the amount of memory consumed for storing the read and write operations while maintaining the full accuracy of the data race detection. The method has been implemented in an existing data race detection tool called RecPlay for Solaris binaries. We show that it enables us to perform data race detection on benchmarks which were previously beyond our grasp. |
|---|---|
| AbstractList | In this article we present a technique for reducing the memory overhead while performing data race detection. Data races occur when multiple threads modify the same memory location without proper synchronization. In order to detect data races, we need to check all read and write operations performed by the threads. We describe a method for efficiently storing these read and write operations called “merging of segment histories”. This method improves upon known techniques by ensuring an upper limit to the amount of memory consumed for storing the read and write operations while maintaining the full accuracy of the data race detection. The method has been implemented in an existing data race detection tool called RecPlay for Solaris binaries. We show that it enables us to perform data race detection on benchmarks which were previously beyond our grasp. In this article we present a technique for reducing the memory overhead while performing data race detection. Data races occur when multiple threads modify the same memory location without proper synchronization. In order to detect data races, we need to check all read and write operations performed by the threads. We describe a method for efficiently storing these read and write operations called "merging of segment histories". This method improves upon known techniques by ensuring an upper limit to the amount of memory consumed for storing the read and write operations while maintaining the full accuracy of the data race detection. The method has been implemented in an existing data race detection tool called RecPlay for Solaris binaries. We show that it enables us to perform data race detection on benchmarks which were previously beyond our grasp. copyright 2002 Elsevier Science B.V. All rights reserved. |
| Author | Christiaens, Mark Ronsse, Michiel De Bosschere, Koen |
| Author_xml | – sequence: 1 givenname: Mark surname: Christiaens fullname: Christiaens, Mark email: mchristi@elis.rug.ac.be – sequence: 2 givenname: Michiel surname: Ronsse fullname: Ronsse, Michiel email: ronsse@elis.rug.ac.be – sequence: 3 givenname: Koen surname: De Bosschere fullname: De Bosschere, Koen email: kdb@elis.rug.ac.be |
| BookMark | eNqFkE1LAzEURYNUsK3-BCEr0cVokplk0pVo8QsKLtR1yCQvbaRNapIR_PdOrbh1897m3Av3TNAoxAAInVJySQkVVy_DaStJZ_ScsAtCaN1U_ACNqWxZ1da1GKHxH3KEJjm_E0JEI8kYzW9jH6wPS1xWgEO_6SDh6HCG5QZCwSufS0weMrZ92mFWF42TNoAtFDDFx3CMDp1eZzj5_VP0dn_3On-sFs8PT_ObRWWYFKXqjAbCOHTaMUosY0xoY40UppGSccJ5a2vjmBOuqyWj3HaGkVo2QGe107KeorN97zbFjx5yURufDazXOkDss2JCUNI2zQDyPWhSzDmBU9vkNzp9KUrUTpn6UaZ2PhRh6keZ4kPuep-DYcWnh6Sy8RAMWJ-GqcpG_0_DN2wcdQM |
| Cites_doi | 10.1145/68210.69233 10.1109/HICSS.1988.11802 10.1145/312203.312214 10.1145/268998.266641 10.1145/223982.223990 10.1145/99163.99165 10.1145/359545.359563 10.1145/773473.178260 10.1016/S0927-5452(98)80040-3 |
| ContentType | Journal Article |
| Copyright | 2002 Elsevier Science B.V. |
| Copyright_xml | – notice: 2002 Elsevier Science B.V. |
| DBID | AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1016/S0167-8191(02)00134-5 |
| DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1872-7336 |
| EndPage | 1238 |
| ExternalDocumentID | 10_1016_S0167_8191_02_00134_5 S0167819102001345 |
| GroupedDBID | --K --M -~X .DC .~1 0R~ 123 1B1 1~. 1~5 29O 4.4 457 4G. 5VS 6OB 7-5 71M 8P~ 9JN AACTN AAEDT AAEDW AAIAV AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO AAYFN ABBOA ABEFU ABFNM ABJNI ABMAC ABXDB ABYKQ ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADJOM ADMUD ADTZH AEBSH AECPX AEKER AENEX AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AHJVU AHZHX AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ASPBG AVWKF AXJTR AZFZN BJAXD BKOJK BLXMC CS3 DU5 EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 F5P FDB FEDTE FGOYB FIRID FNPLU FYGXN G-Q G8K GBLVA GBOLZ HLZ HVGLF HZ~ H~9 IHE J1W JJJVA KOM LG9 M41 MO0 N9A O-L O9- OAUVE OZT P-8 P-9 P2P PC. Q38 R2- RIG ROL RPZ SBC SCC SDF SDG SDP SES SEW SPC SPCBC SST SSV SSZ T5K WH7 WUQ XPP ZMT ~G- 9DU AATTM AAXKI AAYWO AAYXX ABDPE ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO AEIPS AEUPX AFJKZ AFPUW AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP CITATION EFKBS ~HD 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c286t-bcae025ebaf210d2226acdc86c488250557d3cf2f6fb38215dbc20384e193fa83 |
| ISICitedReferencesCount | 2 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000178261600001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0167-8191 |
| IngestDate | Sun Sep 28 01:53:01 EDT 2025 Sat Nov 29 03:58:55 EST 2025 Fri Feb 23 02:30:41 EST 2024 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 9 |
| Keywords | Data race detection Debugging Multi-threaded programming |
| Language | English |
| License | https://www.elsevier.com/tdm/userlicense/1.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c286t-bcae025ebaf210d2226acdc86c488250557d3cf2f6fb38215dbc20384e193fa83 |
| Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
| PQID | 26610744 |
| PQPubID | 23500 |
| PageCount | 18 |
| ParticipantIDs | proquest_miscellaneous_26610744 crossref_primary_10_1016_S0167_8191_02_00134_5 elsevier_sciencedirect_doi_10_1016_S0167_8191_02_00134_5 |
| PublicationCentury | 2000 |
| PublicationDate | 2002-09-01 |
| PublicationDateYYYYMMDD | 2002-09-01 |
| PublicationDate_xml | – month: 09 year: 2002 text: 2002-09-01 day: 01 |
| PublicationDecade | 2000 |
| PublicationTitle | Parallel computing |
| PublicationYear | 2002 |
| Publisher | Elsevier B.V |
| Publisher_xml | – name: Elsevier B.V |
| References | Kuck and Associates, Inc., 1906 Fox Drive, Champaign, IL 61820-7345, USA. Assure User's Manual, 2.0 edition, 1999 Collier (BIB3) 1992 Lamport (BIB10) 1978; 21 M. Christiaens, K. De Bosschere, Trade a topological approach to on-the-fly race detection in Java programs, in: Proceedings of the Java Virtual Machine Research and Technology Symposium 2001, Monterey, California, USA, April 2001 USENIX, pp. 105–116 Detecting data races in parallel program executions, volume advances in languages and compilers for parallel processing, Research Monographs in Parallel and Distributed Computing, pp. 109–129, MIT press, Cambridge, MA, 1991 (chapter 6) KL Group, 260 King Street East, Toronto, Ontario, Canada, Getting Started with JProbe S. Woo, M. Ohara, E. Torrie, J. Singh, A. Gupta, The SPLASH-2 programs: characterization and methodological considerations, in: 22nd International Symposium on Computer Architecture, Santa Margherita Ligure, Italy, 1995, pp. 24–36 De Bosschere, Ronsse (BIB4) 1997 C.J. Fidge, Partial orders for parallel debugging, in: Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and distributed debugging, 1988, pp. 183–194 Mattern (BIB11) 1989 A. Srivastava, A. Eustace, ATOM a system for building customized program analysis tools, in: Proceedings of the Conference on Programming Language Design and Implementation, ACM, 1994, pp. 196–205 S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, T. Anderson, Eraser: a dynamic data race detector for multi-threaded programs, in: Operating Systems Review ACM, 31, 1997, pp. 27–37 A. Dinning, E. Schonberg, An empirical comparison of monitoring algorithms for access anomaly detection, in: Second ACM SIGPLAN symposium on Principles & practice of parallel programming, 1990, pp. 1–10 M. Ronsse, K. De Bosschere. JiTI: Tracing memory references for data race detection, in: E. D'Hollander, F.J. Joubert, U. Trottenberg, (Ed.), Proceedings of ParCo97: Parallel Computing: Fundamentals, Applications and New Directions, vol. 12, Advances in Parallel Computing, Bonn, February 1998, North Holland, Amsterdam, pp. 327–334 D. Haban, W. Weigel, Global events and global breakpoints in distributed systems, in: 21st Annual Hawaii International Conference on System Sciences, vol. II, IEEE Computer Society, 1988, pp. 166–175 Ronsse, Bosschere (BIB13) 1999; 17 De Bosschere (10.1016/S0167-8191(02)00134-5_BIB4) 1997 10.1016/S0167-8191(02)00134-5_BIB5 Lamport (10.1016/S0167-8191(02)00134-5_BIB10) 1978; 21 10.1016/S0167-8191(02)00134-5_BIB2 10.1016/S0167-8191(02)00134-5_BIB9 10.1016/S0167-8191(02)00134-5_BIB8 10.1016/S0167-8191(02)00134-5_BIB7 10.1016/S0167-8191(02)00134-5_BIB6 Mattern (10.1016/S0167-8191(02)00134-5_BIB11) 1989 10.1016/S0167-8191(02)00134-5_BIB12 10.1016/S0167-8191(02)00134-5_BIB1 10.1016/S0167-8191(02)00134-5_BIB14 10.1016/S0167-8191(02)00134-5_BIB16 Ronsse (10.1016/S0167-8191(02)00134-5_BIB13) 1999; 17 10.1016/S0167-8191(02)00134-5_BIB15 Collier (10.1016/S0167-8191(02)00134-5_BIB3) 1992 |
| References_xml | – volume: 21 start-page: 558 year: 1978 end-page: 565 ident: BIB10 article-title: Time clocks and the ordering of events in a distributed system publication-title: Communications of the ACM – start-page: 215 year: 1989 end-page: 226 ident: BIB11 article-title: Virtual time and global states of distributed systems publication-title: Workshop on Parallel and Distributed Algorithms – year: 1992 ident: BIB3 article-title: Reasoning about Parallel Architectures – start-page: 324 year: 1997 end-page: 330 ident: BIB4 article-title: Clock snooping and its application in on-the-fly data race detection publication-title: International Symposium on Parallel Architectures Algorithms and Networks (ISPAN '97) IEEE Computer Society – reference: D. Haban, W. Weigel, Global events and global breakpoints in distributed systems, in: 21st Annual Hawaii International Conference on System Sciences, vol. II, IEEE Computer Society, 1988, pp. 166–175 – reference: M. Ronsse, K. De Bosschere. JiTI: Tracing memory references for data race detection, in: E. D'Hollander, F.J. Joubert, U. Trottenberg, (Ed.), Proceedings of ParCo97: Parallel Computing: Fundamentals, Applications and New Directions, vol. 12, Advances in Parallel Computing, Bonn, February 1998, North Holland, Amsterdam, pp. 327–334 – reference: S. Woo, M. Ohara, E. Torrie, J. Singh, A. Gupta, The SPLASH-2 programs: characterization and methodological considerations, in: 22nd International Symposium on Computer Architecture, Santa Margherita Ligure, Italy, 1995, pp. 24–36 – reference: A. Dinning, E. Schonberg, An empirical comparison of monitoring algorithms for access anomaly detection, in: Second ACM SIGPLAN symposium on Principles & practice of parallel programming, 1990, pp. 1–10 – reference: C.J. Fidge, Partial orders for parallel debugging, in: Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and distributed debugging, 1988, pp. 183–194 – reference: KL Group, 260 King Street East, Toronto, Ontario, Canada, Getting Started with JProbe – reference: Kuck and Associates, Inc., 1906 Fox Drive, Champaign, IL 61820-7345, USA. Assure User's Manual, 2.0 edition, 1999 – volume: 17 start-page: 133 year: 1999 end-page: 152 ident: BIB13 article-title: RecPlay: a fully integrated practical record/replay system publication-title: ACM Transactions on Computer Systems – reference: S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, T. Anderson, Eraser: a dynamic data race detector for multi-threaded programs, in: Operating Systems Review ACM, 31, 1997, pp. 27–37 – reference: A. Srivastava, A. Eustace, ATOM a system for building customized program analysis tools, in: Proceedings of the Conference on Programming Language Design and Implementation, ACM, 1994, pp. 196–205 – reference: Detecting data races in parallel program executions, volume advances in languages and compilers for parallel processing, Research Monographs in Parallel and Distributed Computing, pp. 109–129, MIT press, Cambridge, MA, 1991 (chapter 6) – reference: M. Christiaens, K. De Bosschere, Trade a topological approach to on-the-fly race detection in Java programs, in: Proceedings of the Java Virtual Machine Research and Technology Symposium 2001, Monterey, California, USA, April 2001 USENIX, pp. 105–116 – ident: 10.1016/S0167-8191(02)00134-5_BIB6 doi: 10.1145/68210.69233 – ident: 10.1016/S0167-8191(02)00134-5_BIB7 doi: 10.1109/HICSS.1988.11802 – volume: 17 start-page: 133 issue: 2 year: 1999 ident: 10.1016/S0167-8191(02)00134-5_BIB13 article-title: RecPlay: a fully integrated practical record/replay system publication-title: ACM Transactions on Computer Systems doi: 10.1145/312203.312214 – ident: 10.1016/S0167-8191(02)00134-5_BIB14 doi: 10.1145/268998.266641 – start-page: 324 year: 1997 ident: 10.1016/S0167-8191(02)00134-5_BIB4 article-title: Clock snooping and its application in on-the-fly data race detection – ident: 10.1016/S0167-8191(02)00134-5_BIB16 doi: 10.1145/223982.223990 – ident: 10.1016/S0167-8191(02)00134-5_BIB5 doi: 10.1145/99163.99165 – volume: 21 start-page: 558 issue: 7 year: 1978 ident: 10.1016/S0167-8191(02)00134-5_BIB10 article-title: Time clocks and the ordering of events in a distributed system publication-title: Communications of the ACM doi: 10.1145/359545.359563 – ident: 10.1016/S0167-8191(02)00134-5_BIB2 – ident: 10.1016/S0167-8191(02)00134-5_BIB15 doi: 10.1145/773473.178260 – ident: 10.1016/S0167-8191(02)00134-5_BIB1 – start-page: 215 year: 1989 ident: 10.1016/S0167-8191(02)00134-5_BIB11 article-title: Virtual time and global states of distributed systems – year: 1992 ident: 10.1016/S0167-8191(02)00134-5_BIB3 – ident: 10.1016/S0167-8191(02)00134-5_BIB9 – ident: 10.1016/S0167-8191(02)00134-5_BIB8 – ident: 10.1016/S0167-8191(02)00134-5_BIB12 doi: 10.1016/S0927-5452(98)80040-3 |
| SSID | ssj0006480 |
| Score | 1.6070966 |
| Snippet | In this article we present a technique for reducing the memory overhead while performing data race detection. Data races occur when multiple threads modify the... |
| SourceID | proquest crossref elsevier |
| SourceType | Aggregation Database Index Database Publisher |
| StartPage | 1221 |
| SubjectTerms | Data race detection Debugging Multi-threaded programming |
| Title | Bounding the number of segment histories during data race detection |
| URI | https://dx.doi.org/10.1016/S0167-8191(02)00134-5 https://www.proquest.com/docview/26610744 |
| Volume | 28 |
| WOSCitedRecordID | wos000178261600001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1872-7336 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0006480 issn: 0167-8191 databaseCode: AIEXJ dateStart: 19950101 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1JbxMxFLZCyoELLZsoheIDB1A1kHg2-9gNsUhVBUXKzRp77KpSNamSSdWfz3veMqIgFonLKJo4tua9L-999ryFkFdTBUptSp2B8S-zQmuVCS4wmArcedlURVkr12yiPjnhs5k4HY1WMRfm-rLuOn5zI67-q6rhHigbU2f_Qt1pUrgBn0HpcAW1w_WPFH-AjZJiEpRv-IGMcGnO3Xt_X2AY9scxQxFjRPcWjcYEqt4FZnVDxnraLLDdyqULPl_10dPFAr1gIEw4sR5k_XyBh_MdGzHU9MKkMI4js3cAbhmR4r7-PA-paPHggaXIqnAadisjxh9QguHFTaD3L96o8hpYfO4LnUSry_gAXWJgQqeMTQfuGDwr_6mp96cOX9OCQMixmKxAUltk5dq_pahDNxaHTpgbVN4hG6wuBR-Tjf2Px7NPyYVXhWu5l-Zep369Wy_4esLehMV-RWp-cO-Os5xtkfths0H3PUgekJHpHpLN2MiDBrv-iBxGzFDADPWYoXNLA2Zowgz1mKGIGYqYoQkzj8m398dnhx-y0F0j04xXfaZ0Y4DwGtVY2Pa3wBOrRreaVxpsOhLjsm5zbZmtrMo5MMNWaTbJeWGA89uG50_IuJt35imBpbStc-D6DDYTquDCTLVRzOZWCKVEu03eRvHIK19ERQ6iC6taojzlhEknT1luEx6FKAMT9AxPgvZ_99OXUegSLCW-_mo6M18tJVJRIMzFs3-ffIfcW_8TnpNxv1iZF-Suvu4vlovdgKLvLdCJCg |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Bounding+the+number+of+segment+histories+during+data+race+detection&rft.jtitle=Parallel+computing&rft.au=Christiaens%2C+Mark&rft.au=Ronsse%2C+Michiel&rft.au=De+Bosschere%2C+Koen&rft.date=2002-09-01&rft.pub=Elsevier+B.V&rft.issn=0167-8191&rft.eissn=1872-7336&rft.volume=28&rft.issue=9&rft.spage=1221&rft.epage=1238&rft_id=info:doi/10.1016%2FS0167-8191%2802%2900134-5&rft.externalDocID=S0167819102001345 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0167-8191&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0167-8191&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0167-8191&client=summon |