Date of Award

Spring 1-1-2012

Document Type


Degree Name

Master of Science (MS)


Computer Science

First Advisor

Willem Schreuder

Second Advisor

Dirk Grunwald

Third Advisor

Roger King


General purpose programming of Graphics Processing Units (GPUs) is a relatively new technological advancement. GPUs contain vast amounts of computational power with their many core architectures. Within many computer systems the power of these GPUs often goes unused outside the realm of graphics. Many of today's common computational tasks are well suited for the single instruction, multiple data (SIMD) architecture of the GPU. Commonly used algorithms within storage systems such as block based hashing and cryptography perform exceptionally well within the GPU architecture, often far exceeding the performance of CPUs. Researched within this thesis is the viability of utilizing GPUs within modern storage systems, unlocking the capabilities of the otherwise idle graphics processor. Data throughput, hashing, and cryptography are examined with the assistance of a general purpose GPU. Along with these stand-alone tasks, a proof of concept log-structured index is designed and implemented to take advantage of GPU cryptography for at-rest data encryption. Results shown in this work demonstrate that it is feasible to achieve significant performance gains with the assistance of a GPU for cryptographic tasks within a log-structured index.