Investigating Serial Attached SCSI SAS over TCP t

  • Slides: 29
Download presentation
Investigating Serial Attached SCSI (SAS) over TCP (t. SAS) UCCS Master’s Project Deepti Reddy

Investigating Serial Attached SCSI (SAS) over TCP (t. SAS) UCCS Master’s Project Deepti Reddy 1

SCSI vs SAS SCSI (Small Computer System Interface) • • The SCSI protocol is

SCSI vs SAS SCSI (Small Computer System Interface) • • The SCSI protocol is an application layer storage protocol. It's a standard for connecting peripherals to your computer via a standard hardware interface, which uses standard SCSI commands. SAS (Serial Attached SCSI) • • • SAS is the successor of SCSI technology Initially introduced at 3 Gb/s in 2004 Currently, supports 6 Gb/s 12 Gbps by 2012 Significantly increased the available bandwidth offered by legacy SCSI storage systems. Use of expanders increases the scalability over legacy SCSI 2

SCSI vs SAS SCSI SAS Topology Parallel Bus Serial Bus Speed 3. 2 Gbps

SCSI vs SAS SCSI SAS Topology Parallel Bus Serial Bus Speed 3. 2 Gbps 3 Gbps, 6 Gbps, 12 Gbps Distance 1 to 12 meters 8 meters Number of Targets 14 devices 128 expanders. > 16, 000 with cascaded expanders Devices SCSI only SAS & SATA Connectivity Single Port Dual Port Drive Form Factor 3. 5” 2. 5” Cost Low Medium Comparing SCSI and SAS 3

i. SCSI protocol describes a means of transporting of the SCSI packets over TCP/IP

i. SCSI protocol describes a means of transporting of the SCSI packets over TCP/IP § The i. SCSI specification is revised and updated by the Internet Engineering task Force (IEFT). § Work by S. Aiken, D. Grunwald, A. Pleszkun and J. Willeke shows the performance of a commercial i. SCSI software implementation compared quite favorably with fibrechannel [7] i. SCSI protocol layering model 4

Typical SAS Topology SAS CONTROLLER (HOST BUS ADAPTER) Driver ~8 m X X X

Typical SAS Topology SAS CONTROLLER (HOST BUS ADAPTER) Driver ~8 m X X X - DISK DRIVES X - EXPANDERS 5

Motivation & Challenges § Overcome the distance and scalability limitations of traditional Serial Attached

Motivation & Challenges § Overcome the distance and scalability limitations of traditional Serial Attached SCSI (SAS) by using t. SAS. § Like i. SCSI, t. SAS takes advantage of existing internet infrastructure, internet management facilities as well as addresses distance limitations § Provide research results for future industry specification for t. SAS and i. SCSI. 6

t. SAS Topology t. SAS HBA t. SAS CONTROLLER/HBA SCSI Driver X - DISK

t. SAS Topology t. SAS HBA t. SAS CONTROLLER/HBA SCSI Driver X - DISK DRIVES X - EXPANDERS - TCP link - SAS link 7

t. SAS Topology t. SAS HBA t. SAS CONTROLLER/HBA SCSI Driver X - DISK

t. SAS Topology t. SAS HBA t. SAS CONTROLLER/HBA SCSI Driver X - DISK DRIVES X - EXPANDERS - TCP link - SAS link 8

Goals of the project § Investigate how t. SAS can be implemented § Design

Goals of the project § Investigate how t. SAS can be implemented § Design and develop a mock t. SAS application − Write a client program using C/C++ that sends a set of t. SAS commands to a server. − Write a server program using C/C++ that receives a set of t. SAS commands, processes them and responds to the client with t. SAS responses. § Evaluate the t. SAS solution and compare with a mock i. SCSI client/server application. 9

Software and Hardware solutions for t. SAS implementations § Software based t. SAS solution

Software and Hardware solutions for t. SAS implementations § Software based t. SAS solution − Cheaper than a hardware based solution − All t. SAS processing is done by the processor and TCP/IP operations are also executed by the CPU − NIC is merely an interface to the network § TCP offload engine solution − NICs with integrated TOEs have hardware built into the card that allows the TCP/IP processing to be done at the interface § Hardware based t. SAS solution − In a hardware-based t. SAS environment, the initiator and target machines contain a host bus adapter (HBA) that is responsible for both TCP/IP and t. SAS processing 10

t. SAS Approach § The t. SAS Request is initially sent by the t.

