Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and...

25
Community Development of Next Generation Semantic Interfaces Limitless Storage Limitless Possibilities https://hps.vi4io.org Image under free license (CC0) Computer Science Department Copyright University of Reading 2018-06-28 LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT Julian M. Kunkel HPC-IODC/WOPSSS S H

Transcript of Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and...

Page 1: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Community Development ofNext Generation Semantic Interfaces

Limitless StorageLimitless Possibilities

https://hps.vi4io.org

Image under free license (CC0)

Computer Science Department

Copyright University of Reading

2018-06-28

LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT

Julian M. Kunkel

HPC-IODC/WOPSSS

SH

)

Page 2: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Outline

1 The Current I/O Stack

2 Community Strategy

3 Potential Interfaces

4 Summary

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 2 / 16

Page 3: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Example: A Software Stack for NWP/Climate

� Domain semantics

I XIOS writes independent variables to one file eachI 2nd servers for performance reasons

� Why user side servers besides data modelI Performant mappings to files are limited

• Map data semantics to one "file"• File formats are notorious inefficient

I Domain metadata is treated like normal data

• Need for higher-level databases

I Interfaces focus on variables but lack features

• Workflows• Information life cycle management

Application

XIOS

XIOS 2nd server

MPI-IO

Parallel File System

File system

Block device

HDF5

NetCDF

Domain sem

antic

Data m

odel

Types

Byte a

rray

Figure: Typical I/O stack

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 3 / 16

Page 4: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Critical Discussion

Questions from the storage users’ perspective

� Why do I have to organize the file format?

I It’s like taking care of the memory layout of C-structs

� Why do I have to convert data between storage paradigms?

I Big data solutions typically do not require this step!

� Why must I provide system specific performance hints?

I It’s like telling the compiler to unroll a loop exactly 4 times

� Why is a file system not offering the consistency model I need?

I My application knows the required level of synchronization

Being a user, I would rather code an application?

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 4 / 16

Page 5: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Challenges Faced by HPC I/O� Difficulty to analyze behavior and understand performance

I Unclear access patterns (users, sites)

� Coexistence of access paradigms in workflowsI File (POSIX, ADIOS, HDF5), SQL, NoSQL

� Semantical information is lost through layersI Suboptimal performance, lost opportunitiesI All data treated identically (up to the user)

� Re-implementation of features across stackI Unpredictable interactionsI Wasted resources

� Restricted (performance) portabilityI Optimizing each layer for each system?I Users lack technological knowledge for tweaking

� Utilizing the future storage landscapesI No performance awareness, manual tuning and mapping to storage needed

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 5 / 16

Page 6: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Future Systems: Coexistence of Storage Systems

HDDHDD

Node

Memory

Node

Memory

NVRAM

SSD Tape

S3

CloudEC2

HDDHDD HDDMemory HDDBurst Buffer SSD

...

� We shall be able to use all storage technologies concurrently

I Without explicit migration etc. put data where it fitsI Administrators just add a new technology (e.g., SSD pool) and users benefit

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 6 / 16

Page 7: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Alternative Software Stack

Some Examples

� High-level abstractions: Dataclay, Dataspaces, Mochi

� Data models: ADIOS, HDF5, NetCDF, VTK

� Standard API across file formats: Silo, VTK, CDI, (HDF5)

� Low-level libraries: SIONlib, PLFS

� Storage interfaces: MPI-IO, POSIX, vendor-specific (e.g., CLOVIS), S3

� Big-data: HDFS, Spark, Flink, MongoDB, Cassandra

� Research: Countless storage system prototypes every year

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 7 / 16

Page 8: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Standardization Attempts

Promising

� Container storage interface (community driven / involves companies)

� Cloud Data Management Interface (SNIA driven)

� pmem.io (good candidate for persistent memory programming)

� HDF5 (towards a de-facto standard interfaces)

How about HPC?

� MPI-IO (partially successful)

� Exascale10/EOFS (failed)

