Presented By: Ian Kelley

Similar documents
EXAM Core Solutions of Microsoft Lync Server Buy Full Product.

Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net

Internet2 Meeting September 2005

DevNet Technical Breakout: Introduction to ACI Programming and APIs.

Exam : Implementing Microsoft Azure Infrastructure Solutions

Vlad Vinogradsky

Outline. ASP 2012 Grid School

Protocol for Tetherless Computing

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Improved 3G Bridge scalability to support desktop grid executions

Enterprise print management in VMware Horizon

XtreemFS a case for object-based storage in Grid data management. Jan Stender, Zuse Institute Berlin

Efficient HTTP based I/O on very large datasets for high performance computing with the Libdavix library

an Object-Based File System for Large-Scale Federated IT Infrastructures

Grid Architectural Models

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

Grid monitoring with MonAlisa

CA464 Distributed Programming

Is BranchCache right for remote, serverless software distribution?

Virtualization for Desktop Grid Clients

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7

Identity Provider for SAP Single Sign-On and SAP Identity Management

Developing Microsoft Azure Solutions (70-532) Syllabus

for Multi-Services Gateways

Single Sign-On for PCF. User's Guide

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Today CSCI Coda. Naming: Volumes. Coda GFS PAST. Instructor: Abhishek Chandra. Main Goals: Volume is a subtree in the naming space

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

BitTorrent. Masood Khosroshahy. July Tech. Report. Copyright 2009 Masood Khosroshahy, All rights reserved.

Yves Goeleven. Solution Architect - Particular Software. Shipping software since Azure MVP since Co-founder & board member AZUG

PROCE55 Mobile: Web API App. Web API.

Active Directory trust relationships

Acceleration Systems Technical Overview. September 2014, v1.4

70-532: Developing Microsoft Azure Solutions

Important DevOps Technologies (3+2+3days) for Deployment

Configuring a Windows Server 2008 Applications Infrastructure

70-532: Developing Microsoft Azure Solutions

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0. Feature and Technical Overview

ReST 2000 Roy Fielding W3C

Distributed File Systems II

High Performance Computing Course Notes Grid Computing I

Technical Brief. A Checklist for Every API Call. Managing the Complete API Lifecycle

Example Azure Implementation for Government Agencies. Indirect tax-filing system. By Alok Jain Azure Customer Advisory Team (AzureCAT)

CONTENTS. Cisco Internet Streamer CDS 3.0 Software Configuration Guide iii OL CHAPTER 1 Product Overview 1-1

Media File Options. Deployment and Management of Voice Prompts

Distributed System. Gang Wu. Spring,2018

Deployment Guide AX Series with Oracle E-Business Suite 12

Develop Mobile Front Ends Using Mobile Application Framework A - 2

NGFW Security Management Center

Developing Microsoft Azure Solutions (70-532) Syllabus

Service Mesh and Microservices Networking

Servicing ACNS Devices and Origin Servers

Distributed Systems Principles and Paradigms

The Google File System

CMSC 332 Computer Networking Web and FTP

Course AZ-100T01-A: Manage Subscriptions and Resources

Manage Certificates. Certificates Overview

GFS-python: A Simplified GFS Implementation in Python

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

Setup Desktop Grids and Bridges. Tutorial. Robert Lovas, MTA SZTAKI

A Simple Mass Storage System for the SRB Data Grid

Web as a Distributed System

Architectures for distributed systems (Chapter 2)

WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution

CS 470 Spring Distributed Web and File Systems. Mike Lam, Professor. Content taken from the following:

StorageGRID Webscale NAS Bridge Management API Guide

Sharedien. Everything you need to know. Simply find it. sharedien.com. sharedien.com

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani

CA485 Ray Walshe Google File System

Chapter 4: Networking and the Internet. Network Classifications. Network topologies. Network topologies (continued) Connecting Networks.

