STGT/iSER Target Overview

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Middleware Support for RDMA-based Data Transfer in Cloud Computing Yufei Ren, Tan Li, Dantong Yu, Shudong Jin, Thomas Robertazzi Department of Electrical.
Copyright © 2014 EMC Corporation. All Rights Reserved. Linux Host Installation and Integration for Block Upon completion of this module, you should be.
PNFS, 61 th IETF, DC1 pNFS: Requirements 61 th IETF – DC November 10, 2004.
Chap 2 System Structures.
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
File Management Systems
Develop Application with Open Fabrics Yufei Ren Tan Li.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
Comparative Operating Systems Understanding the Kernel Structure Prashant Thuppala.
1 I/O Management in Representative Operating Systems.
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
VSP Video Station Protocol Presented by : Mittelman Dana Ben-Hamo Revital Ariel Tal Instructor : Sela Guy Presented by : Mittelman Dana Ben-Hamo Revital.
7/15/2015B.RamamurthyPage 1 File System B. Ramamurthy.
Processes.
Storage Networking Technologies and Virtualization Section 2 DAS and Introduction to SCSI1.
New Direction Proposal: An OpenFabrics Framework for high-performance I/O apps OFA TAC, Key drivers: Sean Hefty, Paul Grun.
SRP Update Bart Van Assche,.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
TPT-RAID: A High Performance Multi-Box Storage System
Copyright DataDirect Networks - All Rights Reserved - Not reproducible without express written permission Adventures Installing Infiniband Storage Randy.
12/12/2008 Summers - SAiSCSI 1 Secure Asymmetric iSCSI For Online Storage Sarah A. Summers.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Design and Implementation of a Linux SCSI Target for Storage Area Networks Ashish A. PalekarAnshul Chaddha, Trebia Networks Narendran Ganapathy, 33 Nagog.
Slide 1 DESIGN, IMPLEMENTATION, AND PERFORMANCE ANALYSIS OF THE ISCSI PROTOCOL FOR SCSI OVER TCP/IP By Anshul Chadda (Trebia Networks)-Speaker Ashish Palekar.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
OFED 1.2 Lessons, 1.3 Planning and Field Support May 07 Tziporet Koren.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
2006 Sonoma Workshop February 2006Page 1 Sockets Direct Protocol (SDP) for Windows - Motivation and Plans Gilad Shainer Mellanox Technologies Inc.
ISER Update OpenIB Workshop, Feb 2006 Yaron Haviv, Voltaire John Hufferd, Brocade
Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device Shuang LiangRanjit NoronhaDhabaleswar K. Panda IEEE.
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
Linux Architecture Overview 1. Initialization Uboot – hardware init, loads kernel Kernel – remaining initialization, calls “init” Init – 1 st process,
1 Public DAFS Storage for High Performance Computing using MPI-I/O: Design and Experience Arkady Kanevsky & Peter Corbett Network Appliance Vijay Velusamy.
ISCSI Extensions for RDMA (iSER) draft-ko-iwarp-iser-02 Mike Ko IBM August 2, 2004.
AoE and HyperSCSI on Linux PDA Prepared by They Yu Shu.
MATSUMOTO Hitoshi SCSI support on Xen MATSUMOTO Hitoshi Fujitsu Ltd.
Mark E. Fuller Senior Principal Instructor Oracle University Oracle Corporation.
Daemons Ying Zhang CMSC691X, Summer02. Outline  Introduction  Init and Cron  System daemons  Print daemons and NFS daemons  Time synchronization.
iSER update 2014 OFA Developer Workshop Eyal Salomon
OpenFabrics Interface WG A brief introduction Paul Grun – co chair OFI WG Cray, Inc.
ISCSI. iSCSI Terms An iSCSI initiator is something that requests disk blocks, aka a client An iSCSI target is something that provides disk blocks, aka.
ISER on InfiniBand (and SCTP). Problem Statement Currently defined IB Storage I/O protocol –SRP (SCSI RDMA Protocol) –SRP does not have a discovery or.
Threads. Readings r Silberschatz et al : Chapter 4.
Linux Architecture Overview.
Datacenter Fabric Workshop NFS over RDMA Boris Shpolyansky Mellanox Technologies Inc.
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
July 14, KIMICS 2006 Kulveer Singh Graduate School of Design & IT Dongseo University Busan, South Korea Data Concurrency Issues in iSCSI Based-Data.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Stan Smith Intel SSG/DPD June, 2015 Kernel Fabric Interface Kfabric Framework.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
Chapter 3 Getting Started. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. Objectives To give an overview of the structure of a contemporary.
SC’13 BoF Discussion Sean Hefty Intel Corporation.
Tgt: Framework Target Drivers FUJITA Tomonori NTT Cyber Solutions Laboratories Mike Christie Red Hat, Inc Ottawa Linux.
SOCKET PROGRAMMING Presented By : Divya Sharma.
GridOS: Operating System Services for Grid Architectures
Direct Attached Storage and Introduction to SCSI
Direct Attached Storage and Introduction to SCSI
Enabling the NVMe™ CMB and PMR Ecosystem
An overview of the kernel structure
iSCSI-based Virtual Storage System for Mobile Devices
Lecture Topics: 11/1 General Operating System Concepts Processes
Chapter 2: Operating-System Structures
Linux Architecture Overview.
Application taxonomy & characterization
NVMe.
Chapter 2: Operating-System Structures
Presentation transcript:

