{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,2]],"date-time":"2025-06-02T04:03:37Z","timestamp":1748837017487,"version":"3.41.0"},"reference-count":97,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"8","license":[{"start":{"date-parts":[[2016,8,1]],"date-time":"2016-08-01T00:00:00Z","timestamp":1470009600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/OAPA.html"}],"funder":[{"DOI":"10.13039\/501100001602","name":"Science Foundation Ireland","doi-asserted-by":"publisher","award":["10\/CE\/I1855"],"award-info":[{"award-number":["10\/CE\/I1855"]}],"id":[{"id":"10.13039\/501100001602","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Irish Software Research Centre"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2016,8,1]]},"DOI":"10.1109\/tse.2016.2519346","type":"journal-article","created":{"date-parts":[[2016,1,19]],"date-time":"2016-01-19T20:52:34Z","timestamp":1453236754000},"page":"764-785","source":"Crossref","is-referenced-by-count":12,"title":["Parallel Performance Problems on Shared-Memory Multicore Systems: Taxonomy and Observation"],"prefix":"10.1109","volume":"42","author":[{"given":"Roman","family":"Atachiants","sequence":"first","affiliation":[]},{"given":"Gavin","family":"Doherty","sequence":"additional","affiliation":[]},{"given":"David","family":"Gregg","sequence":"additional","affiliation":[]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2012.6224281"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048081"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227196"},{"journal-title":"Automatic Performance Prediction of Parallel Programs","year":"2011","author":"fahringer","key":"ref32"},{"key":"ref31","article-title":"Capturing and composing parallel patterns with Intel CnC","author":"newton","year":"0","journal-title":"Proc 2nd USENIX Workshop Hot Topics Parallelism (HotPar'10)"},{"journal-title":"Intel Threading Building Blocks Outfitting C++ for Multi-core Processor Parallelism","year":"2007","author":"reinders","key":"ref30"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606583"},{"journal-title":"Distributed Simulation","year":"1999","author":"liu","key":"ref36"},{"key":"ref35","first-page":"40","author":"yang","year":"0","journal-title":"Proceedings of the ACM\/IEEE SC 2005 Conference"},{"key":"ref34","first-page":"196","author":"ipek","year":"0","journal-title":"Proc Euro-Par 2005 Parallel"},{"article-title":"A C ++ library solution to parallelism","year":"2012","author":"laksberg","key":"ref28"},{"key":"ref27","first-page":"1250","article-title":"Architectural skeletons: The re-usable building-blocks for parallel applications","author":"preiss","year":"0","journal-title":"Proc Int Conf Parallel Distrib Process Techn Appl"},{"key":"ref29","first-page":"1","article-title":"Towards the classification of algorithmic skeletons","author":"campbell","year":"1996"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/223904.223911"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/2470654.2466418"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.111"},{"journal-title":"Software Testing Techniques","year":"1990","author":"beizer","key":"ref24"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1145\/2556288.2557350"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796897002967"},{"key":"ref25","first-page":"1991","author":"cole","year":"0","journal-title":"Algorithmic Skeletons Structured Management of Parallel Computation Table of Contents"},{"key":"ref50","first-page":"1","article-title":"An introduction to analysis and optimization with AMD codeanalyst performance analyzer","author":"drongowski","year":"0","journal-title":"Advanced Micro Devices Inc"},{"key":"ref51","first-page":"151","article-title":"Visualizing the execution of Java programs","author":"pauw","year":"0","journal-title":"Proc of Soft Vis"},{"year":"2010","key":"ref59","article-title":"Intel threading building blocks design patterns"},{"year":"2014","key":"ref58","article-title":"Intel 64 and IA-32 architectures optimization reference manual"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1563"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568259"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.144"},{"journal-title":"The Art of Computer Systems Performance Analysis - Techniques for Experimental Design Measurement Simulation and Modeling","year":"1991","author":"jain","key":"ref54"},{"key":"ref53","article-title":"Server diagnosis using request tracking","author":"park","year":"0","journal-title":"1st Workshop Des Self-Managing Syst Supp Proc IEEE Int Conf Dependable Syst and Networks"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806618"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/1882362.1882426"},{"key":"ref4","volume":"33","author":"akhter","year":"2006","journal-title":"Multi-core Programming Increasing Performance through Software Multi-threading"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2009.41"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/1465482.1465560"},{"journal-title":"The Art of Concurrency A Thread Monkey's Guide to Writing Parallel Applications","year":"2009","author":"breshears","key":"ref5"},{"key":"ref8","first-page":"1","article-title":"The HiPEAC Vision,&#x201D; Network of Excellence on High Performance and Embedded Architecture and Compilation","author":"duranton","year":"2010","journal-title":"Tech Rep"},{"key":"ref49","first-page":"2005","author":"reinders","year":"0","journal-title":"VTune Performance Analyzer Essentials"},{"journal-title":"The TOP500 History Trends and Future Directions in High Performance Computing","year":"2014","author":"meuer","key":"ref7"},{"article-title":"Is parallel programming hard, and if so, why?","year":"2009","author":"mckenney","key":"ref9"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1993.1049"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1109\/2.471178"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2005.55"},{"key":"ref47","doi-asserted-by":"publisher","DOI":"10.1177\/1094342006064482"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1984.1659183"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/1391469.1391474"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1109\/52.84214"},{"key":"ref43","first-page":"628","article-title":"Poker on the cosmic cube: The first retargetable parallel programming language and environment","author":"snyder","year":"0","journal-title":"Proc Int Conf on Parallel Process"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1145\/945465.945468"},{"key":"ref72","first-page":"131","article-title":"Checking for race conditions in file accesses","volume":"2","author":"bishop","year":"1996","journal-title":"Comput Syst"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1145\/130616.130623"},{"article-title":"What every programmer should know about memory","year":"2007","author":"drepper","key":"ref70"},{"key":"ref76","doi-asserted-by":"publisher","DOI":"10.1145\/1105734.1105745"},{"key":"ref77","doi-asserted-by":"publisher","DOI":"10.1145\/2555243.2555247"},{"key":"ref74","doi-asserted-by":"publisher","DOI":"10.1145\/2134243.2134253"},{"key":"ref75","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2010.5470434"},{"key":"ref78","doi-asserted-by":"publisher","DOI":"10.1145\/1693453.1693489"},{"key":"ref79","doi-asserted-by":"publisher","DOI":"10.1145\/850657.850659"},{"year":"0","key":"ref60"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2010.41"},{"key":"ref61","doi-asserted-by":"crossref","first-page":"685","DOI":"10.1002\/cpe.1553","article-title":"HPCToolkit: Tools for performance analysis of optimized parallel programs","volume":"22","author":"adhianto","year":"2010","journal-title":"Concurr Comput Pract Exper"},{"key":"ref63","first-page":"312","article-title":"Common mistakes in OpenMP and how to avoid them","author":"s\u00fc\u00df","year":"0","journal-title":"Proc Int Conf OpenMP Shared Memory Parallel Program"},{"key":"ref64","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736036"},{"key":"ref65","first-page":"2001","author":"chandra","year":"0","journal-title":"Parallel Programming in OpenMP"},{"key":"ref66","first-page":"1982","author":"ben-ari","year":"0","journal-title":"Principles of Concurrent Programming"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167496"},{"key":"ref68","first-page":"2008","author":"herlihy","year":"0","journal-title":"The Art of Multiprocessor Programming"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1145\/1356052.1356053"},{"journal-title":"Computer Architecture Fifth Edition A Quantitative Approach","year":"2011","author":"hennessy","key":"ref2"},{"key":"ref1","first-page":"285","article-title":"Upcoming computing system challenges - the HiPEAC vision","volume":"50","author":"bosschere","year":"2008","journal-title":"It Inf Technol"},{"key":"ref95","doi-asserted-by":"publisher","DOI":"10.1145\/2370816.2370854"},{"key":"ref94","doi-asserted-by":"publisher","DOI":"10.2307\/2529310"},{"key":"ref93","doi-asserted-by":"publisher","DOI":"10.1109\/12.286299"},{"key":"ref92","first-page":"111","article-title":"Fair cache sharing and partitioning in a chip multiprocessor architecture","author":"kim","year":"0","journal-title":"Proc Int Conf Parallel Archit Compilation Tech"},{"key":"ref91","doi-asserted-by":"publisher","DOI":"10.1145\/357783.331677"},{"key":"ref90","doi-asserted-by":"publisher","DOI":"10.1145\/366786.366800"},{"key":"ref96","first-page":"230","author":"siu","year":"0","journal-title":"Proc Conf Parallel Distrib Process Techn Appl"},{"key":"ref97","doi-asserted-by":"publisher","DOI":"10.1145\/1970386.1970389"},{"key":"ref10","first-page":"360","article-title":"Understanding interobserver agreement: The kappa statistic","volume":"37","author":"viera","year":"2005","journal-title":"Family Medicine"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/1562764.1562783"},{"journal-title":"Computer Systems A Programmer's Perspective","year":"2010","author":"bryant","key":"ref12"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606602"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227198"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.116"},{"key":"ref82","doi-asserted-by":"publisher","DOI":"10.1145\/106975.106994"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806828"},{"key":"ref81","first-page":"348","article-title":"A low-overhead coherence solution for multiprocessors with private cache memories","author":"papamarcos","year":"0","journal-title":"Proc 11th Ann Int Symp Comput Architect"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568233"},{"key":"ref84","doi-asserted-by":"publisher","DOI":"10.1145\/1993744.1993748"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568249"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2001.991127"},{"key":"ref19","first-page":"1","article-title":"Cowboys, ankle sprains, and keepers of quality: How is video game development different from software development?","author":"carolina","year":"0","journal-title":"Proc Int Conf Softw Eng"},{"key":"ref80","doi-asserted-by":"publisher","DOI":"10.1109\/71.80120"},{"key":"ref89","doi-asserted-by":"publisher","DOI":"10.1145\/511399.511351"},{"key":"ref85","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2014.6835975"},{"key":"ref86","doi-asserted-by":"publisher","DOI":"10.1007\/BF01379099"},{"key":"ref87","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815996"},{"key":"ref88","first-page":"151","article-title":"Optimizing for parallelism and data locality","author":"kennedy","year":"0","journal-title":"Proc ACM Int Conf Supercomput 25th Anniversary Vol"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/ieeexplore.ieee.org\/iel7\/32\/7542210\/07386691.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/7542210\/07386691.pdf?arnumber=7386691","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,1]],"date-time":"2025-06-01T05:09:22Z","timestamp":1748754562000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/7386691\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,8,1]]},"references-count":97,"journal-issue":{"issue":"8"},"URL":"https:\/\/doi.org\/10.1109\/tse.2016.2519346","relation":{},"ISSN":["0098-5589","1939-3520"],"issn-type":[{"type":"print","value":"0098-5589"},{"type":"electronic","value":"1939-3520"}],"subject":[],"published":{"date-parts":[[2016,8,1]]}}}