Alvaro Llanos. Motivation Reduce delay of the wide-are-network Better end-user experience Improve bandwidth use ? (deciding when to flush the cash)

Slides:



Advertisements
Similar presentations
Lecture for Lab 3, Exp1 of EE505 (Developing Device Driver) T.A. Chulmin Kim CoreLab. Mar, 11, 2011 [XenSchedulerPaper_Hotcloud-commits] r21 - /
Advertisements

361 Computer Architecture Lecture 15: Cache Memory
Introduction to Database Systems1 Buffer Management Storage Technology: Topic 2.
Tutorial 8 March 9, 2012 TA: Europa Shang
Multi-core systems System Architecture COMP25212 Daniel Goodman Advanced Processor Technologies Group.
ECE 454 Computer Systems Programming Parallel Architectures and Performance Implications (II) Ding Yuan ECE Dept., University of Toronto
Section 3. True/False Changing the order of semaphores’ operations in a program does not matter. False.
Implementing A Simple Storage Case Consider a simple case for distributed storage – I want to back up files from machine A on machine B Avoids many tricky.
CSCI 3140 Module 8 – Database Recovery Theodore Chiasson Dalhousie University.
Exercises for Chapter 17: Distributed Transactions
Distributed Locking. Distributed Locking (No Replication) Assumptions Lock tables are managed by individual sites. The component of a transaction at a.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Scheduler Activations Effective Kernel Support for the User-Level Management of Parallelism.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy (Part II)
CS140 Review Session Project 4 – File Systems Varun Arora Based on Vincenzo Di Nicola’s slide 7/16/2015cs140 Review Session1.
1 Shared-memory Architectures Adapted from a lecture by Ian Watson, University of Machester.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Distributed File Systems
1. Big Data A broad term for data sets so large or complex that traditional data processing applications ae inadequate. 2.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
1 IRU Concurrency, Reliability and Integrity issues Geoff Leese October 2007 updated August 2008, October 2009.
How to Build a CPU Cache COMP25212 – Lecture 2. Learning Objectives To understand: –how cache is logically structured –how cache operates CPU reads CPU.
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors THOMAS E. ANDERSON Presented by Daesung Park.
10/18: Lecture topics Memory Hierarchy –Why it works: Locality –Levels in the hierarchy Cache access –Mapping strategies Cache performance Replacement.
ARCHSTONE MX-TCE Development Update The ARCHSTONE Project Meeting January 28 th, 2011.
Computer Architecture Lecture 26 Fasih ur Rehman.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples.
OS2014 PROJECT 2 Supplemental Information. Outline Sequence Diagram of Project 2 Kernel Modules Kernel Sockets Work Queues Synchronization.
Digital UNIX Internals II4 - 1Buffer Caches Chapter Four.
FTP Server API Implementing the FTP Server Registering FTP Command Callbacks Data and Control Port Close Callbacks Other Server Calls.
Caches Where is a block placed in a cache? –Three possible answers  three different types AnywhereFully associativeOnly into one block Direct mappedInto.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Demand Paging.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 March 20, 2008 Session 9.
Project 4. “File System Implementation”
Consider the Java code snippet below. Is it a legal use of Java synchronization? What happens if two threads A and B call get() on an object supporting.
Energy Efficient Prefetching and Caching Athanasios E. Papathanasiou and Michael L. Scott. University of Rochester Proceedings of 2004 USENIX Annual Technical.
Queue Manager and Scheduler on Intel IXP John DeHart Amy Freestone Fred Kuhns Sailesh Kumar.
Intro to DFS assignment. Announcements DFS (PA4) Part 1 will be out over the weekend Part 1 Due 10/30 11:59 pm Part 2 12/7 11:59 pm Part 3 12/14 11:59.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 7 – Buffer Management.
Transactional Recovery and Checkpoints. Difference How is this different from schedule recovery? It is the details to implementing schedule recovery –It.
FTP Client API FTP in embedded devices Implementing an FTP Client FTP Command APIs Other FTP Client APIs.
Implementing Remote Procedure Call Landon Cox February 12, 2016.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
CS422 Principles of Database Systems Buffer Management Chengyu Sun California State University, Los Angeles.
Project 4. “File System Implementation”
Transactions and Reliability
Computational Models Database Lab Minji Jo.
Multilevel Memories (Improving performance using alittle “cash”)
Implementation CAN Communication Engine
CS 4284 Systems Capstone Disks & File Systems Godmar Back.
Asynchronous Programming
CDA 5155 Caches.
A Simulator to Study Virtual Memory Manager Behavior
Morgan Kaufmann Publishers Memory Hierarchy: Cache Basics
CSE 451 Autumn 2003 Section 3 October 16.
TA: Donghyun (David) Kim
CS 3410, Spring 2014 Computer Science Cornell University
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Update : about 8~16% are writes
EE 155 / COMP 122: Parallel Computing
10/18: Lecture Topics Using spatial locality
CSE190D: Topics in Database System Implementation
CS533 Concepts of Operating Systems Class 4
Presentation transcript:

Alvaro Llanos

Motivation Reduce delay of the wide-are-network Better end-user experience Improve bandwidth use ? (deciding when to flush the cash)

Design

Implementation Libasync For handling write/read requests Using sockets to implement Libasync running on a different thread Simple cash 2 Maps, meta and data buckets LRU replacement policy, (partial)

Cache METAMETA DATADATA LRU Module S3 Char* key Void* value Bool dirty Cache Entry detail LibAsync Requests Cache Detail

Is object in the Cache? Is it a Read? Send Request of Read and WAIT response Send Update Request and RETURN Return object Retrieve object from Cache Requests No Yes No Flow of Requests

Key points Libasync Used to queue the requests Perform the s3 ops Flush to S3 Is done after sending an answer to the user Could be done following some policy with the proper recovery and lock implementation Cash (partial implementation) Simple cash, key=s3Key, value=data + flags Recovery Not implemented

Improvements to be made No failure support Ones it is written in the cash, it is assume it will be uploaded correctly. Improve thread-safety Improve data structures, flags and controls