Logo

    spdk

    Explore "spdk" with insightful episodes like "107 - DAOS, une approche du stockage exascale", "#164: Enabling Asynchronous I/O Passthru in NVMe-Native Applications", "#160: SPDK Schedulers", "#119: Squeezing Compression into SPDK" and "#108: SPDK NVMe: An In-depth Look at its Architecture and Design" from podcasts like ""The French Storage Podcast", "Storage Developer Conference", "Storage Developer Conference", "Storage Developer Conference" and "Storage Developer Conference"" and more!

    Episodes (7)

    107 - DAOS, une approche du stockage exascale

    107 - DAOS, une approche du stockage exascale

    *** Episode in French ***

    Nouvel épisode pour ce tech talk qui m'a permis de discuter avec Johan Lombardi, Senior Principale Engineer chez Intel, qui se consacre au projet DAOS (Distributed Asynchronous Object Storage). Un échange qui nous permet de rentrer dans le détail du produit, sa philosophie, ses mécanismes de protection, ses performances et à qui il se destine. Une belle discussion pour en savoir plus sur un projet dédié aux environnements ExaScale demandant des latences très faibles, un nombre important d'IOPS et une très haute bande passante. Merci Johann et bonne écoute.

    #164: Enabling Asynchronous I/O Passthru in NVMe-Native Applications

    #164: Enabling Asynchronous I/O Passthru in NVMe-Native Applications
    Storage interfaces have evolved more in the past 3 years than in the previous 20 years. In Linux, we see this happening at two different layers: (i) the user- / kernel-space I/O interface, where io_uring is bringing a low-weight, scalable I/O path; and (ii) and the host/device protocol interface, where key-values and zoned block devices are starting to emerge. Applications that want to leverage these new interfaces have to at least change their storage backends. This presents a challenge for early technology adopters, as the mature part of the Linux I/O stack (i.e., the block layer I/O path) might not implement all the needed functionality. While alternatives such as SDPK tend to be available more rapidly, the in-kernel I/O path presents a limitation. In this talk, we will present how we are enabling an asynchronous I/O path for applications to use NVMe devices in passthru mode. We will speak to the upstream efforts to make this path available in Linux. More specifically, we will (i) detail the changes in the mainline Linux kernel, and (ii) we will show how we are using xNVMe to enable this new I/O path transparently to applications. In the process, we will provide a performance evaluation to discuss the trade-offs between the different I/O paths in Linux, including block I/O io_uring, passthru io_uring, and SPDK. Learning Objectives: 1) Understand the value of I/O passthru; 2) Understand the changes merged into the Linux kernel to support NVMe I/O Pasthru; 3) Understand how to leverage this new I/O path without application changes through xNVMe.

    #160: SPDK Schedulers

    #160: SPDK Schedulers
    Polled mode applications such as the Storage Performance Development Kit (SPDK) NVMe over Fabrics target can demonstrate higher performance and efficiency compared to applications with a more traditional interrupt-driven threading model. But this performance and efficiency comes at a cost of increased CPU core utilization when the application is lightly loaded or idle. This talk will introduce a new SPDK scheduler framework which enables transferring work between CPU cores for purposes of shutting down or lowering frequency on cores when under-utilized. We will first describe the SPDK architecture for lightweight threads. Next, we will introduce the scheduler framework and how a scheduler module can collect metrics on the running lightweight threads to make scheduling decisions. Finally, we will share initial results comparing SPDK NVMe-oF target performance and CPU efficiency of a new scheduler module based on this framework with the default static scheduler. Learning Objectives: 1) Understand how work is scheduled in an SPDK polled mode application such as the NVMe over Fabrics target; 2) Understand how SPDK scheduler modules under the new framework can decide if and when to move work between CPU cores; 3) Understand how performance + CPU efficiency compare between the default scheduler and scheduler implemented in the new framework.

    #119: Squeezing Compression into SPDK

    #119: Squeezing Compression into SPDK
    Last year at SDC we reviewed the integration of crypto which made use of DPDK’s existing variety of drivers to usher in the capability. This year we are expanding our use of DPDK with the addition of a compression! This talk will outline the overall architecture of the compression module and explain in detail how we are managing the layout of the device and leveraging the Persistent Memory Development Kit to store metadata in super-fast persistent memory. Learning Objectives: 1) Understand new SPDK compression feature; 2) Understand the value of SPDK in general; 3) Learn about the SPDK Community.

    #108: SPDK NVMe: An In-depth Look at its Architecture and Design

    #108: SPDK NVMe: An In-depth Look at its Architecture and Design
    The Storage Performance Development Kit (SPDK) open source project is gaining momentum in the storage industry for its drivers and libraries for building userspace, polled mode storage applications and appliances. The SPDK NVMe driver was SPDK’s first released building block and is its most well-known. The driver’s design and architecture is heavily influenced by SPDK’s userspace polled-mode framework which has resulted in some significant differences compared to traditional kernel NVMe drivers. This presentation will present an overview of the SPDK NVMe driver’s architecture and design, a historical perspective on key design decisions and a discussion on the driver’s advantages and limitations. Learning Objectives: 1) Gain a deeper understanding of the architecture and design of the SPDK NVMe driver; 2) Identify the key design differences between a userspace polled-mode driver and a traditional kernel-mode driver; 3) Describe the key advantages and limitations of SPDK and its polled mode NVMe driver.

    #106: Container Attached Storage (CAS) with openEBS

    #106: Container Attached Storage (CAS) with openEBS
    Applying micro service patterns to storage giving each workload its own Container Attached Storage (CAS) system. This puts the DevOps persona within full control of the storage requirements and brings data agility to k8s persistent workloads. We will go over the concept and the implementation of CAS, as well as its orchestration. Learning Objectives: 1) Go over the modern day apps and their storage needs; under the notion of applications have changed someone forgot to tell storage; 2) What are the problems to use technologies like user space IO, in particular using technologies like SPDK among others; 3) Looking devops and the k8s model, how can we bring the power of user space storage in developers hands? Virtio for containers? direct access from the go run time for example SPDK?; 4) We have tried both, and like to share the outcome of this with you.

    #70: SPDK Blobstore: A Look Inside the NVM Optimized Allocator

    #70: SPDK Blobstore: A Look Inside the NVM Optimized Allocator
    The Storage Performance Development Kit (SPDK) is an open source set of tools and libraries for writing high performance, scalable, user-mode storage applications. It achieves high performance by moving all of the necessary drivers into userspace and operating in a polled mode instead of relying on interrupts. The Blobstore is a relative newcomer to SPDK and provides local, persistent, power-fail safe block allocator designed to replace filesystem usage in many popular databases. Most importantly, the Blobstore has been designed for the properties of flash and next-generation media from the start and directly leverages NVMe features. The team has already ported a popular embedded key/value database, RocksDB, to use the Blobstore which demonstrated a significant improvement for database queries under common workloads. In this session we will explore the basics of the Blobstore and review some of the latest exciting performance data!
    Logo

    © 2024 Podcastworld. All rights reserved

    Stay up to date

    For any inquiries, please email us at hello@podcastworld.io