Computer Science editorial
Polars inside Intel SGX2 Enclaves: An Empirical Study of Confidential Analytical Query Processing
The core problem
Innovation
Across the four dataset-width configurations (approximately 22–73 GB), end-to-end overhead remains nearly constant at 1.49–1.56×. However, this composite metric obscures two distinct behaviors: query-only overhead declines from 1.51–1.52× to 1.43–1.44×, whereas table-loading overhead rises from 2.27× to 4.07×. For the len130 configuration, the median per-query SGX slowdown is 1.45× with a maximum of 2.57×. A small set of queries exhibits pronounced run-to-run spikes consistent with stateful EPC pressure. Comparing Polars' lazy and eager APIs under the same TEE setting, lazy execution is 2.25–2.27× faster overall, while eager execution fails with out-of-memory errors at 41 GB and above. These results are summarized in the following table:
| Configuration | End-to-end overhead | Query-only overhead | Table-loading overhead |
|---------------|---------------------|---------------------|------------------------|
| ~22 GB | 1.49–1.56× | 1.51–1.52× | 2.27× |
| ~73 GB | 1.49–1.56× | 1.43–1.44× | 4.07× |
For len130, per-query slowdown: median 1.45×, max 2.57×. Lazy vs. eager: lazy 2.25–2.27× faster; eager
The experimental setup runs Polars inside Intel SGX2 enclaves using Gramine, a library OS for unmodified Linux applications. The workload is TPC-H SF30, with data stored in Azure Blob Storage. Four dataset-width configurations are tested, ranging from approximately 22 GB to 73 GB. Two metrics are reported: the standard TPC-H power score (end-to-end) and a query-only variant that excludes table-loading time. Per-query slowdowns are measured for the len130 configuration. The lazy and eager APIs of Polars are compared under identical TEE conditions. The overhead is quantified as a slowdown factor relative to native execution. For a given query , the slowdown is
Why it matters
Who should read this
Opening member content…