BIG-IP Access Policy Manager : Implementations. Version 12.1

Distributed Filesystem

Oracle Payment Interface Token Proxy Service Security Guide Release 6.1 E November 2017

F-Secure Policy Manager Proxy Administrator's Guide

CSE 124: Networked Services Fall 2009 Lecture-19

StorageGRID Webscale 10.0

Port Usage Information for the IM and Presence Service

Alteryx Technical Overview

CS 470 Spring Distributed Web and File Systems. Mike Lam, Professor. Content taken from the following:

Alliance Key Manager A Solution Brief for Technical Implementers

Configuring Caching Services

Today. Architectural Styles

Cisco TelePresence Video Communication Server Basic Configuration (Control with Expressway)

MOC 6232A: Implementing a Microsoft SQL Server 2008 Database

BIG-IP Acceleration: Network Configuration. Version

SD-WAN Deployment Guide (CVD)

The Google File System

Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.

Datacenter replication solution with quasardb

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

FLAT DATACENTER STORAGE CHANDNI MODI (FN8692)

Yioop Full Historical Indexing In Cache Navigation. Akshat Kukreti

StorageGRID Webscale 11.0 Tenant Administrator Guide

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

BIG-IP Access Policy Manager : Portal Access. Version 12.1

Technical Note. Dell/EMC Solutions for Microsoft SQL Server 2005 Always On Technologies. Abstract

BraindumpsQA. IT Exam Study materials / Braindumps

Transcription:

Presented By: Ian Kelley! School of Computer Science Cardiff University, United Kingdom! E-mail: I.R.Kelley@cs.cardiff.ac.uk

URI HTTP HTTPS BOINC Scheduler Volunteer PC Computing resource Web Server project data Input local storage BOINC Client Application Project task Upload Handler

! Rosetta@Home! Size of a Work Unit: 3 MB! Processing Time of a Work Unit: 3h! Size of Initial Data: 17 MB! SETI@Home! Size of a Work Unit: 340 KB! Processing Time of a Work Unit: 2h! Size of Initial Data: 2.5 MB! Einstein@Home! Size of a Work Unit: 3.2 MB! Processing Time of a Work Unit: 5h! Size of Initial Data: 40 MB

! Fusion Physics Application! Institute for Biocomputation and Physics of Complex Systems! Execution time: ~30 minutes! Input files: ~10 MB! Material Science Applications! G.V. Kurdyumov Institute for Metal Physics! Execution time: ~30 min per scenario! Input files: 1 10 MB! Jobs: 10^3 10^4 per day! Signal-and Image Processing! Forschungszentrum Karlsruhe! Execution time: 4 days! Input files: ~20 GB

! Overall bandwidth requirements can be high, especially with replicated jobs! Project s need persistent data webserver, and potentially a N mirrors to balance load! For smaller groups servers might be hard to maintain or mirror! For Service Grids, data might be restricted and it would be useful to have a staging ground for DG data.! Network peak demand problem Ø Possible to construct a P2P system using clients and/or (potentially dynamic) set of project/partner servers to serve and cache input data

! General architecture requirements! Need to protect end-users and have opt-out system! compulsory open ports on all workers is not possible! Protect the project s data! may want limited caching on any given peer to limit exposure! need to ensure data integrity and potentially have authentication techniques for data cachers! Beneficial to support different network topologies (WAN, LAN)! These requirements discount many established P2P systems such as BitTorrent

! Data Caching layer! Data Caching peers exchange data amongst themselves and serve client machines! Authentication can be turned on between Data Cachers (Data Centers)

! Overview of Attic P2P architecture! History! Overview! Message types! Protocols! Security! Features! Scenario/Use-case outline! making data available to DG from Attic network

! Started as part of a UK EPSRC proposal in 2005! Focus on providing data distribution inside Desktop Grids, with target community being Einstein@home! Continued development under EU FP7 EDGeS (2008-2010) and EDGI (2011-2012) projects! Need to provide a way to support data distribution within Desktop Grids for load balancing! Additional focus on moving Service Grid data and jobs to Desktop Grids, and legacy application support Project Website: http://www.atticfs.org

