How Scalable is your SMB?

Similar documents
Forget IOPS: A Proper Way to Characterize & Test Storage Performance Peter Murray SwiftTest

SMB Direct Update. Tom Talpey and Greg Kramer Microsoft Storage Developer Conference. Microsoft Corporation. All Rights Reserved.

Emulex LPe16000B 16Gb Fibre Channel HBA Evaluation

Isilon Performance. Name

Performance Analysis in the Real World of Online Services

Goverlan Reach Server Hardware & Operating System Guidelines

RIGHTNOW A C E

ZBD: Using Transparent Compression at the Block Level to Increase Storage Space Efficiency

Identifying Performance Bottlenecks with Real- World Applications and Flash-Based Storage

Copyright 2009 by Scholastic Inc. All rights reserved. Published by Scholastic Inc. PDF0090 (PDF)

Sage 300 ERP. Compatibility Guide Version Revised: Oct 1, Version 6.0 Compatibility Guide i

Using Transparent Compression to Improve SSD-based I/O Caches

davidklee.net gplus.to/kleegeek linked.com/a/davidaklee

PAC094 Performance Tips for New Features in Workstation 5. Anne Holler Irfan Ahmad Aravind Pavuluri

Evaluation Report: HP StoreFabric SN1000E 16Gb Fibre Channel HBA

2009. October. Semiconductor Business SAMSUNG Electronics

Contents Overview of the Compression Server White Paper... 5 Business Problem... 7

MINIMUM HARDWARE AND OS SPECIFICATIONS File Stream Document Management Software - System Requirements for V4.2

Primavera Compression Server 5.0 Service Pack 1 Concept and Performance Results

BIG DATA AND HADOOP ON THE ZFS STORAGE APPLIANCE

IBM Emulex 16Gb Fibre Channel HBA Evaluation

Network Design Considerations for Grid Computing

Server Specifications

Hyper-converged storage for Oracle RAC based on NVMe SSDs and standard x86 servers

JANUARY 28, 2014, SAN JOSE, CA. Microsoft Lead Partner Architect OS Vendors: What NVM Means to Them

HyPer-sonic Combined Transaction AND Query Processing

Sizing DITA CMS Server Components

FlashGrid Software Enables Converged and Hyper-Converged Appliances for Oracle* RAC

Next-Generation Cloud Platform

All-Flash High-Performance SAN/NAS Solutions for Virtualization & OLTP

What is QES 2.1? Agenda. Supported Model. Live demo

Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin

Session 201-B: Accelerating Enterprise Applications with Flash Memory

PRESENTATION TITLE GOES HERE

VoltDB vs. Redis Benchmark

HP ProLiant delivers #1 overall TPC-C price/performance result with the ML350 G6

Sage ERP Accpac. Compatibility Guide Versions 5.5 and 5.6. Revised: November 18, Compatibility Guide for Supported Versions

Microsoft SQL Server in a VMware Environment on Dell PowerEdge R810 Servers and Dell EqualLogic Storage

High Performance SSD & Benefit for Server Application

Seagate Enterprise SATA SSD with DuraWrite Technology Competitive Evaluation

CIFS Acceleration Techniques

IBM V7000 Unified R1.4.2 Asynchronous Replication Performance Reference Guide

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c

Evaluation of Intel Memory Drive Technology Performance for Scientific Applications

Webscale, All Flash, Distributed File Systems. Avraham Meir Elastifile

HyperScalers JetStor appliance with Raidix storage software

It s Time for Mass Scale VDI Adoption

Performance Benefits of Running RocksDB on Samsung NVMe SSDs

Sage ERP Accpac. Compatibility Guide Version 6.0. Revised: November 18, 2010

QLIKVIEW SCALABILITY BENCHMARK WHITE PAPER

Sage ERP Accpac. Compatibility Guide Version 6.0. Revised: February 2, Version 6.0 Compatibility Guide

The Cirrus Research Computing Cloud

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

Parallels Virtuozzo Containers

ASN Configuration Best Practices

Introduction to Parallel Computing. CPS 5401 Fall 2014 Shirley Moore, Instructor October 13, 2014

Version 1.0 October Reduce CPU Utilization by 10GbE CNA with Hardware iscsi Offload


The Google File System

General Purpose GPU Computing in Partial Wave Analysis

BlackBerry AtHoc Networked Crisis Communication Capacity Planning Guidelines. AtHoc SMS Codes

WebSphere Application Server Base Performance

A High-Performance Storage and Ultra- High-Speed File Transfer Solution for Collaborative Life Sciences Research

TPC-E testing of Microsoft SQL Server 2016 on Dell EMC PowerEdge R830 Server and Dell EMC SC9000 Storage

The BioHPC Nucleus Cluster & Future Developments

A Closer Look at SERVER-SIDE RENDERING. Technology Overview

SGI Overview. HPC User Forum Dearborn, Michigan September 17 th, 2012

HyPer-sonic Combined Transaction AND Query Processing

Azor: Using Two-level Block Selection to Improve SSD-based I/O caches

Map3D V58 - Multi-Processor Version

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

