Show simple item record

dc.contributor.authorOlszewski, Marek Krystyn
dc.contributor.authorZhao, Qin
dc.contributor.authorKoh, David F.
dc.contributor.authorAnsel, Jason Andrew
dc.contributor.authorAmarasinghe, Saman P.
dc.date.accessioned2012-08-09T20:03:13Z
dc.date.available2012-08-09T20:03:13Z
dc.date.issued2012-03
dc.identifier.isbn978-1-4503-0759-8
dc.identifier.urihttp://hdl.handle.net/1721.1/72082
dc.description.abstractDespite a burgeoning demand for parallel programs, the tools available to developers working on shared-memory multicore processors have lagged behind. One reason for this is the lack of hardware support for inspecting the complex behavior of these parallel programs. Inter-thread communication, which must be instrumented for many types of analyses, may occur with any memory operation. To detect such thread communication in software, many existing tools require the instrumentation of all memory operations, which leads to significant performance overheads. To reduce this overhead, some existing tools resort to random sampling of memory operations, which introduces false negatives. Unfortunately, neither of these approaches provide the speed and accuracy programmers have traditionally expected from their tools. In this work, we present Aikido, a new system and framework that enables the development of efficient and transparent analyses that operate on shared data. Aikido uses a hybrid of existing hardware features and dynamic binary rewriting to detect thread communication with low overhead. Aikido runs a custom hypervisor below the operating system, which exposes per-thread hardware protection mechanisms not available in any widely used operating system. This hybrid approach allows us to benefit from the low cost of detecting memory accesses with hardware, while maintaining the word-level accuracy of a software-only approach. To evaluate our framework, we have implemented an Aikido-enabled vector clock race detector. Our results show that the Aikido enabled race-detector outperforms existing techniques that provide similar accuracy by up to 6.0x, and 76% on average, on the PARSEC benchmark suite.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF-0832997)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (DOE SC0005288)en_US
dc.description.sponsorshipUnited States. Defense Advanced Research Projects Agency (DARPA HR0011-10- 9-0009)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2150976.2150995en_US
dc.titleAikido: Accelerating shared data dynamic analysesen_US
dc.typeArticleen_US
dc.identifier.citationOlszewski, Marek et al. “Aikido.” in Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '12, ACM Press, 2012. 173. Web.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.approverAmarasinghe, Saman P.
dc.contributor.mitauthorAmarasinghe, Saman P.
dc.contributor.mitauthorOlszewski, Marek Krystyn
dc.contributor.mitauthorZhao, Qin
dc.contributor.mitauthorKoh, David F
dc.contributor.mitauthorAnsel, Jason Andrew
dc.relation.journalProceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '12en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dspace.orderedauthorsOlszewski, Marek; Zhao, Qin; Koh, David; Ansel, Jason; Amarasinghe, Samanen
dc.identifier.orcidhttps://orcid.org/0000-0002-7231-7643
dspace.mitauthor.errortrue
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record