Making Searchable Encryption Scale to the Cloud. Ian Miers and Payman Mohassel

Size: px
Start display at page:

Download "Making Searchable Encryption Scale to the Cloud. Ian Miers and Payman Mohassel"

Transcription

1 Making Searchable Encryption Scale to the Cloud Ian Miers and Payman Mohassel

2 End to end Encryption No encryption Transport encryption End2End Encryption Service provider Service provider Service provider user user user user user user

3 E2E Encrypted Messaging Need Crypto Want Crypto

4 E2E Encrypted Messaging Ban Crypto Need Crypto Want Crypto

5 Deploying E2E encrypted messaging WhatsApp No feature loss Many users probably don t know they are using it imessage Same features as SMS WebRTC video chat

6 Search For some communication mechanisms, people expect search is the canonical example, but not the only one. Slack Any replacement

7 I m not particularly thrilled with building an apartment building which has the biggest bars on every window Jeff Bonforte (Yahoo VP mail and messagin)

8 E2E Encrypted Messaging Need Crypto Want Crypto

9 Searchable Encryption

10 An index for search The f 1 f 5 f 9 f 52 f 67 f 72 f 99 Man f 7 f 11 f 21 f 42 f 67 Bites f 2 Dog f 21 f 27 f 31

11 Index on client, store on server The f 1 f 5 f 9 f 52 f 67 f 72 f 99 Man f 7 f 1 1 f 2 1 f 4 2 f 6 7 Bites f 2 Dog f 2 1 f 2 7 f 3 1

12 Index on client, store on server f 21 f 27 f 31 Dog

13 Index on client, store on server The f 1 f 5 f 9 f 52 f 67 f 72 f 99 f 21 f 27 f 31 Man f 7 f 1 1 f 2 1 f 4 2 f 6 7 Bites f 2 Dog Dog f 2 1 f 2 7 f 3 1

14 An index for search The f 1 f 5 f 9 f 52 f 67 f 72 f 99 Man f 7 f 11 f 21 f 42 f 67 Bites f 2 Dog f 21 f 27 f 31

15 A Naïvely Encrypted Index H(k keyword) E(k,list of files) 8afa2 1c35f dc4cf 9f126

16 Index on client, store on server 8afa2 1c35f dc4cf H(k Dog ) 9f126

17 A Naïvely Encrypted Index H(k keyword) E(k,list of files) 8afa2 1c35f dc4cf 9f126 Leaks term frequency 8afa2 is the most frequent keyword The is the most frequent English word

18 An Inefficient Encrypted index H(k keyword KeyWord_ctr) 8afa2 E(k, f i ) 1c35f 41bb a5l9 5r6n d4c1 For a given keyword, each file containing it is stored in a separate random location This hides keyword frequency in a space efficient way Very inefficient to search: Requires one random read per result Results in a ~25-50x increase in I/O usage Yahoo! Mail search is already IO bound!!! Not viable for a server supporting multiple users who are not paying for it

19 Search at Cloud Scale Many small indexes < 1GB each > 1 Billion accounts Cannot store in memory Must use disk storage IO Bound Fragmented index causes massive increase in io for search A search for one keyword returning N documents takes N times as many reads.

20 Good news search queries are fairly simple Typically single keyword Conjunctive search nice, but not necessary Most searches are on meta data Searches on mail content are rare ~250 searches a second across all users ~300 million monthly active users But we must solve the IO issue.

21 An Inefficient Encrypted index H(k keyword KeyWord_ctr) 8afa2 E(k, f i ) 1c35f 41bb 9f126 dc4cf d4c1

22 IO Efficient search for static indexes

23 Chunked Encrypted Index H(k keyword chunk_ctr) E(k, chunk of files) 8afa2 1c35f 41bb 9f126 Assume we have all documents initially We break up the list into chunks Way more efficient to search Can scale to terabytes Cash et al (Crypto 13, NDSS 14) dc4cf d4c1

24 Problem: updates H(k keyword chunk_ctr) E(k, chunk of files) 8afa2 1c35f 41bb : lost DOG Dog is 9f126 Need to add to Dog entry. But that leaks what we updated 9f126 dc4cf d4c1

25 Problem: updates H(k keyword chunk_ctr) E(k, chunk of files) 8afa2 1c35f 41bb : lost DOG Dog is 9f126 Need to add to Dog entry. But that leaks what we updated 9f126 dc4cf d4c1

26 Problem: updates 8afa2 1c35f 41bb 9f126 dc4cf d4c1 fe52

27 Problem: updates 8afa2 1c35f 41bb 9f126 dc4cf d4c1 fe52