t. SAS Approach § The t. SAS Request is initially sent by the t. SAS Initiator to the t. SAS Target over TCP. § The t. SAS Target strips off the TCP header and sends the SAS frames using the SAS Initiator block on the t. SAS Target to the SAS expander/drive. § The SAS expander/drive sends SAS frames to the t. SAS Target. § Finally, the t. SAS Target embeds the SAS frames received from the expander/drive over TCP and sends it to the t. SAS Initiator. 11

t. SAS Message Format Ethernet IP Header TCP Header e. SAS Data Ethernet Trailer

t. SAS Message Format Ethernet IP Header TCP Header e. SAS Data Ethernet Trailer TCP Segment IP Datagram Ethernet Frame § The above shows how a legacy SAS header and data are embedded in an Ethernet frame. § i. SCSI uses the same approach where the i. SCSI header and 12 data are encapsulated in an Ethernet frame.

t. SAS Approach SAS Expander t. SAS Target t. SAS Initiator t. SAS Request

t. SAS Approach SAS Expander t. SAS Target t. SAS Initiator t. SAS Request Open Address Frame Open Accept SAS Request Frame Data Frame. . Data Frame t. SAS Response Data Frame. . Data Frame Response Frame § The above diagram shows a typical t. SAS (SSP Read ) Request & Response sequence diagram. § i. SCSI uses a similar approach where the back-end between the i. SCSI target and SCSI drives uses the legacy 13 SCSI protocol.

t. SAS Approach § Primitives − Primitives are special 8 b/10 b encoded characters

t. SAS Approach § Primitives − Primitives are special 8 b/10 b encoded characters that are used as frame delimiters, for out of band signaling, control sequencing in SAS − Most primitives can be conveniently ignored on the t. SAS side except a few such as Broadcast primitives − SAS primitive can be encapsulated in an Ethernet frame § Discovery − Discovery in t. SAS will be similar to SAS and will be accomplished by sending Serial management protocol (SMP) commands over TCP to the initiators and expanders downstream to learn the topology. 14

t. SAS Approach Client SMP Request SMP Initiator Port on Expander SMP Target Port

t. SAS Approach Client SMP Request SMP Initiator Port on Expander SMP Target Port on Target Expander Open Address Frame Open Accept SMP Request SMP Response Close SMP Response SMP Request & Response Sequence Diagram 15

Test benches used for performance calculations § t. SAS and i. SCSI Mock Application

Test benches used for performance calculations § t. SAS and i. SCSI Mock Application − The client application and server application run on two different Windows machines/servers connected using a Net. Gear Pro. Safe Gigabit Switch − Client makes Read/Write requests and the server processes and responds to requests made by the Client § Legacy SAS − A 6 Gbps Sas Host Bus Adapter in a PCIe slot of a Super Micro server − A 6 Gbps SAS target connected to the Host Bus Adapter − IOMeter in Windows and VDBench in RHEL used to generate Read/Write IOs and measure performance − A SAS analyzer placed between the HBA and the SAS Target § Legacy i. SCSI − Two windows machines/servers were used − On one machine the Star. Wind i. SCSi Initiator was used − On another machine, the Kern. Safe i. SCSi target software was used to create a i. SCSI target − IOMeter was used to send Read/Write requests from the i. SCSI Initiator to the i. SCSI Target and measure performance − Wireshark used to capture Network Traffic 16

t. SAS vs i. SCSI Mock Application at 10 Mbps t. SAS vs i.

t. SAS vs i. SCSI Mock Application at 10 Mbps t. SAS vs i. SCSI READ 10 Mbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 2500 2000 1500 t. SAS READ Completion time 1000 i. SCSI READ Completion Time 500 0 0 500 1000 1500 t. SAS vs i. SCSI Write 10 Mbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 8000 7000 6000 5000 4000 3000 2000 1000 0 t. SAS Write 10 MBps i. SCSI Write 10 MBps 0 500 1000 1500 2000 2500 17

t. SAS vs i. SCSI Mock Application at 100 Mbps t. SAS vs i.

t. SAS vs i. SCSI Mock Application at 100 Mbps t. SAS vs i. SCSI READ 100 Mbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 700 600 500 400 300 200 100 0 t. SAS Read 100 Mbps i. SCSI Read 100 Mbps 0 500 1000 1500 2000 2500 t. SAS vs i. SCSI READ 100 Mbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 1000 800 600 400 200 0 t. SAS Write 100 Mbps i. SCSI Write 100 Mbps 0 500 1000 1500 2000 2500 18

t. SAS vs i. SCSI Mock Application at 1 Gbps t. SAS vs i.

