TY - GEN
T1 - Exploring the Efficiency of Data-Oblivious Programs
AU - Biernacki, Lauren
AU - Tiruye, Biniyam Mengist
AU - Demissie, Meron Zerihun
AU - Andargie, Fitsum Assamnew
AU - Reagen, Brandon
AU - Austin, Todd
N1 - Publisher Copyright:
© 2023 IEEE.
PY - 2023
Y1 - 2023
N2 - Data-oblivious programs have gained popularity due to their application in security, but are often dismissed because of anticipated performance loss. In order to better understand these performance concerns, this paper details the first performance characterization of data-oblivious programs. We study mechanical data-oblivious transformations applied to twenty workloads from the VIP-Bench benchmark suite and find that, overall, performance overheads vary widely, with a geomean slowdown of 7.4×. This variance can be attributed to whether or not the data-oblivious transformations affect the workload's asymptotic complexity. Performance overheads are much lower for the fourteen workloads whose complexity is unaffected, at 1.9× geomean. Further, by reducing control hazards, we find that dataoblivious transformations often result in improved per-instruction performance (e.g., better branch and memory performance) and increase the number of instructions the processor can execute in parallel (e.g., IPC). Leveraging lessons from analyzing these overheads, we study four notably slow data-oblivious workloads and show how algorithmic changes can significantly improve performance-achieving an average 86.4× speedup over the mechanically produced baseline programs. While data-oblivious program execution often incurs overheads, the contributions of this paper show that these overheads can be overcome by compiler and algorithmic optimizations, bringing us closer to achieving efficient and widely-used data-oblivious programs.
AB - Data-oblivious programs have gained popularity due to their application in security, but are often dismissed because of anticipated performance loss. In order to better understand these performance concerns, this paper details the first performance characterization of data-oblivious programs. We study mechanical data-oblivious transformations applied to twenty workloads from the VIP-Bench benchmark suite and find that, overall, performance overheads vary widely, with a geomean slowdown of 7.4×. This variance can be attributed to whether or not the data-oblivious transformations affect the workload's asymptotic complexity. Performance overheads are much lower for the fourteen workloads whose complexity is unaffected, at 1.9× geomean. Further, by reducing control hazards, we find that dataoblivious transformations often result in improved per-instruction performance (e.g., better branch and memory performance) and increase the number of instructions the processor can execute in parallel (e.g., IPC). Leveraging lessons from analyzing these overheads, we study four notably slow data-oblivious workloads and show how algorithmic changes can significantly improve performance-achieving an average 86.4× speedup over the mechanically produced baseline programs. While data-oblivious program execution often incurs overheads, the contributions of this paper show that these overheads can be overcome by compiler and algorithmic optimizations, bringing us closer to achieving efficient and widely-used data-oblivious programs.
KW - Benchmark testing
KW - Data oblivious programming
KW - If conversion
UR - http://www.scopus.com/inward/record.url?scp=85164536144&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85164536144&partnerID=8YFLogxK
U2 - 10.1109/ISPASS57527.2023.00027
DO - 10.1109/ISPASS57527.2023.00027
M3 - Conference contribution
AN - SCOPUS:85164536144
T3 - Proceedings - 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023
SP - 189
EP - 200
BT - Proceedings - 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023
Y2 - 23 April 2023 through 25 April 2023
ER -