28 IO-DSSE: Scaling Dynamic Searchable Encryption to Millions of Indexes By Improving Locality

29 Obliviously Updateable Index Standard search index 8afa2 1c35f 41bb 9f126 dc4cf fe52 d4c1

30 Obliviously Updateable Index 8afa2 1c35f 41bb 9f126 dc4cf fe52 d4c1

31 Obliviously Updateable Index 8afa2 1c35f 41bb 9f126 dc4cf fe52 d4c1

32 Obliviously Updateable Index 8afa2 1c35f 41bb 9f126 dc4cf fe52 d4c1

33 Obliviously Updateable Index 8afa2 1c35f 41bb 9f126 dc4cf d4c1 fe52

34 Obliviously Updateable Index?

35 Chunked Encrypted Index 8afa2 1c35f 41bb 9f126 dc4cf d4c1 fe52

36 Buffer locally, put full chunks on server Zipfs f 1 law f 7 f 11 really f 2 Keywords have a power law distribution: common ones are really frequent, others are sparse We will end up with too many partial buckets on the client We can t upload partial buckets kills f 2 this f 1 f 5 f 9 f 52 f 67 f 72 idea f 2

37 We need an obliviously updatable index overflow Local Device Data center k 1 k 7 f 3 f 4 f 1 k 1 k 2 f 4 f 4 f 9 k 1 k 4 f 1, f 5, f 8, f 12 f 4, f 1, f 3, f 9 keyword qeuries k 3 f 1 f 8 k 3 f 1 f 8 f 9 k 1 f 2, f 3, f 8, f 11 Obliviously Updatable Index Full Block Index

38 Oblivious RAM ORAM hides locations of access to memory (both reads and writes) How to build ORAM 1. Encrypt memory 2. Shuffle memory locations on reads or writes to hide locations In Path ORAM, shuffling has logarithmic overhead.

39 OUI from Path ORAM RAM 1. Read(for search) 2. Shuffle 3. Read (for search) 4. Shuffle 5. Read/write for update 6. Shuffle

40 Client side stash Path ORAM

41 Client side stash Path ORAM

42 Client side stash Path ORAM

43 Client side stash Path ORAM

44 Client side stash Path ORAM

45 Client side stash Path ORAM

46 From ORAM to an OUI ORAM allows you to write to a location in memory without revealing the location Can add to a partial chunk without revealing we did so. Bandwidth costs get worse was ORAM gets larger Requires you to read and write Log(N)*B bytes for a read of B bytes from an ORAM of size N For 16GB of ORAM, server needs GB of space and reading 4KB takes 350KB read + 350KB write. Storing full index in ORAM requires too much bandwidth

47 From ORAM to an OUI ORAM hides both reads and writes Search explicitly leaks repeated reads Same files are returned each time. Same search token/hash used. No need to hide reads using ORAM Updates may happen in batches

48 OUI from Oblivious RAM 1. Read(for search) 2. Shuffle 3. Read (for search) 4. Shuffle 5. Read/write for update 6. Shuffle

49 Partial ORAM? 1. Read(for search) 2. Read (for search) 3. Read/write for update 4. Shuffle

50 OUI 1. Read(for search) 2. Shuffle 3. Read (for search) 4. Shuffle 5. Read/write for update 6. Shuffle

51 OUI 1. Read(for search) 2. Read (for search) 3. Shuffle + Shuffle 4. Read/write for update 5. Shuffle

52 OUI 1. Read(for search) 2. Read (for search) 3. Shuffle + Shuffle 4. Read/write for update 5. Shuffle

53 OUI 1. Read(for search) 2. Read (for search) 3. Shuffle + Shuffle 4. Read/write for update 5. Shuffle

54 Reads

55 Why not just read directly?

56 Leaks updates

57 OUI from ORAM Searching triggers a read and write of Log(n)*B data To avoid Log(N)*B read +write for each search Just read address for chunk for given keyword Defer read and write until later (i.e. when the phone is plugged in and on Wi-Fi) Search is constant bandwidth and has nice locality All updates must happen after deferred IO is done We get some savings from batching the IO together Multiple searches on the same keyword are free

58 OUI from ORAM Read directly from tree for search BUT Must complete full path read and write prior to any updates Call these deferred reads

59 Batched reads and writes Deferred (full reads ) reads and updates are not random events They will happen in groups either When an comes in we get many updates We might update the non local index only once a day (if system is not multi client) Batched reads and writes reduce the amount of data read and written For n full reads/ writes, The root is only updated once instead of n times Its children once instead n/2 times, etc