� Various earlier attempts that failed

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 8 / 16

Page 9: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Thoughts

I believe we must re-architect the IO stack together to

� Enable smart hardware and software components

� Optimize storage and compute together

� Deal with scientific metadata and workflows as first-class citizens

� Become self-aware instead of unconscious

� Enable self-learning and improving system behavior over time

� Allow schedulers to generate optimized plans

I LiquidComputing: Running pieces on storage, compute, IoT, network

Constraints

� The process should be steered by a standard and open forum

� Open ecosystem for any vendor, research, ...

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 9 / 16

Page 10: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Outline

1 The Current I/O Stack

2 Community Strategy

3 Potential Interfaces

4 Summary

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 10 / 16

Page 11: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

A Potential Approach in the Community: Following MPI

� The standardization of a high-level data model & interface

I Targeting data intensive and HPC workloadsI Lifting semantic access to a new levelI To have a future: must be beneficial for Big Data + Desktop, too

� Development of a reference implementation of a smart runtime system

I Implementing key features

� Demonstration of benefits on socially relevant data-intense apps

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 11 / 16

Page 12: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Development of the Data Model and API

� Establishing a Forum similarly to MPI

� Define data model for HPC

� Open board: encourage community collaborationS

tand

ard

1.0

Data Model

Interface

Reference Implementation

Standard-Forum

Steering Board

Committee

WorkgroupUse

-cas

es

Mini-apps

Workflows

Industry

Data centers

Scientists

Pseudo code

Mem

ber

s

Bod

ies

Nex

t Gen

erat

ion

Sta

ndar

d 2.

0

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 12 / 16

Page 13: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Outline

1 The Current I/O Stack

2 Community Strategy

3 Potential Interfaces

4 Summary

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 13 / 16

Page 14: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

A Pragmatic View� Take existing data model like VTK (or HDF5) as baseline� With a hint of:

I Scientific metadata handlingI Workflow and processing interfaceI Information lifecycle managementI Hardware model interface (hardware provides its own performance models)

� First prototype utilizes existing software stackI Like Cylc for workflowsI Like MongoDB for metadataI Like a parallel file system (or object storage)

� Work on:I Scheduler for performant mapping of data/compute to storage/computeI A FUSE client for flexible data mappings on semantic metadataI Importer/Exporter tools for standard file formats

� Add magic (knowledge of experts developing APIs)� Next prototype: move on with true implementation

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 14 / 16

Page 15: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Next-Generation HPC IO API Key Features� High-level data model for HPC

I Storage understands data structures vs. byte arrayI Relaxed consistency

� Semantic namespace and storage-aware data formatsI Organize based on domain-specific metadata (instead of file system)I Support domain-specific operations and addressing schemes

� Integrated processing capabilitiesI Offload data-intensive compute to storage systemI Managed data-driven workflows supporting events and servicesI Scheduler maps compute and I/O to hardware

� Enhanced data management featuresI Information life-cycle management (and value of data)I Embedded performance analysisI Resilience, import/export, ...

NG-HPC-IO

ManagementInformationIntentWorkflowOperationObjectData description

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 15 / 16

Page 16: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

The Current I/O Stack Community Strategy Potential Interfaces Summary

Summary

� The separation of concerns in the existing storage stack is suboptimal

� There is a huge potential for the next-generation interface

� Can the community work together to define next generation APIs?

� If you are interested, subscribe to:https://www.vi4io.org/mailman/listinfo/io-ngi

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 16 / 16

Page 17: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Appendix

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 17 / 16

Page 18: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Data Model: Addressing and Metadata

attr ibuting

Information Concepts

Storage & Processing Concepts

Fragment

Storage System

SchemaRegistry

CoverageVar

Collection

Schema Metadata

ContainerDataset

partit ionedintousing schema

1

1..*

lives on

references0..* 0..*

stored i n

describedb y

contains

contains1

is a � Data Formats are providedby schema registry

� Define addressing andhigh-level metadata space

