a computing-in-memory engine for searching on … · a computing-in-memory engine for searching on...
TRANSCRIPT
![Page 1: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/1.jpg)
A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA
Dayane Reis, Michael Niemier and X. Sharon Hu
University of Notre Dame
Arm Research Summit, September 2019
This work was supported in part by the Semiconductor Research Corporation (SRC) and DARPA .
![Page 2: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/2.jpg)
LET’S LOOK AT HOMOMORPHIC ENCRYPTION!
![Page 3: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/3.jpg)
Homomorphic encryption (HE)
• Enables computation to be performed on encrypted data
‒ No prior decryption is necessary!
Daniel J. Solove, 2015
![Page 4: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/4.jpg)
HE challenges
• Ciphertext sizes: 10s or even 100s of KB for a 32 or 64-bit word in plaintext
Long latency of
computations
How long does it
take to run?
Memory
transfers
How long is to
fetch
ciphertexts?
Memory density
Where to store
all these
ciphertexts?
![Page 5: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/5.jpg)
HOW TO ADDRESS THESE ISSUES?
![Page 6: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/6.jpg)
Computing-in-memory (CiM)
• Mixing logic and memory on same chip
‒ Energy and performance improvements due to reduced data
movement!
[2] Reis D, Niemier M, Hu XS. Computing in memory with FeFETs. ISLPED 2018 (SRC P094461)
[3] S. Jain, A. Ranjan, K. Roy and A. Raghunathan, "Computing in Memory With Spin-Transfer Torque Magnetic RAM," in IEEE TVLSI, 2018
[4] S. Aga, S. Jeloka, A. Subramaniyan, S. Narayanasamy, D. Blaauw, and R. Das, "Compute caches," in 2017 IEEE HPCA, 2017
![Page 7: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/7.jpg)
Ferroelectric FETs and their applications for memory
• Construction resembles MOSFETs
‒ Ferroelectric material added in the gate stack• FE material responsible for hysteretic behavior
‒ Device works as both a switch and a memory
• Fabrication prototypes available‒ By Dr. Suman Datta (ND), NamLab, GF.
Adapted from X. Yin, 2017
![Page 8: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/8.jpg)
SeCAM: Secure content addressable memories
High level view
![Page 9: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/9.jpg)
SeCAM: Secure content addressable memories
Fully-additive search function
![Page 10: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/10.jpg)
CiM-SeCAM: A CiM engine to facilitate search in HE
![Page 11: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/11.jpg)
CiM-SeCAM: Sequence of operations
![Page 12: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/12.jpg)
CiM module: in-memory (iM) adders
![Page 13: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/13.jpg)
RESULTS AND PERSPECTIVES
![Page 14: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/14.jpg)
• To measure search energy/time:
‒ Spice simulations of a 64x64 array
and peripherals
(see “Figure of Merit” for results)
• To estimate area:
‒ Layout for CiM-SCAM implemented
with iM-CSLA
SRAM, 2T+1-FeFET and 1-FeFET
memory cells are considered
Evaluation and results
![Page 15: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/15.jpg)
Figures-of-Merit (FOM)
• Search on homomorphically encrypted data
[1] S. Bian, M. Hiromoto, and T. Sato,
“SCAM: Secured content addressable memory based on homomorphic
encryption,” in DATE, 2017
![Page 16: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/16.jpg)
• Focus on FHE based on Ring Learning-With-Error (RLWE)
• Operations are computed over polynomial rings (e.g., ℤ𝑞 𝑋 /Φ𝑀 𝑋 )
– I.e., 𝑎𝑛𝑥𝑛 + ⋯ 𝑎1𝑥 + 𝑎0 𝑎0 ,⋯ , 𝑎𝑛 ∈ ℤ𝑞}
where 𝑛 = 2𝑑 for some 𝑑
• Core ops – homomorphic addition, multiplication, and re-linearization (noise reduction) –facilitated with 3 basic primitives
Division with rounding: 𝑥
𝑦
• CIM friendly if 𝑦 = 2𝑘 for some 𝑘
Modular reduction: 𝑥 𝑞 = 𝑥 − 𝑞𝑥
𝑞
• CIM friendly if 𝑞 = 2𝑘 for some 𝑘
Modular arithmetic: 𝑥 ± 𝑦 𝑞, 𝑥 × 𝑦 𝑞
• CIM friendly if 𝑞 = 2𝑘 for some 𝑘
Coordinates sequence
of CiM operations
Performs direct div/mult by powers of 2Performs bitwise
logic/ ADD between
memory words
Write buffers
(for SRAM or
FeFETs)
Toward CIM-based Fully homomorphic encryption
![Page 17: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/17.jpg)
THANK YOU!QUESTIONS?
![Page 18: A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON … · A COMPUTING-IN-MEMORY ENGINE FOR SEARCHING ON HOMOMORPHICALLY ENCRYPTED DATA Dayane Reis, Michael Niemier and X. Sharon Hu University](https://reader036.vdocuments.site/reader036/viewer/2022063016/5fd6db9aa39bdb393a36688a/html5/thumbnails/18.jpg)