60 Deferred Reads

61 Deferred Reads

62 Deferred Reads

63 Deferred Reads + Batching

64 Batched update

65 Performance IO Savings (percentage) vs Simple encrypted index( including all previous works under purely dynamic insertion) Savings just for search (ignoring updates) Oblivious index from path ORAM

66 Conclusion Searchable encryption might be feasible for cloud based messaging with effort It pays to examine problems in context You can always get better performance by relaxing security assumptions Sometimes the relaxation is inherent to the setting and free

67 8afa2 1c35f 41bb 9f126 dc4cf d4c1 Updates Query local, ORAM, and index with efficient access Update : Buffer locally, overflow to ORAM, then commit full chunks to index Defer ORAM I/O from queries until update period Requirements 40 to 250mb of client storage to store a list of keywords Client has fast internet sometimes Ideally, client has large local buffer Local buffer keyword data Query on keyword Obliviously updateable Index (OUI)

68 Client side stash Path ORAM

69 Client side stash Path ORAM

70 Client side stash Path ORAM

71 Client side stash Path ORAM

72 Client side stash Path ORAM

73 Client side stash Path ORAM

74 From ORAM to an OUI ORAM allows you to write to a location in memory without revealing the location Can add to a partial chunk without revealing we did so. Bandwidth costs get worse was ORAM gets larger Requires you to read and write Log(N)*B bytes for a read of B bytes from an ORAM of size N For 16GB of ORAM, server needs GB of space and reading 4KB takes 350KB read + 350KB write. Storing full index in ORAM requires too much bandwidth

75 From ORAM to an OUI ORAM hides both reads and writes Search explicitly leaks repeated reads Same files are returned each time. Same search token/hash used. No need to hide reads using ORAM Updates may happen in batches

76 Reads

77 Why not just read directly?

78 Leaks updates

79 OUI from ORAM Read directly from tree for search BUT Must complete full path read and write prior to any updates Call these deferred reads

80 Batched reads and writes Deferred (full reads ) reads and updates are not random events They will happen in groups either When an comes in we get many updates We might update the non local index only once a day (if system is not multi client) Batched reads and writes reduce the amount of data read and written For n full reads/ writes, The root is only updated once instead of n times Its children once instead n/2 times, etc

81 Deferred Reads

82 Deferred Reads

83 Deferred Reads

84 Deferred Reads + Batching

85 Batched update

Searchable Encryption Using ORAM. Benny Pinkas

Searchable Encryption Using ORAM. Benny Pinkas Searchable Encryption Using ORAM Benny Pinkas 1 Desiderata for Searchable Encryption Security No leakage about the query or the results Functionality Variety of queries that are supported Performance 2

More information

Main Memory and the CPU Cache

Main Memory and the CPU Cache Main Memory and the CPU Cache CPU cache Unrolled linked lists B Trees Our model of main memory and the cost of CPU operations has been intentionally simplistic The major focus has been on determining

More information

Usable PIR. Network Security and Applied. Cryptography Laboratory.

Usable PIR. Network Security and Applied. Cryptography Laboratory. Network Security and Applied Cryptography Laboratory http://crypto.cs.stonybrook.edu Usable PIR NDSS '08, San Diego, CA Peter Williams petertw@cs.stonybrook.edu Radu Sion sion@cs.stonybrook.edu ver. 2.1

More information

Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol

Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol Nathan Wolfe and Ethan Zou Mentors: Ling Ren and Xiangyao Yu Fourth Annual MIT PRIMES Conference May 18, 2014 Outline 1. Background 2.

More information

Design and Implementation of the Ascend Secure Processor. Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas

Design and Implementation of the Ascend Secure Processor. Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas Design and Implementation of the Ascend Secure Processor Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas Agenda Motivation Ascend Overview ORAM for obfuscation Ascend:

More information

Lectures 6+7: Zero-Leakage Solutions

Lectures 6+7: Zero-Leakage Solutions Lectures 6+7: Zero-Leakage Solutions Contents 1 Overview 1 2 Oblivious RAM 1 3 Oblivious RAM via FHE 2 4 Oblivious RAM via Symmetric Encryption 4 4.1 Setup........................................ 5 4.2

More information

VERIFIABLE SYMMETRIC SEARCHABLE ENCRYPTION

VERIFIABLE SYMMETRIC SEARCHABLE ENCRYPTION VERIFIABLE SYMMETRIC SEARCHABLE ENCRYPTION DATE 09/03/2016 SÉMINAIRE EMSEC - RAPHAEL BOST Searchable Encryption Outsource data securely keep search functionalities Generic Solutions We can use generic