� Containers, datasets,fragments

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 18 / 16

Page 19: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Processing Model

runs

Job script

Cluster workload manager

Traditional cluster management

dispatchesadjustsscale out

observesdependencies

listens to

Storage & Processing Concepts

Event

processes

UserAdmin

Workflow scheduler

Code TaskResource mgmt ServiceWorkflow

Information Concepts

Slot

Fragment

Storage System

SchemaRegistry

Schema

ContainerDataset

schedulesdispatches

submitsprologepilogue

triggersevents

upon change

reads, writes

registersRunson

Runs consists of11..*

providedb y

runsoptionallyprovided

b y

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 19 / 16

Page 20: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Outline

5 Smart Interfaces

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 20 / 16

Page 21: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Compression Research: Involvement� Scientific Compression Library (SCIL)

I Separates concern of data accuracy and choice of algorithmsI Users specify necessary accuracy and performance parametersI Metacompression library makes the choice of algorithmsI Supports also new algorithmsI Ongoing: standardization of useful compression quantities

� Development of algorithms for lossless compressionI MAFISC: suite of preconditioners for HDF5, pack data optimally, reduces

climate data by additional 10-20%, simple filters are sufficient

� Cost-benefit analysis: e.g., for long-term storage MAFISC pays of� Analysis of compression characteristics for earth-science related data sets

I Lossless LZMA yields best ratio but is very slow, LZ4fast outperforms BLOSCI Lossy: GRIB+JPEG2000 vs. MAFSISC and proprietary software

� Method for system-wide determination of ratio/performanceI Script suite to scan data centers...

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 21 / 16

Page 22: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

SCIL: Supported User-Space Quantities

Quantities defining the residual (error):absolute tolerance: compressed can become true value ± absolute tolerance

relative tolerance: percentage the compressed value can deviate from true value

relative error finest tolerance: value defining the abs tol error for rel compression for values around 0

significant digits: number of significant decimal digits

significant bits: number of significant decimals in bits

field conservation: limits the sum (mean) of field’s change

Quantities defining the performance behavior:compression throughput

decompression throughput

in MiB or GiB, or relative to network or storage speed

Aim to standardize user-space quantities across compressors!See https://www.vi4io.org/std/compression

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 22 / 16

Page 23: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Ongoing Activity: Earth-Science Data Middleware

Part of the ESiWACE Center of Excellence in H2020

Design Goals of the Earth System Data Middleware

1 Understand application data structures and scientific metadata

2 Flexible mapping of data to multiple storage backends

I Placement based on site-configuration + performance modelI Site-specific optimized data layout schemes

3 Relaxed access semantics, tailored to scientific data generation

4 A configurable namespace based on scientific metadata

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 23 / 16

Page 24: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

EU funded Project: ESiWACE

The Centre of Excellence in Simulation of Weather and Climate in Europe

� Representing the European community for

I climate modelling and numerical weather simulation

� Goals in respect to HPC environments:

I Improve efficiency and productivityI Supporting the end-to-end workflow of global Earth system modellingI Establish demonstrator simulations that run at highest affordable resolution

� Funding via the European Union’s Horizon 2020 program (grant #675191)

http://esiwace.eu

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 24 / 16

Page 25: Community Development of NextGenerationSemanticInterfaces · Difficulty to analyze behavior and understand performance IUnclear access patterns (users, sites) Coexistence of access

Smart Interfaces

Architecture

Tools and services

ESD

Application1

NetCDF4 (patched)

Application2 Application3

GRIB

HDF5 VOL (unmodified)

ESD interface

cp-esd esd-daemonesd-FUSE

Layout Datatypes

ESD (Plugin)

Performance model

Metadata backend Storage backends

Site configuration

RDBMSNoSQL POSIX-IO Object storage Lustre

Julian M. Kunkel SH LIMITLESS POTENTIAL | LIMITLESS OPPORTUNITIES | LIMITLESS IMPACT 25 / 16