Show simple item record

dc.contributorMichael Ernsten_US
dc.contributorProgram Analysisen_US
dc.contributor.authorDig, Dannyen_US
dc.contributor.authorMarrero, Johnen_US
dc.contributor.authorErnst, Michael D.en_US
dc.date.accessioned2008-09-05T21:00:10Z
dc.date.available2008-09-05T21:00:10Z
dc.date.issued2008-09-05
dc.identifierlocal: MIT-CSAIL-TR-2008-053
dc.identifier.urihttp://hdl.handle.net/1721.1/42832
dc.description.abstractFor several decades, programmers have relied onMooreâ s Law to improve the performance of their softwareapplications. From now on, programmers need to programthe multi-cores if they want to deliver efficient code. Inthe multi-core era, a major maintenance task will be tomake sequential programs more concurrent. What are themost common transformations to retrofit concurrency intosequential programs?We studied the source code of 5 open-source Javaprojects. We analyzed qualitatively and quantitatively thechange patterns that developers have used in order toretrofit concurrency. We found that these transformationsbelong to four categories: transformations that improve thelatency, the throughput, the scalability, or correctness of theapplications. In addition, we report on our experience ofparallelizing one of our own programs. Our findings caneducate software developers on how to parallelize sequentialprograms, and can provide hints for tool vendors aboutwhat transformations are worth automating.en_US
dc.format.extent10 p.en_US
dc.relation.ispartofseriesMassachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratoryen_US
dc.subjectconcurrencyen_US
dc.subjectprogram transformationen_US
dc.subjectrefactoringen_US
dc.titleHow do programs become more concurrent? A story of program transformationsen_US


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record