t. SAS vs i. SCSI Mock Application at 1 Gbps t. SAS vs i. SCSI READ 1 Gbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 50 40 30 t. SAS Read 1 Gbps 20 i. SCSi Read 1 Gbps 10 0 0 500 1000 1500 2000 2500 t. SAS vs i. SCSI READ 1 Gbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 80 60 40 t. SAS Write 1 Gbps 20 i. SCSI Write 1 Gbps 0 0 500 1000 1500 2000 2500 19

t. SAS 512 K Read at 10 Mbps, 100 Mbps and 1 Gbps Time

t. SAS 512 K Read at 10 Mbps, 100 Mbps and 1 Gbps Time for READ Completion with transfer size of 512 K at 10 Mbps, 100 Mbps and 1 Gbps X-axis – Transfer Size (Bytes) Y-axis – Time in milliseconds 1200 1000 800 600 Time for READ Compeltion 400 200 0 0 200 400 600 800 1000 1200 20

Comparing t. SAS mock application to legacy i. SCSI and legacy SAS § t.

Comparing t. SAS mock application to legacy i. SCSI and legacy SAS § t. SAS results are extrapolated to 100 Gbps and so are the legacy i. SCSI results to compare t. SAS with legacy i. SCSI − Assuming 100 Gbps connection rate performs 43. 348 times better than 1 Gbps connection rates based on the 1 Gbps and 10 Gbps server scalability paper by Net. App where it is concluded that 10 Gbps performs 4. 3348 times better than 1 Gbps. − These comparison results can’t be considered to be a fair comparison as the t. SAS mock application is not a full fledged t. SAS implementation § t. SAS results are compared to legacy SAS − Legacy SAS performance results between the HBA and the SAS drive observed using the SAS analyzer for various transfer sizes under 2 MB show that Read/Write completions are < 1 ms. t. SAS performs much slower than this at 100 Gbps − t. SAS is compared to legacy SAS without including the delay at drive − These comparison results can’t be considered to be a fair comparison as the legacy SAS application is HBA based while the t. SAS application is S/W based and is not a full fledged application 21

Comparing t. SAS mock application to legacy i. SCSI Read performance t. SAS at

Comparing t. SAS mock application to legacy i. SCSI Read performance t. SAS at 100 Gbps vs legacy i. SCSI at 100 Gbps using IOMeter without delay at the drive Transfer Sizes (Bytes) vs Time (Milliseconds) 18 16 14 12 10 8 6 4 2 0 Read performance extrapolated t. SAS 100 Gbps Legacy i. SCSI Read timings using IOMeter without delay at the drive extrapolated 100 Gbps 0 500 1000 1500 2000 2500 Write performance t. SAS at 100 Gbps vs legacy i. SCSI at 100 Gbps using IOMeter without delay at the drive Transfer Sizes (Bytes) vs Time (Milliseconds) 18 16 14 12 10 8 6 4 2 0 Write performance extrapolated t. SAS 100 Gbps 0 500 1000 1500 2000 2500 Legacy i. SCSI Write timings using IOMeter without delay at the drive extrapolated 100 Gbps 22

Comparing t. SAS Mock application to legacy SAS X-Axis – Transfer Length (Bytes), Y-Axis

Comparing t. SAS Mock application to legacy SAS X-Axis – Transfer Length (Bytes), Y-Axis – Time in Milliseconds t. SAS 100 Gbps Performance vs Legacy SSP Read timings without delay at the drive 16 14 Read extrapolated t. SAS 100 Gbps 12 10 Legacy SAS(SSP) Read Timings using IOMeter without Delay at the drive Legacy SAS(SSP) Read Timings using VDBench without Delay at the Drive 8 6 4 2 0 0 500 1000 1500 2000 2500 t. SAS 100 Gbps Performance vs Legacy SSP Write timings without delay at the drive Write extrapolated t. SAS 100 Gbps 12 10 8 Legacy SAS(SSP) Write Timings using IOMeter without Delay at the drive Legacy SAS(SSP) Write Timings using VDBench without Delay at the Drive 6 4 2 0 0 500 1000 1500 2000 2500 23

Similar Work § Michael Ko’s patent on Serial Attached SCSI over Ethernet proposes a

Similar Work § Michael Ko’s patent on Serial Attached SCSI over Ethernet proposes a very similar solution to the t. SAS solution provided in this project. § i. SCSI specification (SCSI over TCP) itself is similar to a t. SAS solution (SAS over TCP). The i. SCSI solution can be heavily leveraged for a t. SAS solution. § The Fibre Channel over TCP/IP specification also can be leveraged to design and implement a t. SAS solution. 24

Conclusion § t. SAS is a viable solution § t. SAS will be faster