STGT/iSER Target Overview Or Gerlitz Voltaire ogerlitz@voltaire.com

agenda some background general structure / architecture target drivers iSCSI target & iSCSI RDMA (iSER) transport SCSI devices using / configuring STGT some performance numbers STGT community

some background framework for SCSI protocol independent target open source STGT implemented / maintained by Fujita Tomonori & Mike Christie iSCSI RDMA (iSER) transport implemented by Ohio Supercomputer Center staff under the direction of Pete Wyckoff

general structure / architecture The architecture is made of three elements: 1st : the SCSI state machine, I/O execution and management interface which are: done in a SCSI protocol independent manner pushed to user space, executed by tgtd user space daemon 2nd : target drivers - network interface 3rd : SCSI devices - storage interface the Linux kernel was enhanced (2.6.20) to allow STGT use kernel target drivers

target drivers user space – iSCSI, FCoE kernel space – FC, IBMVIO target driver API to tgt core target create / destroy / update / show lu create / lun get notify on end of command / management

iSCSI target driver has iSCSI transport independent state-machine utilizes iSCSI transport “library” current transports: TCP and RDMA (iSER) iSCSI transport API to the iSCSI target driver uses “end-point” notation to describe a connection end-point read / write / rdma-read / rdma-write end-point (implicit accept) / close / release / show data buf alloc / free

iSCSI RDMA (iSER) transport implemented over libibverbs and librdmacm direct access to the RDMA HW device RDMA transport neutral*, adopted to the Linux initiator data transfer uses RC QP (Queue Pair) RDMA read (SCSI write), RDMA write (SCSI read) Send/Receive for the SCSI commands request / response, management (eg login, nops), iSCSI immediate data / unsolicited data-outs PDUs, etc

iSER transport – main design issues memory registration register memory in advance to avoid performance drop the target doesn’t advertise rdma keys hence a pool can be used for multiple clients event management adopt to a design that relies on socket readability / writeability (request notification, process completion)

SCSI devices SBC - block command processing OSD - object storage device command processing also SCC - controller command processing MMC - multimedia command processing SMC - Medium Changer command processing SCSI device API to stgt core lu init / config / exit device ops (eg TUR, INQ, SPACE, READ*, WRITE*, SEEK) below SCSI devices a “backing store” layer further exists some possible types: aio, mmap, sync file

STGT package (RPM) tgtd – service tgtd - daemon tgtadm – admin tool tgt-setup-lun – helper/simper admin tool (uses tgtadm) man pages to the admin tools

configuring STGT create a target add a logical unit to the target # tgt-setup-lun -d /dev/sdy -n seed1-sdy 192.168.10.81 one liner setup which translates to the following sequence with tgtadm create a target # tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2001…-seed1-sdy add a logical unit to the target # tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdy bind initiators to this target instance # tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.10.81

configuring STGT - cont’ # tgtadm --mode target --op show Target 1: iqn.2001-04.com.onion-seed1-sdy System information: Driver: iscsi Status: running LUN information: LUN: 0 Type: controller (this LUN is skipped here) LUN: 1 Type: disk SCSI ID: deadbeaf1:1 SCSI SN: beaf11 Size: 82G Online: Yes Poweron/Reset: Yes Backing store: /dev/sdy ACL information: 192.168.10.81

some performance numbers over ramdisk (single initiator, source Voltaire) BW: READ – 1200 MB/sec WRITE – 870 MB/sec IOPS (I/O per second): READ – 62K WRITE – 66K over ramdisk (source Pete Wyckoff et al) latency for some OSD ops: ping 33us, getattr – 65us single initiator BW : READ – 550 MB/sec WRITE – 500 MB/sec multiple initiators BW: both READ/WRITE reach 900 MB/sec few variations between READ / WRITE what message size gives the max BW (read 200KB, write 500KB) how many initiators needed to get the aggregated BW under specific message size: READ – 2 WRITE – 8

STGT / community community web site http://stgt.berlios.de has pointers to: git tree where tgt is maintained developers mailing list wiki @ open-fabrics https://wiki.openfabrics.org/tiki-index.php?page=ISER-target explain / example usage download packages for RH5 U1 and SLES10 SP1

references tgt: framework for storage target drivers Fujita Tomonori and Mike Christie. Ottawa Linux Symposium 2006 iSER Storage Target for Object-based Storage Devices Dennis Dalessandro, Ananth Devulapalli, Pete Wyckoff Proceedings of MSST'07, SNAPI Workshop, San Diego, CA, Sep 2007 source tree @ http://www.kernel.org/pub/scm/linux/kernel/git/tomo/tgt.git