Files CAN be split into individual chunks for distribution to data caching layer. Clients CAN download different parts of the file from multiple data centers. 10

Data cachers contact ascheduler to receive replication requests. They then download from one-another to propagate data on the network 11

Network participants distribute data Opt-in strategy Worker Data Lookup Data Center Work Generator Service WorkRequest WorkUnit Search Local DB for work Restricted publication of data URI scheme File swarming By simultaneously downloading different chunks from multiple DataCenters Extract DataCenter Locations List Select DataCenter from List For each DataQuery DataRequest DataUnit DataQuery DataPointer Search Local DB for requested DataUnit Search Local DB for suitable DataCenter list

Publisher XML message (over HTTP) Scheduler DataLookupServer DataCenter attic://voldemort.cs.cf.ac.uk:7000/data/<id> Periodically query for replication requests attic://voldemort.cs.cf.ac.uk:7000/data/<id> DC DC DC Register as replica; added to locations list

Publisher Any entity that publishes a file DataLookupServer Manages number of replicas for a new request and responding to cache requests Publisher XML message (over HTTP) Scheduler DataLookupServer DataCenter attic://voldemort.cs.cf.ac.uk:7000/data/<id> Periodically query for replication requests attic://voldemort.cs.cf.ac.uk:7000/data/<id> DC DC Scheduler Keeps track of managing number of replicas for a new request. Register as replica; added to locations list DC DataCenter Caches data on the network.

! DLS Data Lookup Service! receives requests to publish data! receives requests to cache data! does not store any data, only keeps mappings between endpoints and data! acts as a scheduler as well controls exposure of data according to constraints defined by the publisher! DP Data Publisher! publishes an advert to the DLS about data! typically the DP is also a seed endpoint (but not always)! DC Data Center! requests data references from the DLS! caches data from other endpoints! Worker! downloads data from DCs for processing.

! DataDescription contains metadata, e.g., name, description, project file data, e.g. size, MD5, and a list of chunks with byte ranges and MD5s! DataAdvert contains DataDescription Constraints, e.g., replication count Used when publishing data! DataQuery contains Constraints Used when Querying for data to cache/replicate! DataPointer contains DataDescription List of endpoints associated with the description Returned to a query for data The data structure pointed to by an attic:// URL

! https://voldemort.cs.cf.ac.uk:7048/dl/meta/pointer/dceae487- bb18-4dfd-9391-3a4b701b1fb7

! https://voldemort.cs.cf.ac.uk:7048/dl/meta/pointer/dceae487- bb18-4dfd-9391-3a4b701b1fb7

! https://voldemort.cs.cf.ac.uk:7048/dl/meta/pointer/dceae487- bb18-4dfd-9391-3a4b701b1fb7

! https://d220.cs.cf.ac.uk:7049/dp/meta/filehash/dceae487- bb18-4dfd-9391-3a4b701b1fb7 File Chunk info available from meta endpoint

! Once a Data Center has downloaded the data and notified the Data Lookup Service, it appears in the DataPointer.! i.e., it gets added to the replica list! The metadata endpoint is where clients can get meta info about data from a Data Center! Note: the seed does not provide a metadata endpoint! Therefore it becomes a fallback endpoint during downloading! As more DCs get the data, the seed becomes redundant

! Uses HTTP(S) for all exchanges! message and data! uses HTTP byte ranges to specify chunks! Message serialization! default serialization is JSON (JavaScript Object Notation)! also XML (e.g., for demo)! JSON is about 1/3 to 1/2 as verbose as XML! but still Unicode