More information

A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM

A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM BASED ON PHANTOM: PRACTICAL OBLIVIOUS COMPUTATION IN A SECURE PROCESSOR FROM CCS-2013! Martin Maas, Eric

More information

Secure Remote Storage Using Oblivious RAM

Secure Remote Storage Using Oblivious RAM Secure Remote Storage Using Oblivious RAM Giovanni Malloy Mentors: Georgios Kellaris, Kobbi Nissim August 11, 2016 Abstract Oblivious RAM (ORAM) is a protocol that allows a user to access the data she

More information

Locality of Reference

Locality of Reference Locality of Reference 1 In view of the previous discussion of secondary storage, it makes sense to design programs so that data is read from and written to disk in relatively large chunks but there is

More information

CSC 5930/9010 Cloud S & P: Cloud Primitives

CSC 5930/9010 Cloud S & P: Cloud Primitives CSC 5930/9010 Cloud S & P: Cloud Primitives Professor Henry Carter Spring 2017 Methodology Section This is the most important technical portion of a research paper Methodology sections differ widely depending

More information

Privacy-Preserving Computation with Trusted Computing via Scramble-then-Compute

Privacy-Preserving Computation with Trusted Computing via Scramble-then-Compute Privacy-Preserving Computation with Trusted Computing via Scramble-then-Compute Hung Dang, Anh Dinh, Ee-Chien Chang, Beng Chin Ooi School of Computing National University of Singapore The Problem Context:

More information

Learning to Play Well With Others

Learning to Play Well With Others Virtual Memory 1 Learning to Play Well With Others (Physical) Memory 0x10000 (64KB) 0x00000 Learning to Play Well With Others malloc(0x20000) (Physical) Memory 0x10000 (64KB) 0x00000 Learning to Play Well

More information

CSE 373 OCTOBER 23 RD MEMORY AND HARDWARE

CSE 373 OCTOBER 23 RD MEMORY AND HARDWARE CSE 373 OCTOBER 23 RD MEMORY AND HARDWARE MEMORY ANALYSIS Similar to runtime analysis MEMORY ANALYSIS Similar to runtime analysis Consider the worst case MEMORY ANALYSIS Similar to runtime analysis Rather

More information

L9: Storage Manager Physical Data Organization

L9: Storage Manager Physical Data Organization L9: Storage Manager Physical Data Organization Disks and files Record and file organization Indexing Tree-based index: B+-tree Hash-based index c.f. Fig 1.3 in [RG] and Fig 2.3 in [EN] Functional Components

More information

Computer Memory. Data Structures and Algorithms CSE 373 SP 18 - KASEY CHAMPION 1

