april 6, 2010gmqs meeting1 optional feature support in hdf5 tools albert cheng the hdf group

15
April 6, 2010 GMQS Meeting 1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Upload: helen-lloyd

Post on 29-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

April 6, 2010 GMQS Meeting 1

Optional Feature Support in HDF5 Tools

Albert Cheng

The HDF Group

Page 2: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Problem Description

• Optional feature created for some HDF5 tools:• Special needs of individual user group;• Non public data encryption, compression, …• Privacy• Experimental

• How to maintain different optional features without “leaking” them to the official version of the tool

April 6, 2010 GMQS Meeting 2

Page 3: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Criteria of Possible Solutions

• Cost of Implementation• Official HDF5 tools implementation cost• Optional feature implementation cost

• Cost of Maintenance• Official HDF5 tools maintenance cost• Optional feature maintenance cost

• Features supported:• Privacy of the optional feature• Lean size of the official HDF5 tool, both source and

binary• Future extensions

April 6, 2010 GMQS Meeting 3

Page 4: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 1:Individual Source Branch

• A copy of the HDF5 source branch off the HDF5 official source branch; added optional features code to the copy.

• Implementation Cost:• HDF5: none.• Optional feature: initial implementation

• Maintenance Cost:• HDF5: none• Optional feature: high maintenance as it has to

match changes in the HDF5 tool source

April 6, 2010 GMQS Meeting 4

Page 5: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 1 (cont.)

• Features supported:• Privacy maintained.• Lean size of the official HDF5 tool, both source and

binary• Future extensions: very hard

April 6, 2010 GMQS Meeting 5

Page 6: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 2:Individual Source Branch

• Optional feature code are inserted into the HDF5 tool code but is compiled in only if it is configured in.

• Implementation Cost:• HDF5: initial implementation.• Optional feature: initial implementation

• Maintenance Cost:• HDF5: high; shots up when more optional features

are added• Optional feature: lower since there is better

coordination between the HDF5 and optional feature code

April 6, 2010 GMQS Meeting 6

Page 7: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 2 (cont.)

• Features supported:• No privacy since HDF5 source is public.• HDF5 tools size:

• Source: swell up• Binary: lean

• Future extensions: hard

April 6, 2010 GMQS Meeting 7

Page 8: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 3: External Library

• Functional interface of optional feature defined• HDF5 tool modified to call the optional feature if

configured in• Optional Feature coded as an external library

similar to szip library calls• Implementation Cost:

• HDF5: higher• Optional feature: initial implementation

• Maintenance Cost:• HDF5: none• Optional feature: lower

April 6, 2010 GMQS Meeting 8

Page 9: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 3 (cont.)

• Features supported:• Privacy maintained.• Lean size of the official HDF5 tool, both source and

binary• Future extensions: possible

April 6, 2010 GMQS Meeting 9

Page 10: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 3 H5dump Quality Flag Example

• Functions of h5dump• Command line option parser• Dataset Rawdata Read (e.g., data transformation)• Rawdata display (e.g., scale calibration, quality flag

masking)

April 6, 2010 GMQS Meeting 10

Page 11: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 4: Registered Pluggins

• Design and define HDF5 tool functionalities as function module

• Optional feature is coded according to the module definitions

• HDF5 tool coded to register each module according to build-time configure and/or runtime module registration

April 6, 2010 GMQS Meeting 11

Page 12: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Solution 4: (cont.)

• Implementation Cost:• HDF5: High design cost.• Optional feature: initial implementation

• Maintenance Cost:• HDF5: Low• Optional feature: Low

• Features supported:• Privacy maintained.• Lean size of the official HDF5 tool, both source and

binary• Future extensions: very extendible

April 6, 2010 GMQS Meeting 12

Page 13: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

• Functions of h5dump• Command line option parser• Dataset access

• Dataset Open (e.g., encryption key, remote access)• Dataset Metadata Read (e.g., attribute “unit”)• Dataset Rawdata Read (e.g., data transformation)• Dataset Close (e.g., file lock release)

• Display• Metadata display• Rawdata display (e.g., scale calibration, quality flag

masking)

April 6, 2010 GMQS Meeting 13

Solution 4 H5dump Functions Example

Page 14: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

Summary of costs

Solution Implementation Costs

Maintenance Costs

Other advantages

Duplicated copy Low Highest Privacy retained; not extendible

Merged Higher Highest Privacy lost; not extendible

External library Higher Lower Privacy retained;Extendible

Registered Pluggin

Highest Lowest Privacy retained;Very extendible

April 6, 2010 GMQS Meeting 14

Page 15: April 6, 2010GMQS Meeting1 Optional Feature Support in HDF5 Tools Albert Cheng The HDF Group

April 6, 2010 GMQS Meeting 15

Questions?