2015 SNIA Tutorials - USENIX FAST Abstracts

NVML: Implementing Persistent Memory Applications
Paul von Behren

NVML is an open-source library that simplifies development of applications utilizing byte-addressable persistent memory. The SNIA NVM Programming Model describes basic behavior for a persistent memory-aware file system enabling applications to directly access persistent memory. NVML extends the SNIA NVM Programming Model providing application APIs that help applications create and update data structures in persistent memory avoiding pitfalls such as persistent leaks and inconsistencies due to unexpected hardware or software restarts. This tutorial includes an overview of persistent memory hardware (NVDIMMs) and the SNIA NVM Programming Model, then describes the APIs provided by NVML and examples showing how these APIs may be used by applications.

Learning Objectives

  • Understanding software impact of emerging persistent memory
  • Learn about pitfalls using persistent memory
  • Key capabilities provided by NVML

Combining SNIA Cloud, Tape and Container Format Technologies for Long Term Retention
Sam Fineberg

Generating and collecting very large data sets is becoming a necessity in many domains that also need to keep that data for long periods. Examples include astronomy, genomics, medical records, photographic archives, video archives, and large-scale e-commerce. While this presents significant opportunities, a key challenge is providing economically scalable storage systems to efficiently store and preserve the data, as well as to enable search, access, and analytics on that data in the far future.

Both cloud and tape technologies are viable alternatives for storage of big data and SNIA supports their standardization. The SNIA Cloud Data Management Interface (CDMI) provides a standardized interface to create, retrieve, update, and delete objects in a cloud. The SNIA Linear Tape File System (LTFS) takes advantage of a new generation of tape hardware to provide efficient access to tape using standard, familiar system tools and interfaces. In addition, the SNIA Self-contained Information Retention Format (SIRF) defines a storage container for long term retention that will enable future applications to interpret stored data regardless of the application that originally produced it.

We'll present advantages and challenges in long term retention of big data, as well as initial work on how to combine SIRF with LTFS and SIRF with CDMI to address some of those challenges. We will also describe an emerging SIRF specification as well as an implementation of SIRF for the cloud.

Learning Objectives

  • Importance or long term retention
  • What is SIRF, how does it enable long term retention
  • How SIRF works with tape and in the cloud

SMB Remote File Protocol (Including SMB 3.x)
Tom Talpey

The SMB protocol evolved over time from CIFS to SMB1 to SMB2, with implementations by dozens of vendors including most major Operating Systems and NAS solutions. The SMB 3.0 protocol had its first commercial implementations by Microsoft, NetApp and EMC by the end of 2012, and many other implementations exist or are in-progress. The SMB3 protocol continues to advance. This SNIA Tutorial describes the basic architecture of the SMB protocol and basic operations, including connecting to a share, negotiating a dialect, executing operations and disconnecting from a share. The second part of the tutorial covers improvements in the version 2 of the protocol, including a reduced command set, support for asynchronous operations, compounding of operations, durable and resilient file handles, file leasing and large MTU support. The final part covers the latest changes in SMB3, including persistent handles (SMB Transparent Failover), active/active clusters (SMB Scale-Out), multiple connections per sessions (SMB Multichannel), support for RDMA protocols (SMB Direct), snapshot-based backups (VSS for Remote File Shares) opportunistic locking of folders (SMB Directory Leasing), and SMB encryption.

Separate vs. Combined Server Clusters for app Workloads and Shared Storage
Craig Dunwoody

A widely used "separate-cluster" architecture for datacenters uses a server cluster, sometimes called a "storage array", that implements highly available shared-storage volumes, and a separate server cluster running application workloads that access those volumes.

An alternative "combined-cluster" architecture, sometimes called "hyperconverged", uses a single server cluster in which every node can participate in implementing highly available shared-storage volumes, and also run application workloads that access those volumes.

For each of these architectures, there are many commercially available implementations. Using technical (not marketing) language, and without naming specific products, this tutorial evaluates key strengths and weaknesses of each approach, including some practical issues that are often omitted in such evaluations.

Learning Objectives

  • Strengths and weaknesses of separate vs. combined clusters
  • Best use cases for each architecture
  • Future directions: scale-out infrastructure for apps and shared storage

Storage Grid Using iSCSI
Felix Xavier

The advent of cloud brought a new requirement on storage. The storage nodes in the cloud have to communicate with each other and bring the hot data near the application across the data centers and the communication must be standard-based.

This session proposes iSCSI protocol to achieve the inter-storage node communication for enterprise grade cloud. This may not be applicable for object storage. This is NOT intended to cover the underlying storage implementation to optimally support this communication. ISCSI is chosen for the communication emerging as a de facto standard.

Practical Secure Storage: A Vendor Agnostic Overview
Walt Hubis

This tutorial will explore the fundamental concepts of implementing secure enterprise storage using current technologies. It has been significantly updated to include current and emerging technologies and changes in international security standards (e.g., ISO/IEC).

The focus of this tutorial is the implementation of a practical secure storage system, independent of any specific vendor implementation or methodology. The high level requirements that drive the implementation of secure storage for the enterprise, including legal issues, key management, current technologies available to the end user, and fiscal considerations will be explored in detail. In addition, actual implementation examples will be provided that illustrate how these requirements are applied to actual systems implementations.

Learning Objectives

  • Understand how storage can be secured
  • Learn where, why, and how to secure data at rest and data in flight
  • Explore the tradeoffs and costs of various security measures

Storage Industry Forging Academic Alliances
Ramin Elahi

The three most common challenges facing the IT Managers and CTOs today are: 1) Ingesting Gigabytes of data that are generated globally every second, 2) Managing and accessing data in the most efficient manner 24/7, and 3) Extracting values from all these data. Hence, managing, analyzing and sustaining the astronomical amount of corporate data in the most secure ways via new technologies, such as data center storage and virtualization.

Today, the majority of Computer Science and Information Engineering programs are lacking Storage and Virtualization studies; subsequently, the graduating bodies will miss out on so many job opportunities. Today, many storage companies have to provide extensive training for their new hires on data storage and virtualization, which are the building blocks of rapidly growing Cloud Computing and Services, and Big Data technologies.

Today, few companies have successfully forged academic alliances with colleges to fill the gap for much needed data storage and virtualization savvy new-hire engineers and IT staff.