Energy-Efficient Acceleration of Asynchronous Programs.
dc.contributor.author | Chadha, Gaurav | |
dc.date.accessioned | 2016-06-10T19:31:45Z | |
dc.date.available | NO_RESTRICTION | |
dc.date.available | 2016-06-10T19:31:45Z | |
dc.date.issued | 2016 | |
dc.date.submitted | ||
dc.identifier.uri | https://hdl.handle.net/2027.42/120780 | |
dc.description.abstract | Asynchronous or event-driven programming has become the dominant programming model in the last few years. In this model, computations are posted as events to an event queue from where they get processed asynchronously by the application. A huge fraction of computing systems built today use asynchronous programming. All the Web 2.0 JavaScript applications (e.g., Gmail, Facebook) use asynchronous programming. There are now more than two million mobile applications available between the Apple App Store and Google Play, which are all written using asynchronous programming. Distributed servers (e.g., Twitter, LinkedIn, PayPal) built using actor-based languages (e.g., Scala) and platforms such as node.js rely on asynchronous events for scalable communication. Internet-of-Things (IoT), embedded systems, sensor networks, desktop GUI applications, etc., all rely on the asynchronous programming model. Despite the ubiquity of asynchronous programs, their unique execution characteristics have been largely ignored by conventional processor architectures, which have remained heavily optimized for synchronous programs. Asynchronous programs are characterized by short events executing varied tasks. This results in a large instruction footprint with little cache locality, severely degrading cache performance. Also, event execution has few repeatable patterns causing poor branch prediction. This thesis proposes novel processor optimizations exploiting the unique execution characteristics of asynchronous programs for performance optimization and energy-efficiency. These optimizations are designed to make the underlying hardware aware of discrete events and thereafter, exploit the latent Event-Level Parallelism present in these applications. Through speculative pre-execution of future events, cache addresses and branch outcomes are recorded and later used for improving cache and branch predictor performance. A hardware instruction prefetcher specialized for asynchronous programs is also proposed as a comparative design direction. | |
dc.language.iso | en_US | |
dc.subject | Asynchronous program performance and energy-efficiency | |
dc.subject | Hardware-software co-design | |
dc.title | Energy-Efficient Acceleration of Asynchronous Programs. | |
dc.type | Thesis | en_US |
dc.description.thesisdegreename | PhD | |
dc.description.thesisdegreediscipline | Computer Science and Engineering | |
dc.description.thesisdegreegrantor | University of Michigan, Horace H. Rackham School of Graduate Studies | |
dc.contributor.committeemember | Narayanasamy, Satish | |
dc.contributor.committeemember | Mahlke, Scott | |
dc.contributor.committeemember | Zhang, Zhengya | |
dc.contributor.committeemember | Wenisch, Thomas F. | |
dc.subject.hlbsecondlevel | Computer Science | |
dc.subject.hlbtoplevel | Engineering | |
dc.description.bitstreamurl | http://deepblue.lib.umich.edu/bitstream/2027.42/120780/1/gauravc_1.pdf | |
dc.owningcollname | Dissertations and Theses (Ph.D. and Master's) |
Files in this item
Remediation of Harmful Language
The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.
Accessibility
If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.