MSN 2004 Network Memory Servers: An idea whose time has come Glenford Mapp David Silcott Dhawal Thakker.

Slides:



Advertisements
Similar presentations
Computer-System Structures Er.Harsimran Singh
Advertisements

COMP375 Computer Architecture and Organization Senior Review.
Operating System.
Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
Distributed Storage March 12, Distributed Storage What is Distributed Storage?  Simple answer: Storage that can be shared throughout a network.
CSIE30300 Computer Architecture Unit 10: Virtual Memory Hsin-Chou Chi [Adapted from material by and
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
Modified from Silberschatz, Galvin and Gagne Lecture 16 Chapter 8: Main Memory.
File System Implementation
Multiprocessing Memory Management
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Chapter 3.2 : Virtual Memory
OS Spring’03 Introduction Operating Systems Spring 2003.
Computer Organization Cs 147 Prof. Lee Azita Keshmiri.
Virtual Memory and Paging J. Nelson Amaral. Large Data Sets Size of address space: – 32-bit machines: 2 32 = 4 GB – 64-bit machines: 2 64 = a huge number.
Overview: Memory Memory Organization: General Issues (Hardware) –Objectives in Memory Design –Memory Types –Memory Hierarchies Memory Management (Software.
1 I/O Management in Representative Operating Systems.
University of Pennsylvania 11/21/00CSE 3801 Distributed File Systems CSE 380 Lecture Note 14 Insup Lee.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed File Systems Steve Ko Computer Sciences and Engineering University at Buffalo.
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
Disk Access. DISK STRUCTURE Sector: Smallest unit of data transfer from/to disk; 512B 2/4/8 adjacent sectors transferred together: Blocks Read/write heads.
CMPE 421 Parallel Computer Architecture
CS 162 Section Lecture 8. What happens when you issue a read() or write() request?
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
1 Chapter 3.2 : Virtual Memory What is virtual memory? What is virtual memory? Virtual memory management schemes Virtual memory management schemes Paging.
July 30, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 8: Exploiting Memory Hierarchy: Virtual Memory * Jeremy R. Johnson Monday.
OSes: 11. FS Impl. 1 Operating Systems v Objectives –discuss file storage and access on secondary storage (a hard disk) Certificate Program in Software.
Virtual Memory Review Goal: give illusion of a large memory Allow many processes to share single memory Strategy Break physical memory up into blocks (pages)
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
8.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Paging Physical address space of a process can be noncontiguous Avoids.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
OS, , Part I Operating - System Structures Department of Computer Engineering, PSUWannarat Suntiamorntut.
Jinyong Yoon,  Andrew File System  The Prototype  Changes for Performance  Effect of Changes for Performance  Comparison with A Remote-Open.
1 Some Real Problem  What if a program needs more memory than the machine has? —even if individual programs fit in memory, how can we run multiple programs?
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
Main Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
1 MSRBot Web Crawler Dennis Fetterly Microsoft Research Silicon Valley Lab © Microsoft Corporation.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
Virtual Memory.  Next in memory hierarchy  Motivations:  to remove programming burdens of a small, limited amount of main memory  to allow efficient.
1 Virtual Memory. Cache memory: provides illusion of very high speed Virtual memory: provides illusion of very large size Main memory: reasonable cost,
CHAPTER 3-3: PAGE MAPPING MEMORY MANAGEMENT. VIRTUAL MEMORY Key Idea Disassociate addresses referenced in a running process from addresses available in.
LECTURE 12 Virtual Memory. VIRTUAL MEMORY Just as a cache can provide fast, easy access to recently-used code and data, main memory acts as a “cache”
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
OPERATING SYSTEMS STRUCTURES Jerry Breecher 2: Operating System Structures 1.
Disk Cache Main memory buffer contains most recently accessed disk sectors Cache is organized by blocks, block size = sector’s A hash table is used to.
File-System Management
Memory Management Virtual Memory.
Memory Management.
Jonathan Walpole Computer Science Portland State University
Memory COMPUTER ARCHITECTURE
Chapter 11: File System Implementation
Lecture 12 Virtual Memory.
Operating System Structure
Overview Continuation from Monday (File system implementation)
Distributed File Systems
Distributed File Systems
Chapter 2: Operating-System Structures
Distributed File Systems
CSE451 Virtual Memory Paging Autumn 2002
Lecture 3: Main Memory.
OPERATING SYSTEMS STRUCTURES
Distributed File Systems
Chapter 2: Operating-System Structures
COMP755 Advanced Operating Systems
Distributed File Systems
Presentation transcript:

MSN 2004 Network Memory Servers: An idea whose time has come Glenford Mapp David Silcott Dhawal Thakker

MSN 2004 Motivation Networks are now much faster than disks Should be quicker to get data from the memory of another computer compared to using local disk Not a new idea - so what’s different?

MSN 2004 What’s different? Networks are faster and cheaper –Gigabit NICs are £35.00 –We could also see 10G NICs in the near future Memory is also cheaper –1GB = £ –Likely to remain stable Availability of good “free” Oses –Linux and Free BSD

MSN 2004 Our approach is also different Previous approaches –Dominated by the Distributed Shared Memory crowd (Apollo System) –DSM never became mainstream lots of fundamental changes to OS platform required Exotic Hardware (e.g Scalable Coherent Interconnect or SCI) Network Memory became a casualty of this failure

MSN 2004 Previous Approach cont’d Remote paging was also one of the key areas (SAMSON project, NYU) Idle machines approach –Use memory of other machines in the network when no one is logged on but get off when the person returns –Very complex - how do you give guarantees to everyone

MSN 2004 Our Approach Applied Engineering Approach –what are the real numbers in this area Use the power of the Network –use standard networking approach –No DSM, no virtual memory plug-ins Client-Server approach –Dedicated servers with loads of memory

MSN 2004 Design of the Network Memory Server (NMS) NMS has an independent interface –Can interface with any OS not like Network Block Device (NBD) in Linux NMS is stateless –Does not keep track of previous interactions Actions of the NMS are regarded as atomic –Either complete success or total failure

MSN 2004 Design of NMS cont’d NMS deals with blocks of data –Has no idea how the blocks are being used Not like NFS Each block is uniquely identified by a block_id allocated by the NMS Each client is uniquely identified by a client_id

MSN 2004 Block_ids 64-bit entities –32 minor index –16 major index –16 bit security tag generated when the blocks are created checked before any read/write operation on a block

MSN 2004 NMS calls GetblockMemory(client_id, size, nblocks, options) –Creates a number of blocks of a certain size with consecutive block_ids returns the starting Block_id options - backup Release(client_id, block_id, nblocks) –Releases a number of consecutive block_ids

MSN 2004 NMS calls cont’d WriteBlockMemory(client_id, block_id, offset, length, *buf) –writes data in buffer to a block on the server ReadBlockMemory(client_id, block_id, offset, length, *buf) –reads data from a block on the server into a buffer

MSN 2004 NMS calls cont’d GetClientid(password) –creates a new client GetMasterBlock(password, client_id) –returns a number of blocks of sector/block_id mappings StoreMasterBlock(block_id, client_id, password, nblocks) –stores a number of sector/block_id mappings

MSN 2004 NMS Client How does a client use the NMS? –What interface is presented to the OS Interface is one that is used to support hard disks. In Linux, we use the block device interface So the OS thinks of the NMS service as a fast hard disk

MSN 2004 NMS Client cont’d So the OS tells the NMS client to read and write sectors. NMS client will take sectors and map them onto blocks which it gets from the NMS When block device is unmounted, we must store the sector/block_id mappings on the NMS

MSN 2004 NMS Cont’d The StoreMasterBlock call stores these mappings on the NMS When the device is remounted, it must first get the sector/block_id mappings from the NMS and rebuild the sector table. The GetMasterBlock call retrieves the mappings from the NMS

MSN 2004 NMS Client Cache Client also has a cache of blocks that are used to store recently used sectors – this is a secondary cache as the main caching is really done by the Unix Buffer Cache Design decision to keep our cache as a simple round-robin cache - –replace the next item pointed to in the cache

MSN 2004 NMS Client Operations Since we are not a normal disk, we do not need to rearrange read and write operations So we attempt to read and write blocks as the requests come in. Also developed a write-out thread operation. So a special thread, called the Write-out thread writes modified blocks to the NMS

MSN 2004 NMS Client Implementation Operating System Block Device Interface Sector / Block_id Hash Table Cache Programs Unix Buffer Cache Write-Out Queue (Two levels) NMS Block Device

MSN 2004 Getting a sector Is sector in Hash table Yes Is it in the cache Is it a read Yes Return Rubbish Get Block_id From NMS. Put Entry in Hash Table Is it a read Get Data from NMS Server; put in cache entry Is the cache full Replace Entry Has replaced entry been modified Put it on Write Out Queue Get New Cache Entry Read from/ Write to Cache Entry OK Write Data to Cache Entry Yes No Yes No Yes No

MSN 2004 Structures on NMS Server Client_id Hash Table Block_id Hash Table (Two-level) Allocated Memory Memory for Clients Memory for Internal Use by the NMS

MSN 2004 Testing and Evaluation What do we really want to know What does it take to operate faster than a hard disk? –Can you use standard hardware (Middlesex) –Do you need special hardware (Cambridge) Level 5 Networks What are the key parameters in this space

MSN 2004 What do you measure What happens if we change the block size of the data transfer What happens if we change the number of units transferred in one transfer –Added multi-write operation Is local caching any good What is the network traffic like

MSN 2004 Using Iozone Iozone is quite popular –Measures the memory hierarchy Disk particulars –60 GB, 2MB buffer, 7200 RPM, Seek Time 9.0 ms, Average latency 4.16ms Network - – using Intel E1000 NICs and Netgear Gigabit Switch (GS 104); using UDP port 6111 NMS client and server implemented as Linux kernel modules

MSN 2004

Conclusions and Future We can beat the disk Will compare these results with those using Level 5 hardware (Rip Sohan, LCE) Open source release planned Developing a Network Storage Server Building prototypes –running Linux and Windows using NMS