Conclusion § t. SAS is a viable solution § t. SAS will be faster than a similar i. SCSI implementation − Frame sizes in t. SAS smaller than in i. SCSI − Back-end of t. SAS will be legacy SAS − t. SAS should be visibly faster at larger transfer sizes − t. SAS hardware solution would be the fastest vs a software solution − t. SAS would perform better at smaller transfer sizes § t. SAS will overcome the distance limitation of legacy SAS 25

Future Work § More data points − The t. SAS mock application can be

Future Work § More data points − The t. SAS mock application can be run using a faster switch with connection rates greater than 1 Gbps to get more data points § Piggybacking − Response frames are piggybacked with the last DATA frame or a DATA frame is piggy backed with a request frame § Jumbo frames − Can be used to increase the amount of DATA that is passed from the initiator and target per Ethernet packet improving the performance results. § The Storage Associations can be motivated with similar work to fuel the conception of a t. SAS specification § t. SAS code can be implemented in a SAS HBA and performance can be measured using this direct implementation 26

References [1] T 10/1760 -D Information Technology – Serial Attached SCSI – 2 (SAS-2),

References [1] T 10/1760 -D Information Technology – Serial Attached SCSI – 2 (SAS-2), T 10, 18 April 2009, Available from http: //www. t 10. org/drafts. htm#SCSI 3_SAS [2] Harry Mason, Serial attached SCSI Establishes its Position in the Enterprise, LSI Corporation, available from http: //www. scsita. org/aboutscsi/sas/6 Gbps. SAS. pdf [3] J Satran, K Meth, C. Sapuntzakis, M. Chadalapka, E. Zeidner, RFC 3720 Internet Small Computer Systems Interface (i. SCSI) Specification IETF, April 2004, available from http: //www. ietf. org/rfc 3720. txt [4] Cai, Y. ; Fang, L. ; Ratemo, R. ; Liu, J. ; Gross, K. ; Kozma, M. ; A test case for 3 Gbps serial attached SCSI (SAS) Test Conference, 2005. Proceedings. ITC 2005. IEEE International, February 2006, available from http: //ieeexplore. ieee. org/xpls/abs_all. jsp? arnumber=1584027 27

References [6] Kalmath Meth, Julian Satran, Design of the i. SCSI Protocol, Mass Storage

References [6] Kalmath Meth, Julian Satran, Design of the i. SCSI Protocol, Mass Storage Systems and Technologies, 2003. (MSST 2003). Proceedings. 20 th IEEE/11 th NASA Goddard Conference on Mass Storage Systems and Technologies, April 2003, available from http: //ieeexplore. ieee. org/xpls/abs_all. jsp? arnumber=1194848&tag=1 [7] Stephen Aiken, Dirk Grunwald, Andrew R. Pleszkun, Jesse Willeke, A Performance Analysis of the i. SCSI Protocol 20 th IEEE/11 th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003, available from http: //www. storageconference. org/2003/papers/20 -Aikens-Performance. pdf [8] M. Rajagopal, E. Rodriguez, R. Weber, RFC 3821 Fibre Channel over TCP/IP (FCIP) standard, IETF, July 2004, available from http: //tools. ietf. org/html/rfc 3821 [9] BLi Bigang, Shu Jiwu, Zheng Weimin, SCSI Target Simulator Based on FC and IP Protocols in TH-MSNS * Department of Computer Science and Technology, Tsinghua University, Beijing China, 2005 28

References [10] S. Chaitanya, K. Butler, A. Sivasubramaniam, P. Mc. Daniel, M. Vilayannur, Design,

References [10] S. Chaitanya, K. Butler, A. Sivasubramaniam, P. Mc. Daniel, M. Vilayannur, Design, Implementation and Evaluation of Security in i. SCSI-based Network Storage Systems, Storage. SS '06 Proceedings of the second ACM workshop on Storage security and survivability, October 2006, available from http: //portal. acm. org/citation. cfm? id=1179564 [11] 1 Gbps and 10 Gbps Ethernet Server Scalability, Net. App, available fromhttp: //partners. netapp. com/go/techontap/matl/downloads/redhat- neterion_10 g. pdf [12] Michael A. Ko, LAYERING SERIAL ATTACHED SMALL COMPUTER SYSTEM INTERFACE (SAS) v. OVER ETHERNET, United States Patent Application 20080228897, 09/18/2008 available from http: //www. faqs. org/patents/app/20080228897 [13] SCSI Primary Commands - 4 (SPC-4), Revision 31, T 10, 2011/06/13, available from http: //www. t 10. org/members/w_spc 4. htm 29