XtreemStore A SCALABLE STORAGE MANAGEMENT SOFTWARE WITHOUT LIMITS YOUR DATA. YOUR CONTROL

Acano solution. White Paper on Virtualized Deployments. Simon Evans, Acano Chief Scientist. March B

COS 318: Operating Systems. File Systems. Topics. Evolved Data Center Storage Hierarchy. Traditional Data Center Storage Hierarchy

Benefits of 25, 40, and 50GbE Networks for Ceph and Hyper- Converged Infrastructure John F. Kim Mellanox Technologies

Classifying Information Stored in Memory! Memory Management in a Uniprogrammed System! Segments of a Process! Processing a User Program!

Sage Compatibility guide. Last revised: August 20, 2018

Today. Adding Memory Does adding memory always reduce the number of page faults? FIFO: Adding Memory with LRU. Last Class: Demand Paged Virtual Memory

More on Address Translation. CS170 Fall T. Yang Some of slides from UCB CS162 by Kubiatowicz

Virtualization Station. Brings an Efficient Virtualization Environment 4 essential aspects

Application Acceleration Beyond Flash Storage

Introduction to parallel Computing

NAS for Server Virtualization Dennis Chapman Senior Technical Director NetApp

Paperspace. Architecture Overview. 20 Jay St. Suite 312 Brooklyn, NY Technical Whitepaper

Accelerating Real-Time Big Data. Breaking the limitations of captive NVMe storage

VMware vstorage APIs FOR ARRAY INTEGRATION WITH EMC VNX SERIES FOR SAN

Benefits of Automatic Data Tiering in OLTP Database Environments with Dell EqualLogic Hybrid Arrays

Red Hat Ceph Storage and Samsung NVMe SSDs for intensive workloads

HPC File Systems and Storage. Irena Johnson University of Notre Dame Center for Research Computing

Benchmark of a Cubieboard cluster

Performance Benchmark and Capacity Planning. Version: 7.3

Parallel Computing. Parallel Computing. Hwansoo Han

Hardware configuration for SkylineGlobe servers

Scalability Testing with Login VSI v16.2. White Paper Parallels Remote Application Server 2018

Solid Access Technologies, LLC

OpenIO SDS on ARM A practical and cost-effective object storage infrastructure based on SoYouStart dedicated ARM servers.

What s Wrong with the Operating System Interface? Collin Lee and John Ousterhout

Virtual SQL Servers. Actual Performance. 2016

Recall: Address Space Map. 13: Memory Management. Let s be reasonable. Processes Address Space. Send it to disk. Freeing up System Memory

One Solution. training guide. Getting started with Clarity Professional v5

Transcription:

How Scalable is your SMB? Mark Rabinovich Visuality Systems Ltd.

What is this all about? Visuality Systems Ltd. provides SMB solutions from 1998. NQE (Embedded) is an implementation of SMB client/server for the embedded world: Consumer devices: printers, MFP, routers, smart devices, etc. Industrial Automation, Medical, Aerospace and Defense Anything else that is neither PC, MAC or Samba. NQ Storage is an SMB server implementation for Storage platforms. This presentation is to share our experience with achieving the best scalability. All measures were done with NQ Storage not NQE. 2

Presentation Plan What is scalability? Load-wise scalability Usage-wise scalability Platform-wise scalability Measuring scalability Conclusions 3

What is scalability? 4

What a formal definition says? The Oxford Dictionaries: the ability of to be used in a range of capabilities The keyword is range Wikipedia: is the capability of to handle a growing amount of work The keyword is growing Dictionary.com: the ability of something to adapt to increased demands The keyword is increased We can comprehend scalability from different points of view. Even a generic definition may emphasize a particular aspect of scalability. 5

A Buzzword or a Value? The word scalability is used too much nowadays without a proper understanding of its meaning It is definitely a buzzword but it also has a value We will try discovering this value when it comes to SMB. 6

Scalability of an SMB Server To serve a range of usages To handle a range of loads To run on a range of platforms == portability The three approaches are applying the same requirements but from different points of view. 7

Performance or Scalability? Customers are looking for both scalability and performance. Which is the primary one? Are they co-related? The answer is YES. Scalability is the performance exposure. There is no real performance without scalability. Scalability is the crust of performance says Sam Widerman, the CEO of Visuality Systems LTD. Lets talk Scalability. 8

Usage-wise scalability 9

Usage-wise or Market-wise? Class Examples *) Embedded Router Smart device Medical equipment SOHO Dedicated Small office School FAX server Document server Media Storage Media editing studio Streaming Data Center Cloud *) Out of this session s scope (we do not need to be THAT scalable) 10

Customer case A The product is Virtual Data Center. Usage mid-range Data Centers, Clouds. Simultaneous clients 100 at least. Performance a mix of 10,000 IPS per a core, performance should scale linearly when adding more cores. 11

Customer case B The product is High Performance Storage. Usage top-level Data Centers Simultaneous clients 10,000 at least. Performance 30,000 IPS per a core, performance should scale linearly when adding more cores. 12

