Making Searchable Encryption Scale to the Cloud. Ian Miers and Payman Mohassel
|
|
- Shonda Jefferson
- 5 years ago
- Views:
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 1 Desiderata for Searchable Encryption Security No leakage about the query or the results Functionality Variety of queries that are supported Performance 2
More informationMain 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 informationUsable 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 informationProtecting 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 informationDesign 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 informationLectures 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 informationVERIFIABLE 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 informationA 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 informationSecure 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 informationLocality 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 informationCSC 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 informationPrivacy-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 informationLearning 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 informationCSE 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 informationL9: 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 informationComputer 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 informationData 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 informationCS 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 informationAdvanced 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 informationB+ 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 informationPurity: 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 informationCSE 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 informationNext-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 informationLearning 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 informationEfficient 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 informationChapter 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 informationCHAPTER 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 informationPharmacy 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 informationCHAPTER 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 informationCS3600 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 informationBigtable: 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 informationChapter 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 informationfrom 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 informationOperating 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 informationCS 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 informationSearchable 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 informationChapter 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 informationMain 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 informationVirtual 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 informationChapter 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 informationColumn 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 informationDeveloping 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 informationDIY 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 informationPhysical 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 informationDIY 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 informationDesign 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 informationDesign 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 informationChapter 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 informationPS2 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 informationCS307 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 informationMemory 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 informationInformation 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 informationFile 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 informationDeploy 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 informationTWORAM: 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 informationChapter 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 informationECE 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 informationDynamic 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 informationMemory 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 informationChapter 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 informationChapter 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 informationIndexing 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 informationBigtable. 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 informationBackground: 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 informationComputer 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 informationECE 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 informationFile 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 informationChapter 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 informationDRS: 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 informationThe 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 informationCS 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 informationTFS: 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 informationDisk 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 informationM 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 informationSystems 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 informationThe 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 informationEfficient 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 informationINDEX 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 informationOperating 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 informationRACS: 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 informationBackground. 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 informationMotivation. 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 informationModule 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 informationThis 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 informationVirtual 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 informationCS162 - 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 informationSQL 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 informationCS307: 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 informationPROCESS 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 informationCS5460: 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 informationOutline. 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 informationCS 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 informationChapter 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 informationExternal 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 informationCamdoop 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 informationCS370 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 informationOrder-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 informationCLOUD-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 informationMemory 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 informationMemory 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