{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,30]],"date-time":"2026-01-30T07:52:26Z","timestamp":1769759546314,"version":"3.49.0"},"reference-count":60,"publisher":"Elsevier","isbn-type":[{"value":"9780123810274","type":"print"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1016\/s0065-2458(10)79002-1","type":"book-chapter","created":{"date-parts":[[2010,3,16]],"date-time":"2010-03-16T08:33:18Z","timestamp":1268728398000},"page":"71-117","source":"Crossref","is-referenced-by-count":5,"title":["Pitfalls and Issues of Manycore Programming"],"prefix":"10.1016","author":[{"given":"Ami","family":"Marowka","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/S0065-2458(10)79002-1_bib1","series-title":"First Draft of a Report on EDVAC","author":"von Neumann","year":"1945"},{"key":"10.1016\/S0065-2458(10)79002-1_bib2","series-title":"The First Computers, History and Architectures","first-page":"121","article-title":"The ENIAC: History, operation and reconstruction in VLSI","author":"Van Der Spiegel","year":"2002"},{"key":"10.1016\/S0065-2458(10)79002-1_bib3","series-title":"The First Computers, History and Architectures","first-page":"179","article-title":"The institute for advances study computer: A case study in the application of concepts from the history of technology","author":"Aspray","year":"2002"},{"key":"10.1016\/S0065-2458(10)79002-1_bib4","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1109\/85.476558","article-title":"Exploring the architecture of early machine: The historical relevance of the ENIAC machine architecture","volume":"18","author":"Marcus","year":"1996","journal-title":"IEEE Ann. Hist. Comput."},{"key":"10.1016\/S0065-2458(10)79002-1_bib5","series-title":"Description of the ENIAC and Comments on Electronic Digital Computing Machines","author":"Eckert","year":"1945"},{"issue":"9","key":"10.1016\/S0065-2458(10)79002-1_bib6","doi-asserted-by":"crossref","first-page":"74","DOI":"10.1145\/1284621.1284622","article-title":"Parallel computing on any desktop","volume":"50","author":"Marowka","year":"2007","journal-title":"Commun. ACM"},{"key":"10.1016\/S0065-2458(10)79002-1_bib7","series-title":"OpenMP Application Program Interface","year":"2008"},{"key":"10.1016\/S0065-2458(10)79002-1_bib8","series-title":"Using OpenMP Portable Shared Memory Parallel Programming","author":"Chapman","year":"2007"},{"key":"10.1016\/S0065-2458(10)79002-1_bib9","series-title":"How Fast is Fast? Measuring and Understanding Parallel Performance","author":"Mattson","year":"2008"},{"key":"10.1016\/S0065-2458(10)79002-1_bib10","first-page":"27","article-title":"The future of microprocessors","author":"Olukotun","year":"2005","journal-title":"ACM Queue"},{"issue":"3","key":"10.1016\/S0065-2458(10)79002-1_bib11","first-page":"202","article-title":"The free lunch is over: A fundamental turn toward concurrency in software","volume":"30","author":"Sutter","year":"2005","journal-title":"Dr. Dobb's J."},{"issue":"7","key":"10.1016\/S0065-2458(10)79002-1_bib12","doi-asserted-by":"crossref","first-page":"54","DOI":"10.1145\/1095408.1095421","article-title":"Software and the concurrency revolution","volume":"3","author":"Sutter","year":"2005","journal-title":"ACM Queue"},{"issue":"8","key":"10.1016\/S0065-2458(10)79002-1_bib13","doi-asserted-by":"crossref","DOI":"10.1109\/MDSO.2008.24","article-title":"Think parallel: Teaching parallel programming today","volume":"9","author":"Marowka","year":"2008","journal-title":"IEEE Distrib. Syst. Online"},{"key":"10.1016\/S0065-2458(10)79002-1_bib14","series-title":"Models for Parallel Computatio","first-page":"92","author":"Hambrush","year":"1996"},{"issue":"2","key":"10.1016\/S0065-2458(10)79002-1_bib15","doi-asserted-by":"crossref","first-page":"123","DOI":"10.1145\/280277.280278","article-title":"Models and languages for parallel computation","volume":"30","author":"Skillcorn","year":"1998","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/S0065-2458(10)79002-1_bib16","series-title":"Proceeding of 4th ACMSIGPLAN Symposium on Principles and Practices of Parallel Programming","first-page":"1","article-title":"LogP: Towards a realistic model of parallel computation","author":"Culler","year":"1993"},{"issue":"8","key":"10.1016\/S0065-2458(10)79002-1_bib17","doi-asserted-by":"crossref","first-page":"103","DOI":"10.1145\/79173.79181","article-title":"A bridging model for parallel computation","volume":"33","author":"Valiant","year":"1990","journal-title":"Commun. of ACM"},{"key":"10.1016\/S0065-2458(10)79002-1_bib18","series-title":"Parallel Scientific Computation: A Structured Approach Using BSP and MPI","author":"Bissling","year":"2004"},{"key":"10.1016\/S0065-2458(10)79002-1_bib19","series-title":"The Structure of Scientific Revolutions","author":"Kuhn","year":"1962"},{"key":"10.1016\/S0065-2458(10)79002-1_bib23","series-title":"The Landscape of Parallel Computing Research: A View from Berkeley","author":"Asanovic","year":"2006"},{"key":"10.1016\/S0065-2458(10)79002-1_bib25","series-title":"Portability of Parallel and Distributed Application","author":"Marowka","year":"2000"},{"issue":"1","key":"10.1016\/S0065-2458(10)79002-1_bib26","first-page":"39","article-title":"Scalable portability evaluation of high performance applications","volume":"7","author":"Marowka","year":"2000","journal-title":"Int. J. Comput. Appl."},{"issue":"3","key":"10.1016\/S0065-2458(10)79002-1_bib27","first-page":"133","article-title":"A scalable portability model for parallel computing","volume":"3","author":"Marowka","year":"2000","journal-title":"J. Parallel Distrib. Comput. Pract. (PDCP)"},{"key":"10.1016\/S0065-2458(10)79002-1_bib28","series-title":"Portability of Parallel and Distributed Applications: Is it Possible to Build a Portable and Scalable Parallel Application?","author":"Marowka","year":"2009"},{"issue":"8","key":"10.1016\/S0065-2458(10)79002-1_bib29","doi-asserted-by":"crossref","DOI":"10.1145\/209937.209946","article-title":"High level optimization via automated statistical modeling","volume":"30","author":"Brewer","year":"1995","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/S0065-2458(10)79002-1_bib30","series-title":"Portable High-Performance Supercomputing: High-Level Platform-Dependent Optimization","author":"Brewer","year":"1994"},{"key":"10.1016\/S0065-2458(10)79002-1_bib31","series-title":"Portability and Performance of Parallel Processing","author":"Hey","year":"1994"},{"issue":"2","key":"10.1016\/S0065-2458(10)79002-1_bib32","doi-asserted-by":"crossref","first-page":"293","DOI":"10.1109\/JPROC.2004.840848","article-title":"Self-adapting linear algebra algorithms and software","volume":"93","author":"Demmel","year":"2005","journal-title":"Proc. IEEE"},{"key":"10.1016\/S0065-2458(10)79002-1_bib34","series-title":"Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods","author":"Barret","year":"1993"},{"key":"10.1016\/S0065-2458(10)79002-1_bib35","series-title":"Proceeding of the 2nd Workshop on Job Scheduling Strategies for Parallel Processing","article-title":"Toward convergence in job schedulers in parallel supercomputers","author":"Feitelson","year":"1996"},{"key":"10.1016\/S0065-2458(10)79002-1_bib36","article-title":"HP calls for on-chip optics","author":"Merritt","year":"2009","journal-title":"EE Times"},{"key":"10.1016\/S0065-2458(10)79002-1_bib37","article-title":"Intel lists five challenges for IC scaling","author":"LaPedus","year":"2009","journal-title":"EE Times"},{"key":"10.1016\/S0065-2458(10)79002-1_bib38","series-title":"Optical I\/O Technology for Tera-Scale Computing","author":"Young","year":"2009"},{"key":"10.1016\/S0065-2458(10)79002-1_bib39","first-page":"24","article-title":"Unlocking concurrency","author":"Adl-Tabatabai","year":"2007","journal-title":"ACM Queue"},{"key":"10.1016\/S0065-2458(10)79002-1_bib40","series-title":"Proceedings of the 20th Annual International Symposium on Computer Architecture","article-title":"Transactional memory: Architectural support for lock-free data structures","author":"Herlihy","year":"1993"},{"key":"10.1016\/S0065-2458(10)79002-1_bib41","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1145\/1454456.1454462","article-title":"Real-world concurrency","author":"Cantrill","year":"2008","journal-title":"ACM Queue"},{"key":"10.1016\/S0065-2458(10)79002-1_bib42","series-title":"Empirical Analysis of Parallelism Overheads of CMPs","author":"Marowka","year":"2009"},{"key":"10.1016\/S0065-2458(10)79002-1_bib43","first-page":"14","article-title":"A Conversation with Hennessy and Patterson","author":"Olukotun","year":"2007","journal-title":"ACM Queue"},{"key":"10.1016\/S0065-2458(10)79002-1_bib44","series-title":"Principles and Practices of Interconnection Networks","author":"Dally","year":"2004"},{"key":"10.1016\/S0065-2458(10)79002-1_bib45","series-title":"Introduction to Parallel Computing","author":"Kumar","year":"1994"},{"key":"10.1016\/S0065-2458(10)79002-1_bib46","series-title":"Parallel Computer Architecture: A Hardware\/Software Approach","author":"Culler","year":"1998"},{"key":"10.1016\/S0065-2458(10)79002-1_bib47","series-title":"Multi-Core Programming: Increasing Performance Through Software Multithreading","author":"Akhter","year":"2006"},{"issue":"2","key":"10.1016\/S0065-2458(10)79002-1_bib48","doi-asserted-by":"crossref","DOI":"10.1535\/itj.1002.02","article-title":"CMP implementation in systems based on the Intel Core Duo Processor","volume":"10","author":"Mendelson","year":"2006","journal-title":"Intel Technology Journal"},{"key":"10.1016\/S0065-2458(10)79002-1_bib49","series-title":"Performance of OpenMP Benchmarks on Multicore Processors","first-page":"208","author":"Marowka","year":"2008"},{"key":"10.1016\/S0065-2458(10)79002-1_bib50","series-title":"Interview with Donald Knuth","author":"Knuth","year":"2008"},{"key":"10.1016\/S0065-2458(10)79002-1_bib51","series-title":"Optimizing Application Performance on Cray Systems with PGI Compilers and Tools","author":"Miles","year":"2006"},{"key":"10.1016\/S0065-2458(10)79002-1_bib54","series-title":"Optimizing Compilers for Modern Architectures: A Dependence-Based Approach","author":"Allen","year":"2001"},{"issue":"5","key":"10.1016\/S0065-2458(10)79002-1_bib55","doi-asserted-by":"crossref","first-page":"757","DOI":"10.1109\/PGEC.1966.264565","article-title":"Analysis of programs for parallel processing","volume":"15","author":"Bernstein","year":"1966","journal-title":"IEEE Trans. Electron. Comput."},{"issue":"9","key":"10.1016\/S0065-2458(10)79002-1_bib56","doi-asserted-by":"crossref","first-page":"690","DOI":"10.1109\/TC.1979.1675439","article-title":"How to make a multiprocessor computer that correctly executes multiprocess programs","volume":"C-28","author":"Lamport","year":"1979","journal-title":"IEEE Trans. Comput."},{"issue":"12","key":"10.1016\/S0065-2458(10)79002-1_bib57","doi-asserted-by":"crossref","first-page":"66","DOI":"10.1109\/2.546611","article-title":"Shared memory consistency models: A tutorial","volume":"29","author":"Adve","year":"1996","journal-title":"IEEE Comput."},{"key":"10.1016\/S0065-2458(10)79002-1_bib58","series-title":"Cooperating Sequential Processes","author":"Dijkstra","year":"1968"},{"key":"10.1016\/S0065-2458(10)79002-1_bib59","series-title":"Microbenchmark Suite for OpenMP 2.0","first-page":"41","author":"Bull","year":"2001"},{"key":"10.1016\/S0065-2458(10)79002-1_bib61","series-title":"The Problem with Threads","author":"Lee","year":"2006"},{"key":"10.1016\/S0065-2458(10)79002-1_bib62","series-title":"The PRAM-On-Chip Proof-of-Concept","author":"Vishkin","year":"2009"},{"key":"10.1016\/S0065-2458(10)79002-1_bib64","series-title":"Proc. 10th ACM Symposium on Parallel Algorithms and Architectures (SPAA)","article-title":"Explicit multi-threading (XMT) bridging models for instruction parallelism (extended abstract)","author":"Vishkin","year":"1998"},{"key":"10.1016\/S0065-2458(10)79002-1_bib65","series-title":"MPI: The Complete Reference","author":"Snir","year":"1996"},{"issue":"8","key":"10.1016\/S0065-2458(10)79002-1_bib66","doi-asserted-by":"crossref","DOI":"10.1109\/MDSO.2008.24","article-title":"Think parallel: Teaching parallel programming today","volume":"9","author":"Marowka","year":"2008","journal-title":"IEEE Distrib. Syst. Online"},{"key":"10.1016\/S0065-2458(10)79002-1_bib67","series-title":"Computer Architecture, Fourth Ed: A Quantitative Approach","author":"Hennessy","year":"2006"},{"key":"10.1016\/S0065-2458(10)79002-1_bib68","series-title":"Introduction to Algorithms","author":"Cormen","year":"2003"},{"key":"10.1016\/S0065-2458(10)79002-1_bib69","doi-asserted-by":"crossref","first-page":"40","DOI":"10.1109\/MM.2009.48","article-title":"Software standards for the multicore era","author":"Holt","year":"2009","journal-title":"IEEE Micro"}],"container-title":["Advances in Computers"],"original-title":[],"language":"en","deposited":{"date-parts":[[2019,5,27]],"date-time":"2019-05-27T01:30:36Z","timestamp":1558920636000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0065245810790021"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9780123810274"],"references-count":60,"URL":"https:\/\/doi.org\/10.1016\/s0065-2458(10)79002-1","relation":{},"ISSN":["0065-2458"],"issn-type":[{"value":"0065-2458","type":"print"}],"subject":[],"published":{"date-parts":[[2010]]}}}