smartnoise-core
smartnoise-core copied to clipboard
Advanced Composition
First, rename "batch" in proto::Component to "submission", because one submission may contain multiple batches.
When compute_epsilon is called:
- Derive batch ids from dependency structure on graph.
- Subpartition derived batch IDs by component's submission index.
- Compute privacy usage of all subpartitions (reference is_DP function from PSI)
- Reduce over subpartition privacy usages.
This algorithm above to batch graphs has been implemented, and the privacy composition is exposed in a function. At this point the function just returns linear composition. Essentially, library integration has been completed but the algorithm itself is missing.