From owner-freebsd-hackers@freebsd.org Mon Oct 22 16:10:40 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0F7E1036E6A for ; Mon, 22 Oct 2018 16:10:40 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 585678202E for ; Mon, 22 Oct 2018 16:10:40 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f174.google.com with SMTP id o14-v6so37541976ljj.2 for ; Mon, 22 Oct 2018 09:10:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=K95IyqVFzIXs4WniWeTbo+xIYTUuSaNPXMAhqMRT54k=; b=n8m6lGjgoaSeGCNBzNhKHRWn7kzE7W/j/Nxz1Ur3m30FO1lnMwffgbU/NAoWXT66SW qwzmuPkd/9dV9NYjt4ZFZ2JZHmBIpdsNcdikMCiYFq666BX/ROz77du1yF0vO+IUP2ka uBy1xNXQCi2kgRHhsnBHG64Q8RS1ZFd1NzdG8hynoF58uO8BkWm/FwP/VMRWRbMBgTdF FBDGLaCjrXW0iXFQzVT8NoQZy+1AJ6Mf+o2igYFK/4Qf0EF/opDcIliS18EZ7xrwbs+i MeTv30uV9h2WDtUXQgUF8/NR9GrDLWsj4NG9Iz1zjFizLwUcoGeh52zAYtTBkyM14xc0 Tvgw== X-Gm-Message-State: ABuFfog5iD8WeUNK9ayHXKeA5gywiB4djdp5ztVUubULIsSawmV/Iz5+ ei3lOk9HQ6zXdLou55iBLW61pVKTsmpGdPLI2GCSY0IZ X-Google-Smtp-Source: ACcGV62QFssVVrZ3u6aUOc0GqjU4rGNyWE2ZV3mGzswYvOFaaCrNN6dbCcBHgPtQXdBgGM3iRNPvNUexIlbcZ4Cc45I= X-Received: by 2002:a2e:544f:: with SMTP id y15-v6mr32273576ljd.51.1540224191501; Mon, 22 Oct 2018 09:03:11 -0700 (PDT) MIME-Version: 1.0 From: Alan Somers Date: Mon, 22 Oct 2018 10:02:59 -0600 Message-ID: Subject: SNIA SDC 2018 recap To: FreeBSD Hackers Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Oct 2018 16:10:41 -0000 The SNIA Storage Developers' Conference was held in Santa Clara during the last week of September. Jim Harris, John Hixon, Nick Principe, Michael Dexter, and myself attended. As far as FreeBSD goes, here's a summary of the juiciest bits: NVDIMM/PMEM: A lot of companies are still pushing persistent memory products. They're getting better, but still quite vendor-specific. Fortunately, there are standardization efforts in place. JEDEC is standardizing the hardware (NVDIMM-N, NVDIMM-P, NVDIMM-F). Every major memory company (but not CPU company) is on-board. SNIA is also trying to standardize a programming model (but not the precise API). Windows and Linux currently support it, with differences. There will probably be some additional changes to the model. https://static.ptbl.co/static/attachments/187585/1537988510.pdf?1537988510 . iX Systems reported some impressive benchmarks using an NVDIMM as a ZFS slog device. Several databases are adding pmem support. A few filesystems have some level of NVDIMM support, and the NOVA filesystem is being written from the ground up to take full advantage of NVDIMM. For example, directories are stored as in-memory data structures that never get serialized. The lesson here is that FreeBSD needs to support the standard NVDIMM programming model too. OpenChannel SSDs: These are SSDs that expose more of their internal implementation details to the host. Specifically, they rely on the host for at least part of garbage collection. They also expose their multiple internal busses to the host, so it can choose how to stripe data across them. Overall, the programming model is surprisingly similar to that of SMR hard drives. Unfortunately, the standard is a bit murky. Different speakers could not even agree on whether there is a standard. This is the best presentation on the topic: https://static.ptbl.co/static/attachments/187321/1537829929.pdf?1537829929 and this is the closest thing there is to a standard ATM: https://openchannelssd.readthedocs.io/en/latest/ . The lesson here is that FreeBSD needs to plumb these devices' properties up to userland and perhaps expose them in zonectl(8) (easy) and add filesystem support (very hard). NVMe: If there were an award for most popular buzzword, it would've gone to "NVMe". Everybody and their mother had something to say about it. But I personally paid little attention (except as regards OpenChannel). Seagate dual-actuator hard drives: Seagate is coming out with hard drives that pack two servos into a single case. Each servo can access half of the platters. The drive reports each servo as a separate LUN to the host. There is little FreeBSD needs to do here. To make zfsd(8) work correctly, we should add lun info to the drives' physical path strings. And it might be nice if zpool(8) prevented the user from adding both LUNs of the same physical drive to the same RAID group. But that's arguably out of our domain. SPDK: The storage-plane developer's kit is like Intel's version of Netmap, but for storage. It's a say for userland programs to access storage devices directly, bypassing the kernel. The benefits are negligible for spinning media, but can be significant for fast NVMe drives. SPDK has multiple backends for different I/O controllers, including some that are kernel-based. Notably lacking is a POSIX AIO backend. That's probably the biggest gap in its FreeBSD support. iX Systems wrote a blog post about the conference, too. It covers Swordfish and Samba, two topics I ignored. https://www.ixsystems.com/blog/snia-sdc-2018/ -Alan