Task graphs or dependence graphs are used in runtime systems to schedule tasks for parallel execution. In problem domains such as dense linear algebra and signal processing, depen...
Muhammad Amber Hassaan, Donald D. Nguyen, Keshav P...
All software in use today relies on libraries, including standard libraries (e.g., C, C++) and application-specific libraries (e.g., libxml, libpng). Most libraries are loaded in ...
Varun Agrawal, Abhiroop Dabral, Tapti Palit, Yongm...
This paper presents a new compiler and architecture called GhostRider for supporting privacy preserving computation in the cloud. The architecture employs Oblivious RAM (ORAM) whi...
Chang Liu, Austin Harris, Martin Maas, Michael W. ...
Incremental computation strives for efficient successive runs of applications by re-executing only those parts of the computation that are affected by a given input change instea...
Pramod Bhatotia, Pedro Fonseca 0001, Umut A. Acar,...
Information security can be compromised by leakage via lowlevel hardware features. One recently prominent example is cache probing attacks, which rely on timing channels created b...
Danfeng Zhang, Yao Wang, G. Edward Suh, Andrew C. ...
As user demand scales for intelligent personal assistants (IPAs) such as Apple’s Siri, Google’s Google Now, and Microsoft’s Cortana, we are approaching the computational lim...
Johann Hauswald, Michael A. Laurenzano, Yunqi Zhan...
There have been several recent efforts to improve the performance of fences. The most aggressive designs allow postfence accesses to retire and complete before the fence completes...
Systems from smartphones to supercomputers are increasingly heterogeneous, being composed of both CPUs and GPUs. To maximize cost and energy efficiency, these systems will increa...
Neha Agarwal, David W. Nellans, Mark Stephenson, M...