! Why HTTP?! Attic is about data. HTTP is good at data.! allows nodes to take part transparently, for example a server without knowledge of Attic may be used as a fall-back during downloading. It exposes no metadata, but responds to byte range requests! easy integration with other systems, e.g., BOINC uses curl libs.! Allows use of common libraries to directly download data and/or build new clients/servers

! Authentication (optionally enabled) uses X.509 certificates with TLS! mutual! Authorization is done using the Distinguished Name (DN) in the peer s (e.g., DC) certificate! Identities based in DNs are mapped to actions, e.g., PUBLISH, CACHE! For example, a Worker may only need a certificate signed by a CA trusted by a DC to download from that DC! But a DC may need the above, as well as its DN mapped to the CACHE action on the DLS in order to cache data.

! Rebuilding data from multiple nodes with only partial data! before downloading, a metadata request is made to discover chunks at an endpoint! Endpoint selection based on! availability of metadata endpoint! RTT of metadata request before download! endpoint history! duplicate chunks at lower priority endpoints can be used in the event of errors! Chunk prioritization based on! sequentially (used for streaming)! endpoint status (fastest first)

! Web access (TLS mutual authentication)! Options include: n n n n Role(s) Disk space usage and download file type (single file & multiple files that are rebuilt) Connection settings n chunk size, number of connections overall/per download, memory footprint, security + (coming soon) n n database configuration up/down bandwidth settings

Publisher XML message (over HTTP) Scheduler DataLookupServer DataCenter attic://voldemort.cs.cf.ac.uk:7000/data/<id> Periodically query for replication requests attic://voldemort.cs.cf.ac.uk:7000/data/<id> DC DC DC Register as replica; added to DataPointer

DataCenter Scheduler DataLookupServer DC DC periodically query for replication requests DC returns a list of Data Pointers to cache Compiles list of download points makes byte range request to retrieve chunk from Data Center Verifies and reassembles file register as replica; get added to DataPointer

! Option 1: Use native Java Libraries! Option 2: Use curl-based CLI w/ Data Seed node! Used by the EDGI 3GBridge! needs no knowledge of Attic protocol! Just a single.sh script to register and send data! requires curl 7.x.x on the $PATH! main parameters local file to send seed HTTP endpoint n n n n certs/keys for mutual authentication others (project, expiry, replica, etc)! Outputs Attic URL e.g., attic://dls.org/1234

! Using Attic instead of HTTP in the download URL.! Reference Data Lookup Server for locating data centers that have input data.! Generate work units using attic:// URL instead of http://

! Attic libafs BOINC proxy client! Native-C BOINC project! Runs a local web server to intercept URL requests. i.e., http://localhost:port/<file-identifier>! Requires no additional (project) modification to the BOINC client code, and only minor modification to the server to inject work-unit endpoint and MD5s! Except subscription to the new project! Does not break anything or endanger BOINC, as there can be automatic fall-over to the next replica URL.! Can easily be adapted to intercept attic:// protocol requests (this would require changes to BOINC code)

http://www.atticfs.org/libafs BOINC Project Server Inject URL into WorkUnit list of download locations Publish file to Attic Attic URL Client Request input data from Attic LIBAFS Proxy (local) Proxy Return the data (as stream) to BOINC Client project 32

! Attic URL Stream Handler! Java component that handles URLs with an attic scheme.! takes an attic URL e.g., attic://dls.org/1234! returns a java.io.inputstream for reading the data.! Requires only that the application is:! written in Java :-) (hopefully we will have a C version by Dec)! registers the Attic URL handler.! Based on the configuration and data chunks, the stream handler will attempt to verify chunks before passing them to the application

Moving Forward! Currently deploying Attic within EDGI project as way to distribute Service Grid data! Each project partner (total: 10) is allocated to deploy a Data Center node! Files coming from Service Grid Users can be distributed to this Attic layer, giving DG clients a download endpoint. I m around tomorrow at the Hackfest to answer any questions, talk about enhancements, future, get Attic working+tested with BOINC, etc.