Computer Memory. Data Structures and Algorithms CSE 373 SP 18 - KASEY CHAMPION 1 Computer Memory Data Structures and Algorithms CSE 373 SP 18 - KASEY CHAMPION 1 Warm Up public int sum1(int n, int m, int[][] table) { int output = 0; for (int i = 0; i < n; i++) { for (int j = 0; j

More information

Data Representation. Types of data: Numbers Text Audio Images & Graphics Video

Data Representation. Types of data: Numbers Text Audio Images & Graphics Video Data Representation Data Representation Types of data: Numbers Text Audio Images & Graphics Video Analog vs Digital data How is data represented? What is a signal? Transmission of data Analog vs Digital

More information

CS 245 Midterm Exam Winter 2014

CS 245 Midterm Exam Winter 2014 CS 245 Midterm Exam Winter 2014 This exam is open book and notes. You can use a calculator and your laptop to access course notes and videos (but not to communicate with other people). You have 70 minutes

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

B+ Tree Review. CSE332: Data Abstractions Lecture 10: More B Trees; Hashing. Can do a little better with insert. Adoption for insert

B+ Tree Review. CSE332: Data Abstractions Lecture 10: More B Trees; Hashing. Can do a little better with insert. Adoption for insert B+ Tree Review CSE2: Data Abstractions Lecture 10: More B Trees; Hashing Dan Grossman Spring 2010 M-ary tree with room for L data items at each leaf Order property: Subtree between keys x and y contains

More information

Purity: building fast, highly-available enterprise flash storage from commodity components

Purity: building fast, highly-available enterprise flash storage from commodity components Purity: building fast, highly-available enterprise flash storage from commodity components J. Colgrove, J. Davis, J. Hayes, E. Miller, C. Sandvig, R. Sears, A. Tamches, N. Vachharajani, and F. Wang 0 Gala

More information

CSE 373 OCTOBER 25 TH B-TREES

CSE 373 OCTOBER 25 TH B-TREES CSE 373 OCTOBER 25 TH S ASSORTED MINUTIAE Project 2 is due tonight Make canvas group submissions Load factor: total number of elements / current table size Can select any load factor (but since we don

More information

Next-Generation Parallel Query

Next-Generation Parallel Query Next-Generation Parallel Query Robert Haas & Rafia Sabih 2013 EDB All rights reserved. 1 Overview v10 Improvements TPC-H Results TPC-H Analysis Thoughts for the Future 2017 EDB All rights reserved. 2 Parallel

More information

Learning to Play Well With Others

Learning to Play Well With Others Virtual Memory 1 Learning to Play Well With Others (Physical) Memory 0x10000 (64KB) Stack Heap 0x00000 Learning to Play Well With Others malloc(0x20000) (Physical) Memory 0x10000 (64KB) Stack Heap 0x00000

More information

Efficient Private Information Retrieval

Efficient Private Information Retrieval Efficient Private Information Retrieval K O N S T A N T I N O S F. N I K O L O P O U L O S T H E G R A D U A T E C E N T E R, C I T Y U N I V E R S I T Y O F N E W Y O R K K N I K O L O P O U L O S @ G

More information

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide

More information

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah The kinds of memory:- 1. RAM(Random Access Memory):- The main memory in the computer, it s the location where data and programs are stored (temporally). RAM is volatile means that the data is only there

More information

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection

More information

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI 2006 Presented by Xiang Gao 2014-11-05 Outline Motivation Data Model APIs Building Blocks Implementation Refinement

More information

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

Chapter 8: Main Memory. Operating System Concepts 9 th Edition Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

from circuits to RAM programs in malicious-2pc

from circuits to RAM programs in malicious-2pc from circuits to RAM programs in malicious-2pc Abstract: Secure 2-party computation (2PC) is becoming practical in some domains However, most approaches are limited by the fact that the desired functionality

More information

Operating Systems. File Systems. Thomas Ropars.

Operating Systems. File Systems. Thomas Ropars. 1 Operating Systems File Systems Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2017 2 References The content of these lectures is inspired by: The lecture notes of Prof. David Mazières. Operating

More information

CS 111. Operating Systems Peter Reiher

CS 111. Operating Systems Peter Reiher Operating System Principles: File Systems Operating Systems Peter Reiher Page 1 Outline File systems: Why do we need them? Why are they challenging? Basic elements of file system design Designing file

More information

Searchable Symmetric Encryption: Optimal Locality in Linear Space via Two-Dimensional Balanced Allocations

Searchable Symmetric Encryption: Optimal Locality in Linear Space via Two-Dimensional Balanced Allocations Searchable Symmetric Encryption: Optimal Locality in Linear Space via Two-Dimensional Balanced Allocations Gilad Asharov Cornell-Tech Moni Naor Gil Segev Ido Shahaf (Hebrew University) Weizmann Hebrew

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Main Memory (Part II)

Main Memory (Part II) Main Memory (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Main Memory 1393/8/17 1 / 50 Reminder Amir H. Payberah

More information

Virtual Memory: From Address Translation to Demand Paging

Virtual Memory: From Address Translation to Demand Paging Constructive Computer Architecture Virtual Memory: From Address Translation to Demand Paging Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology November 12, 2014

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:

More information

Column Stores vs. Row Stores How Different Are They Really?

Column Stores vs. Row Stores How Different Are They Really? Column Stores vs. Row Stores How Different Are They Really? Daniel J. Abadi (Yale) Samuel R. Madden (MIT) Nabil Hachem (AvantGarde) Presented By : Kanika Nagpal OUTLINE Introduction Motivation Background

More information

Developing MapReduce Programs

Developing MapReduce Programs Cloud Computing Developing MapReduce Programs Dell Zhang Birkbeck, University of London 2017/18 MapReduce Algorithm Design MapReduce: Recap Programmers must specify two functions: map (k, v) * Takes

More information

DIY Hosting for Online Privacy

DIY Hosting for Online Privacy DIY Hosting for Online Privacy Shoumik Palkar and Matei Zaharia Stanford University Appeared at HotNets 2017 Before: A Federated Internet The Internet and its protocols were designed to be federated Organizations

More information

Physical Level of Databases: B+-Trees

Physical Level of Databases: B+-Trees Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,

More information

DIY Hosting for Online Privacy. Shoumik Palkar and Matei Zaharia Stanford University

DIY Hosting for Online Privacy. Shoumik Palkar and Matei Zaharia Stanford University DIY Hosting for Online Privacy Shoumik Palkar and Matei Zaharia Stanford University Before: A Federated Internet The Internet and its protocols were designed to be federated Organizations would host own

More information

Design space exploration and optimization of path oblivious RAM in secure processors

Design space exploration and optimization of path oblivious RAM in secure processors Design space exploration and optimization of path oblivious RAM in secure processors The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters.

More information

Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors

Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors Ling Ren, Xiangyao Yu, Christopher W. Fletcher, Marten van Dijk and Srinivas Devadas MIT CSAIL, Cambridge, MA, USA {renling,

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

PS2 out today. Lab 2 out today. Lab 1 due today - how was it?

PS2 out today. Lab 2 out today. Lab 1 due today - how was it? 6.830 Lecture 7 9/25/2017 PS2 out today. Lab 2 out today. Lab 1 due today - how was it? Project Teams Due Wednesday Those of you who don't have groups -- send us email, or hand in a sheet with just your

More information

CS307 Operating Systems Main Memory

CS307 Operating Systems Main Memory CS307 Main Memory Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 Background Program must be brought (from disk) into memory and placed within a process

More information

Memory Defenses. The Elevation from Obscurity to Headlines. Rajeev Balasubramonian School of Computing, University of Utah

Memory Defenses. The Elevation from Obscurity to Headlines. Rajeev Balasubramonian School of Computing, University of Utah Memory Defenses The Elevation from Obscurity to Headlines Rajeev Balasubramonian School of Computing, University of Utah Image sources: pinterest, gizmodo 2 Spectre Overview Victim Code x is controlled

More information

Information Retrieval and Organisation

Information Retrieval and Organisation Information Retrieval and Organisation Dell Zhang Birkbeck, University of London 2015/16 IR Chapter 04 Index Construction Hardware In this chapter we will look at how to construct an inverted index Many

More information

File System Internals. Jo, Heeseung

File System Internals. Jo, Heeseung File System Internals Jo, Heeseung Today's Topics File system implementation File descriptor table, File table Virtual file system File system design issues Directory implementation: filename -> metadata

More information

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c White Paper Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c What You Will Learn This document demonstrates the benefits

More information

TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption

TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption Sanjam Garg 1, Payman Mohassel 2, and Charalampos Papamanthou 3 1 University of California, Berkeley 2 Yahoo! Labs

More information

Chapter 7: Main Memory. Operating System Concepts Essentials 8 th Edition

Chapter 7: Main Memory. Operating System Concepts Essentials 8 th Edition Chapter 7: Main Memory Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 7: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure

More information

ECE 598 Advanced Operating Systems Lecture 22

ECE 598 Advanced Operating Systems Lecture 22 ECE 598 Advanced Operating Systems Lecture 22 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 19 April 2016 Announcements Project update HW#9 posted, a bit late Midterm next Thursday

More information

Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes

Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes Ke Yi HKUST 1-1 First Annual SIGMOD Programming Contest (to be held at SIGMOD 2009) Student teams from degree granting

More information

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

Chapter 8: Memory- Management Strategies

Chapter 8: Memory- Management Strategies Chapter 8: Memory Management Strategies Chapter 8: Memory- Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

Indexing and Search with

Indexing and Search with Indexing and Search with Lucene @Greplin About Greplin + More! The Nature of our Service Volume of insertions >>> Volume of searches Peak insertion rate has peaked to 5k documents / second Fully loaded

More information

Bigtable. A Distributed Storage System for Structured Data. Presenter: Yunming Zhang Conglong Li. Saturday, September 21, 13

Bigtable. A Distributed Storage System for Structured Data. Presenter: Yunming Zhang Conglong Li. Saturday, September 21, 13 Bigtable A Distributed Storage System for Structured Data Presenter: Yunming Zhang Conglong Li References SOCC 2010 Key Note Slides Jeff Dean Google Introduction to Distributed Computing, Winter 2008 University

More information

Background: disk access vs. main memory access (1/2)

Background: disk access vs. main memory access (1/2) 4.4 B-trees Disk access vs. main memory access: background B-tree concept Node structure Structural properties Insertion operation Deletion operation Running time 66 Background: disk access vs. main memory

More information

Computer Systems Laboratory Sungkyunkwan University

Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

ECE 598 Advanced Operating Systems Lecture 10

ECE 598 Advanced Operating Systems Lecture 10 ECE 598 Advanced Operating Systems Lecture 10 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 17 February 2015 Announcements Homework #1 and #2 grades, HW#3 Coming soon 1 Various

More information

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

Chapter 14: File-System Implementation

Chapter 14: File-System Implementation Chapter 14: File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery 14.1 Silberschatz, Galvin and Gagne 2013 Objectives To describe

More information

DRS: Advanced Concepts, Best Practices and Future Directions

DRS: Advanced Concepts, Best Practices and Future Directions INF-VSP2825 DRS: Advanced Concepts, Best Practices and Future Directions Aashish Parikh, VMware, Inc. Ajay Gulati, VMware, Inc. #vmworldinf Disclaimer This session may contain product features that are

More information

The Right Read Optimization is Actually Write Optimization. Leif Walsh

The Right Read Optimization is Actually Write Optimization. Leif Walsh The Right Read Optimization is Actually Write Optimization Leif Walsh leif@tokutek.com The Right Read Optimization is Write Optimization Situation: I have some data. I want to learn things about the world,

More information

CS 245: Database System Principles

CS 245: Database System Principles CS 2: Database System Principles Notes 4: Indexing Chapter 4 Indexing & Hashing value record value Hector Garcia-Molina CS 2 Notes 4 1 CS 2 Notes 4 2 Topics Conventional indexes B-trees Hashing schemes

More information

TFS: A Transparent File System for Contributory Storage

TFS: A Transparent File System for Contributory Storage TFS: A Transparent File System for Contributory Storage James Cipar, Mark Corner, Emery Berger http://prisms.cs.umass.edu/tcsm University of Massachusetts, Amherst Contributory Applications Users contribute

More information

Disk Scheduling COMPSCI 386

Disk Scheduling COMPSCI 386 Disk Scheduling COMPSCI 386 Topics Disk Structure (9.1 9.2) Disk Scheduling (9.4) Allocation Methods (11.4) Free Space Management (11.5) Hard Disk Platter diameter ranges from 1.8 to 3.5 inches. Both sides

More information

M 2 R: Enabling Stronger Privacy in MapReduce Computa;on

M 2 R: Enabling Stronger Privacy in MapReduce Computa;on M 2 R: Enabling Stronger Privacy in MapReduce Computa;on Anh Dinh, Prateek Saxena, Ee- Chien Chang, Beng Chin Ooi, Chunwang Zhang School of Compu,ng Na,onal University of Singapore 1. Mo;va;on Distributed

More information

Systems Architecture II

Systems Architecture II Systems Architecture II Topics Interfacing I/O Devices to Memory, Processor, and Operating System * Memory-mapped IO and Interrupts in SPIM** *This lecture was derived from material in the text (Chapter

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff and Shun Tak Leung Google* Shivesh Kumar Sharma fl4164@wayne.edu Fall 2015 004395771 Overview Google file system is a scalable distributed file system

More information

Efficient Oblivious Data Structures for Database Services on the Cloud

Efficient Oblivious Data Structures for Database Services on the Cloud Efficient Oblivious Data Structures for Database Services on the Cloud Thang Hoang Ceyhun D. Ozkaptan Gabriel Hackebeil Attila A. Yavuz Abstract Database-as-a-service (DBaaS) allows the client to store

More information

INDEX CONSTRUCTION 1

INDEX CONSTRUCTION 1 1 INDEX CONSTRUCTION PLAN Last lecture: Dictionary data structures Tolerant retrieval Wildcards Spell correction Soundex a-hu hy-m n-z $m mace madden This time: mo among amortize Index construction on

More information

Operating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein

Operating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein Operating Systems and Computer Networks Memory Management pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda 1 Swapping 2 Segmentation Algorithms 3 Memory Allocation 4 Virtual

More information

RACS: Extended Version in Java Gary Zibrat gdz4

RACS: Extended Version in Java Gary Zibrat gdz4 RACS: Extended Version in Java Gary Zibrat gdz4 Abstract Cloud storage is becoming increasingly popular and cheap. It is convenient for companies to simply store their data online so that they don t have

More information

Background. Contiguous Memory Allocation

Background. Contiguous Memory Allocation Operating System Lecture 8 2017.5.9 Chapter 8 (Main Memory) Background Swapping Contiguous Memory Allocation Segmentation - Paging Memory Management Selection of a memory-management method for a specific

More information

Motivation. Operating Systems. File Systems. Outline. Files: The User s Point of View. File System Concepts. Solution? Files!

Motivation. Operating Systems. File Systems. Outline. Files: The User s Point of View. File System Concepts. Solution? Files! Motivation Operating Systems Process store, retrieve information Process capacity restricted to vmem size When process terminates, memory lost Multiple processes share information Systems (Ch 0.-0.4, Ch.-.5)

More information

Module 6: INPUT - OUTPUT (I/O)

Module 6: INPUT - OUTPUT (I/O) Module 6: INPUT - OUTPUT (I/O) Introduction Computers communicate with the outside world via I/O devices Input devices supply computers with data to operate on E.g: Keyboard, Mouse, Voice recognition hardware,

More information

This Unit: Main Memory. Building a Memory System. First Memory System Design. An Example Memory System

This Unit: Main Memory. Building a Memory System. First Memory System Design. An Example Memory System This Unit: Main Memory Building a Memory System Application OS Compiler Firmware CPU I/O Memory Digital Circuits Gates & Transistors Memory hierarchy review DRAM technology A few more transistors Organization:

More information

Virtual Memory. Chapter 8

Virtual Memory. Chapter 8 Virtual Memory 1 Chapter 8 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory

More information

CS162 - Operating Systems and Systems Programming. Address Translation => Paging"

CS162 - Operating Systems and Systems Programming. Address Translation => Paging CS162 - Operating Systems and Systems Programming Address Translation => Paging" David E. Culler! http://cs162.eecs.berkeley.edu/! Lecture #15! Oct 3, 2014!! Reading: A&D 8.1-2, 8.3.1. 9.7 HW 3 out (due

More information

SQL on Structurally-Encrypted Databases

SQL on Structurally-Encrypted Databases SQL on Structurally-Encrypted Databases Seny Kamara Tarik Moataz Q: What is a relational database? 2 Relational DB Table or relation Column or attribute Att 1 Att 2 Att 3 Att 4 Att5 Att 6 Att 7 DB = Row

More information

CS307: Operating Systems

CS307: Operating Systems CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8)

CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) Important from last time We re trying to build efficient virtual address spaces Why?? Virtual / physical translation is done by HW and

More information

Outline. Database Tuning. Join Strategies Running Example. Outline. Index Tuning. Nikolaus Augsten. Unit 6 WS 2014/2015

Outline. Database Tuning. Join Strategies Running Example. Outline. Index Tuning. Nikolaus Augsten. Unit 6 WS 2014/2015 Outline Database Tuning Nikolaus Augsten University of Salzburg Department of Computer Science Database Group 1 Examples Unit 6 WS 2014/2015 Adapted from Database Tuning by Dennis Shasha and Philippe Bonnet.

More information

CS 525: Advanced Database Organization 04: Indexing

CS 525: Advanced Database Organization 04: Indexing CS 5: Advanced Database Organization 04: Indexing Boris Glavic Part 04 Indexing & Hashing value record? value Slides: adapted from a course taught by Hector Garcia-Molina, Stanford InfoLab CS 5 Notes 4

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

External Sorting Implementing Relational Operators

External Sorting Implementing Relational Operators External Sorting Implementing Relational Operators 1 Readings [RG] Ch. 13 (sorting) 2 Where we are Working our way up from hardware Disks File abstraction that supports insert/delete/scan Indexing for

More information

Camdoop Exploiting In-network Aggregation for Big Data Applications Paolo Costa

Camdoop Exploiting In-network Aggregation for Big Data Applications Paolo Costa Camdoop Exploiting In-network Aggregation for Big Data Applications costa@imperial.ac.uk joint work with Austin Donnelly, Antony Rowstron, and Greg O Shea (MSR Cambridge) MapReduce Overview Input file

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L17 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Was Great Dijkstra a magician?

More information

Order-Revealing Encryption:

Order-Revealing Encryption: Order-Revealing Encryption: New Constructions, Applications and Lower Bounds Kevin Lewi and David J. Wu Stanford University Searching on Encrypted Data Searching on Encrypted Data Searching on Encrypted

More information

CLOUD-SCALE FILE SYSTEMS

CLOUD-SCALE FILE SYSTEMS Data Management in the Cloud CLOUD-SCALE FILE SYSTEMS 92 Google File System (GFS) Designing a file system for the Cloud design assumptions design choices Architecture GFS Master GFS Chunkservers GFS Clients

More information

Memory Management. Dr. Yingwu Zhu

Memory Management. Dr. Yingwu Zhu Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is infinite Allocation of memory

More information

Memory Management Algorithms on Distributed Systems. Katie Becker and David Rodgers CS425 April 15, 2005

Memory Management Algorithms on Distributed Systems. Katie Becker and David Rodgers CS425 April 15, 2005 Memory Management Algorithms on Distributed Systems Katie Becker and David Rodgers CS425 April 15, 2005 Table of Contents 1. Introduction 2. Coarse Grained Memory 2.1. Bottlenecks 2.2. Simulations 2.3.

More information