Customer case C The product is Midlevel Storage. Simultaneous clients 1,000 at least. Performance as required by the market 13

Customer case D The product is a basic NAS. Simultaneous clients 50 at least. Performance the best one can have out of a 1Gbs/10Gbs connection 14

Load-wise scalability 15

Load classification Class Typical usage Typical client application Users Embedded Green FAX FAX Viewer Few users or even single user Traffic Low Various packet sizes SOHO Home NAS MS Word Several Average Various packet sizes Media editing Media server Media Editor Few Intensive Huge chunks Cloud File hosting Drop box Up to 10,000 Intensive Huge chunks Storage Data Center HyperV, SQL Server Up to 100,000 Intensive, ~4KB chunks The same SMB Server solution may be used on each of the above markets (except from, maybe, Embedded) providing that SMB Server can be scaled to each of them. 16

The expectations With load increase, SMB Server is expected to provide at least the same value of IOPS. We expect IOPS increase in the low load area and saturation in the top (the next slide). On a very high load we will apparently face degradation. On even higher load we may expect denial of service. 17

The results (moderate load) IOPS 14,000 12,000 10,000 8,000 6,000 4,000 NQ Samba Measured with SPEC SFS.2014 Load = number of concurrent client applications 2,000 0 0 20 40 60 80 100 120 Load Two different implementations of SMB are showing a similar trend. A later saturation point means less resource consumption. What happens on a very big load? 18

What is Very high load? Load type Notes Expectations Results Full consumption of the bandwidth 10/40/50/100Gbs Degradation of IOPS 10Gbs- see below Numerous client connections 10,000 to 80,000 connections Saturation of IOPS Connection failures 10Gbs - see below 19

The results (high load) Latence (ms) IOPS 250.00 200.00 14,000 12,000 150.00 10,000 100.00 50.00 Samba NQ Storage 8,000 6,000 4,000 2,000 Samba NQ Storage 0.00 0 100 200 300 400 0 0 100 200 300 400 Load Load Measured with Spec SFS2014 Load = number of virtual clients from two Windows2012 machines Samba - degradation starts after 80 loads. It happens due to overload of either CPU or disk. NQ Storage degradation starts somewhere after 300 loads (we did not test that far). No denial of service. The later degradation happens, the more scalable SMB server is. 20

The results (high load) Measured with Load Dynamics Load = number of concurrent client connections The solution with more resource consumption show denial of service. 21

Platform-wise scalability 22

Hardware range Typical server platforms: SOHO NAS: ARM 1.2GHz Dual Core, HDD Mid-level storage: Atom 2.13GHz Quad Core, HDD Top-end storage: Intel Xeon 3.4GHz Quad Core/IBM Power8, SSD. 23

Operating systems Some Storage vendors use VxWorks an excellent platform for Storage because of a low-cost context switch. It is not freeware, though. Most of Storage vendors use Linux or (a kind of) Unix. Many of them, especially when it comes to Clustering, create their own software environment. Zero-latency networking (like DPDK), distributed FS, etc., add layers above layers on top of Linux/Unix. From the integration point of view such a platform can be considered as yet another OS. A platform-wise scalable SMB must adapt to and run effectively on each of those platforms. 24

Measuring scalability 25

Tools matter Is SMB implementation A better than SMB implementation B? This question is incorrect since the measuring tool matters. A can be better than B when measured by SQLIO. With IOMETER the situation can be opposite. 26

Environment matters HDD vs SSD. Slow single-core CPU vs fast multi-core CPU with hyper-threading. 27

Methods matter A is better than B on 4K-packet random reads. B is better than A on a 64K-packet mix of 25% random writes. 28

Test tools Tool Method Loads Notes Scalability SpecSFS 2014 Load generator Desktop Streaming Compilation Database I/O meter Read/write load Database Streaming Mix Only generic results, Very high loads. (in terms of traffic) Drill-down results SQLIO SQL Server simulation Database Basic benchmarking only LoadDynamics Hardware simulator Any + multiple connections Very high loads (also in terms of connections) Usage-wise Load-wise Usage-wise Basic Load-wise 29

Test tools (cont.) Platform-wise scalability any tool goes Nobody's perfect!.. there is no single tool that measures everything Our experience - each customer has his favorite tool and methods 30

Conclusions 31

Processes vs threads The comparisons in this presentation were mostly done between NQ Storage 1.0 and Samba 4.3.4. Samba is process-based. Each client connection forks a new process. 100 connection == 100 processes. NQ Storage is thread based. We use thread pool in the transport module and a number of thread pools in the SMB semantics module. On a low/moderate load this means that NQ attempts to allocate a thread for each request. Threads are pre-allocated and their number (as well as resource consumption) is permanent. 32

Processes vs threads (cont.) A process-based solution can introduce slightly better performance on a single SMB connection just because memory management (malloc) does not require locking. This advantage seems to be negligible when preallocation is forced to avoid fragmentation. A thread-based solution is more scalable. This is in terms of load-wise, usage-wise and platform-wise scalability. 33

Your feedback is very important for us. Thank you markr@visualitynq.com 34