@inproceedings{nightingale2008parallelizing, author = {Nightingale, Edmund B and Nightingale, Edmund B. and Peek, Daniel and Chen, Peter M. and Flinn, Jason}, title = {Parallelizing Security Checks on Commodity Hardware}, booktitle = {Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08)}, year = {2008}, month = {March}, abstract = {Speck1 is a system that accelerates powerful security checks on commodity hardware by executing them in parallel on multiple cores. Speck provides an infrastructure that allows sequential invocations of a particular security check to run in parallel without sacrificing the safety of the system. Speck creates parallelism in two ways. First, Speck decouples a security check from an application by continuing the application, using speculative execution, while the security check executes in parallel on another core. Second, Speck creates parallelism between sequential invocations of a security check by running later checks in parallel with earlier ones. Speck provides a process-level replay system to deterministically and efficiently synchronize state between a security check and the original process. We use Speck to parallelize three security checks: sensitive data analysis, on-access virus scanning, and taint propagation. Running on a 4-core and an 8-core computer, Speck improves performance4xand7.5xforthesensitivedataanalysischeck,3.3x and 2.8x for the on-access virus scanning check, and 1.6x and 2x for the taint propagation check.}, url = {http://approjects.co.za/?big=en-us/research/publication/parallelizing-security-checks-on-commodity-hardware/}, pages = {308-318}, }