SlideShare a Scribd company logo
1 of 30
What will be new in HDF5?

October 15, 2008

HDF and HDF-EOS Workshop XII

1
HDF5 Road Map

Performance
Ease of use
Robustness
Innovation

October 15, 2008

HDF and HDF-EOS Workshop XII

2
Outline
• Performance improvements
• Fortran 2003 features
• HDF5 file recover (metadata journaling)

October 15, 2008

HDF and HDF-EOS Workshop XII

3
Performance Improvements

October 15, 2008

HDF and HDF-EOS Workshop XII

4
Performance Improvements in HDF5
• Examples of completed work:
• New implementation of metadata cache to
improve I/O performance and memory usage when
accessing many objects (HDF5 1.8.0)
• Faster, more scalable storage and access for
large groups (HDF5 1.8.0)

October 15, 2008

HDF and HDF-EOS Workshop XII

5
Performance Improvements in HDF5
• Work in progress
• New implementation of free-space management
• Affects “dynamic” applications that
add/delete/modify existing objects
• When creating HDF5 objects, space is allocated
from available space tracked by the free-space
manager
• When deleting objects, unused space is added to
the free-space pool via free-space manager
• Current implementation uses O(N2) operations for
each N allocations or freeing space
• New implementation O(log2N)
October 15, 2008

HDF and HDF-EOS Workshop XII

6
Free-space Management
• Test: creating/deleting attributes
•
•
•
•

Create first set of attributes
Delete odd-numbered attributes from the first set
Create second set of attributes
Delete all attributes from the second set

Number of
attributes

Old
New
Improvement
implementation implementation ratio

500

786.5 sec

68.2 sec

11.5x

1000

11000 sec

289 sec

38x

October 15, 2008

HDF and HDF-EOS Workshop XII

7
Performance Improvements in HDF5
• Work in progress
• Fast data append (along slowest changing
dimension)

• Future areas of interest
• Efficient chunking cache implementation
(NetCDF4)
• Efficient handling of the variable-length data
including compression (will affect sizes of NPOESS
files)

October 15, 2008

HDF and HDF-EOS Workshop XII

8
Fortran 2003 features

October 15, 2008

HDF and HDF-EOS Workshop XII

9
Status of the HDF5 Fortran Library
• HDF5 Fortran library is a part of standard HDF5
distribution
• First release goes back to 1999
• Implemented as Fortran90 wrappers on top of the
HDF5 C library
• Supported on Linux, Windows, Mac Intel, Solaris,
VMS, clusters, etc.
• Compilers
• Open source gfortran, g95
• Vendors (SUN, Intel, PGI, Absoft)
• 32 and 64-bit versions
October 15, 2008

HDF and HDF-EOS Workshop XII

10
HDF5 Fortran Library
• Mimics HDF5 C APIs
• Fortran 90 features used
•
•
•
•
•

Modules
Function overloading
Function interfaces
Dynamic memory allocation
Optional parameters
• Many Fortran APIs are simpler than their C
counterparts

October 15, 2008

HDF and HDF-EOS Workshop XII

11
Current Limitations
• Supports only “native” Fortran types such as
•
•
•
•

INTEGER
REAL
CHARACTER
DOUBLE PRECISION (obsolete Fortran feature)

• No support for INTEGER*1, INTEGER*2,
INTEGER*8, INTEGER*16, REAL*8, REAL*16
• Cannot write/read buffers of those types

• Fortran types have to match C types
• No support for –r8 and –r16 flags (Fortran real =/=
C float)
October 15, 2008

HDF and HDF-EOS Workshop XII

12
Current Limitations
• No support for
INTEGER(KIND=n) and REAL(KIND=m)
• Integers n and m are called KIND parameters
• Returned by
selected _int_kind (r)
-10r < n < 10r
selected_real_kind(p,r)
p – precision
r – decimal exponent range

October 15, 2008

HDF and HDF-EOS Workshop XII

13
Current Limitations
• Limited support for derived types (compare with C
structures and HDF5 compound datatypes)
• Supports derived types with “native” fields only
• Doesn’t support complex HDF5 datatypes
(e.g., with array member, or nested compound)

• Writes/reads HDF5 compound datasets by fields
only
• Cannot be used in parallel applications
• No support for enum types

• No support for callback functions

October 15, 2008

HDF and HDF-EOS Workshop XII

14
Current Limitations - Summary
• Any application written according to Fortran
95/2003 standard will struggle using HDF5
Fortran Library
• Many HDF5 features are not available to Fortran
applications

October 15, 2008

HDF and HDF-EOS Workshop XII

15
Fortran 2003 Features
• Fortran 2003 provides a standardized mechanism
for interoperating with C
• Module ISO_C_BINDING for interoperability of
intrinsic types
• C_PTR and C_FUNCPTR for interoperability with
C pointers
• C_LOC(x) and C_FUNLOC(x) inquiry functions for
getting addresses of variables and procedures
• BIND attribute for interoperability of derived types
and C structures and enumerated types

October 15, 2008

HDF and HDF-EOS Workshop XII

16
Fortran 2003 Features and HDF5
• New 2003 features allowed us to support
• Any Fortran INTEGER and REAL type data in
HDF5 files
• Fortran derived types and HDF5 compound
datatypes
• Fortran enumerated types and HDF5 enumerated
types
• HDF5 APIs with callbacks

October 15, 2008

HDF and HDF-EOS Workshop XII

17
Fortran Compilers with 2003 Features
Compiler

Current versions and
status of HDF5

Future versions

Intel

Versions 10.1 and 11
All F2003 functionality
works in HDF5

g95

August 2008 and later; All
Fortran 2003 functionality
works in HDF5

gfortran

Version 4.4
Limited support for C
interoperability; HDF5
doesn’t work

No plans from compiler
developers to improve the
support

SUN compilers

Express-July 2008 build;
HDF5 doesn’t work

No timeline for fixes; may
be in a year

PGI

Version 7.2.1; HDF5
doesn’t work

Fixes will be available in
Version 8.

October 15, 2008

HDF and HDF-EOS Workshop XII

Version 11 will have a fix
that will allow us to
remove common blocks

18
Example

October 15, 2008

HDF and HDF-EOS Workshop XII

19
Example

October 15, 2008

HDF and HDF-EOS Workshop XII

20
Example
HDF5 "SDScompound.h5" {
GROUP "/" {
DATASET "ArrayOfStructures" {
DATATYPE H5T_COMPOUND {
H5T_ARRAY { [13] H5T_STRING {
STRSIZE 1;
STRPAD H5T_STR_SPACEPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
} } "chr_name";
H5T_STD_I8LE "a_name";
H5T_IEEE_F64LE "c_name";
H5T_IEEE_F32LE "b_name";
}
…..
October 15, 2008

HDF and HDF-EOS Workshop XII

21
Information

October 15, 2008

HDF and HDF-EOS Workshop XII

22
HDF5 file recovery or
Surviving a System Failure
through Metadata
Journaling
October 15, 2008

HDF and HDF-EOS Workshop XII

23
Surviving a System Failure in HDF5
• Problem:
• Data in an opened HDF5 files susceptible to
corruption in the event of an application or system
crash.
• Corruption possible if an opened HDF5 file has
been updated when the crash occurs.

• Initial Objective:
• Guarantee an HDF5 file with consistent metadata
can be reconstructed in the event of a crash.
• No guarantee on state of raw data – contains
whatever made it to disk prior to crash.
October 15, 2008

HDF and HDF-EOS Workshop XII

24
Crash Survivability in HDF5
• Approach: Metadata Journaling
• When an HDF5 file is opened with Metadata
Journaling enabled, a companion Journal file is
created.
• When an HDF5 API function that modifies
metadata is completed, a transaction is recorded in
the Journal file.
• If the application crashes, a recovery program can
replay the journal by applying in order all metadata
writes until the end of the last completed
transaction written to the journal file.

October 15, 2008

HDF and HDF-EOS Workshop XII

25
HDF5 Metadata Journaling Recovery
Application
crashed
h5recover tool

liFe Corrupted 5DFH

Restored
HDF5
File

Companion Journal File

Oct. 16 2008

HDF and HDF-EOS Workshop XII

26
Implementation Status
• Serial HDF5 with synchronous write mode
• Alpha1 released August 2008
• User interface (API definition and h5recover tool)
and file format may change

October 15, 2008

HDF and HDF-EOS Workshop XII

27
Metadata Journaling Plans
• Serial HDF5 with synchronous write mode
• Finalize User interface definitions and file format

• Serial HDF5 with asynchronous write mode
• To improve Journal file write speed

• More features (need funding)
• Make raw data operations atomic
• Allow "super‐transactions" to be created by
applications
• Enable journaling for Parallel HDF5

October 15, 2008

HDF and HDF-EOS Workshop XII

28
Questions?

October 15, 2008

HDF and HDF-EOS Workshop XII

29
Acknowledgement
• This report is based upon work supported in part
by a Cooperative Agreement with the National
Aeronautics and Space Administration (NASA)
under NASA Awards NNX06AC83A and
NNX08AO77A. Any opinions, findings, and
conclusions or recommendations expressed in
this material are those of the author(s) and do not
necessarily reflect the views of the National
Aeronautics and Space Administration.

October 16, 2008

HDF and HDF-EOS Workshop XII

30

More Related Content

What's hot

What's hot (6)

LCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLCU14 303- Toolchain Collaboration
LCU14 303- Toolchain Collaboration
 
Sprint 124
Sprint 124Sprint 124
Sprint 124
 
DO-178C: the OOT supplement
DO-178C: the OOT supplementDO-178C: the OOT supplement
DO-178C: the OOT supplement
 
Sprint 100
Sprint 100Sprint 100
Sprint 100
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
 
HDF Updae
HDF UpdaeHDF Updae
HDF Updae
 

Viewers also liked

The CFD General Notation System transition to HDF5
The CFD General Notation System transition to HDF5The CFD General Notation System transition to HDF5
The CFD General Notation System transition to HDF5
The HDF-EOS Tools and Information Center
 

Viewers also liked (20)

HDF Update
HDF UpdateHDF Update
HDF Update
 
Migrating from HDF5 1.6 to 1.8
Migrating from HDF5 1.6 to 1.8Migrating from HDF5 1.6 to 1.8
Migrating from HDF5 1.6 to 1.8
 
EOSDIS Status
EOSDIS StatusEOSDIS Status
EOSDIS Status
 
Status of HDF-EOS, Related Software, and Tools
Status of HDF-EOS, Related Software, and ToolsStatus of HDF-EOS, Related Software, and Tools
Status of HDF-EOS, Related Software, and Tools
 
HDF5 OPeNDAP project update and demo
HDF5 OPeNDAP project update and demoHDF5 OPeNDAP project update and demo
HDF5 OPeNDAP project update and demo
 
Shifting the Burden from the User to the Data Provider
Shifting the Burden from the User to the Data ProviderShifting the Burden from the User to the Data Provider
Shifting the Burden from the User to the Data Provider
 
HDF and HDF-EOS Experiences and Applications
HDF and HDF-EOS Experiences and ApplicationsHDF and HDF-EOS Experiences and Applications
HDF and HDF-EOS Experiences and Applications
 
Proposal for adding Named Dimensions to HDF5 Arrays
Proposal for adding Named Dimensions to HDF5 ArraysProposal for adding Named Dimensions to HDF5 Arrays
Proposal for adding Named Dimensions to HDF5 Arrays
 
ENVI/IDL for HDF
ENVI/IDL for HDFENVI/IDL for HDF
ENVI/IDL for HDF
 
Profile of HDF-EOS5 Files
Profile of HDF-EOS5 FilesProfile of HDF-EOS5 Files
Profile of HDF-EOS5 Files
 
Workshop Discussion: HDF & HDF-EOS Future Direction
Workshop Discussion: HDF & HDF-EOS Future DirectionWorkshop Discussion: HDF & HDF-EOS Future Direction
Workshop Discussion: HDF & HDF-EOS Future Direction
 
Support for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF GroupSupport for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF Group
 
Profile of NPOESS HDF5 Files
Profile of NPOESS HDF5 FilesProfile of NPOESS HDF5 Files
Profile of NPOESS HDF5 Files
 
The CFD General Notation System transition to HDF5
The CFD General Notation System transition to HDF5The CFD General Notation System transition to HDF5
The CFD General Notation System transition to HDF5
 
The MATLAB Low-Level HDF5 Interface
The MATLAB Low-Level HDF5 InterfaceThe MATLAB Low-Level HDF5 Interface
The MATLAB Low-Level HDF5 Interface
 
Reading HDF family of formats via NetCDF-Java / CDM
Reading HDF family of formats via NetCDF-Java / CDMReading HDF family of formats via NetCDF-Java / CDM
Reading HDF family of formats via NetCDF-Java / CDM
 
Using HDF5 Archive Information Package to preserve HDF-EOS2 data
Using HDF5 Archive Information Package to preserve HDF-EOS2 dataUsing HDF5 Archive Information Package to preserve HDF-EOS2 data
Using HDF5 Archive Information Package to preserve HDF-EOS2 data
 
ORNL DAAC MODIS Land Product Subsets
ORNL DAAC MODIS Land Product SubsetsORNL DAAC MODIS Land Product Subsets
ORNL DAAC MODIS Land Product Subsets
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Advanced HDF5 Features
Advanced HDF5 FeaturesAdvanced HDF5 Features
Advanced HDF5 Features
 

Similar to What will be new in HDF5?

Similar to What will be new in HDF5? (20)

HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
Hdf5 parallel
Hdf5 parallelHdf5 parallel
Hdf5 parallel
 
HDF Status and Development
HDF Status and DevelopmentHDF Status and Development
HDF Status and Development
 
Moving applications to HDF5 1.8
Moving applications to HDF5 1.8Moving applications to HDF5 1.8
Moving applications to HDF5 1.8
 
HDF5 Backward and Forward Compatibility Issues
HDF5 Backward and Forward Compatibility IssuesHDF5 Backward and Forward Compatibility Issues
HDF5 Backward and Forward Compatibility Issues
 
HDF Project Status and Plans
HDF Project Status and PlansHDF Project Status and Plans
HDF Project Status and Plans
 
Parallel HDF5 Developments
Parallel HDF5 DevelopmentsParallel HDF5 Developments
Parallel HDF5 Developments
 
Introduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming ModelsIntroduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming Models
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Hdf5 current future
Hdf5 current futureHdf5 current future
Hdf5 current future
 
HDF-EOS Status and Developments
HDF-EOS Status and DevelopmentsHDF-EOS Status and Developments
HDF-EOS Status and Developments
 
Hierarchical Data Formats (HDF) Update
Hierarchical Data Formats (HDF) UpdateHierarchical Data Formats (HDF) Update
Hierarchical Data Formats (HDF) Update
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDF5 iRODS
HDF5 iRODSHDF5 iRODS
HDF5 iRODS
 
Status of HDF-EOS, Related Software, and Tools
Status of HDF-EOS, Related Software, and ToolsStatus of HDF-EOS, Related Software, and Tools
Status of HDF-EOS, Related Software, and Tools
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

More from The HDF-EOS Tools and Information Center

More from The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
Leveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software TestingLeveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software Testing
 
Google Colaboratory for HDF-EOS
Google Colaboratory for HDF-EOSGoogle Colaboratory for HDF-EOS
Google Colaboratory for HDF-EOS
 
Parallel Computing with HDF Server
Parallel Computing with HDF ServerParallel Computing with HDF Server
Parallel Computing with HDF Server
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

What will be new in HDF5?

  • 1. What will be new in HDF5? October 15, 2008 HDF and HDF-EOS Workshop XII 1
  • 2. HDF5 Road Map Performance Ease of use Robustness Innovation October 15, 2008 HDF and HDF-EOS Workshop XII 2
  • 3. Outline • Performance improvements • Fortran 2003 features • HDF5 file recover (metadata journaling) October 15, 2008 HDF and HDF-EOS Workshop XII 3
  • 4. Performance Improvements October 15, 2008 HDF and HDF-EOS Workshop XII 4
  • 5. Performance Improvements in HDF5 • Examples of completed work: • New implementation of metadata cache to improve I/O performance and memory usage when accessing many objects (HDF5 1.8.0) • Faster, more scalable storage and access for large groups (HDF5 1.8.0) October 15, 2008 HDF and HDF-EOS Workshop XII 5
  • 6. Performance Improvements in HDF5 • Work in progress • New implementation of free-space management • Affects “dynamic” applications that add/delete/modify existing objects • When creating HDF5 objects, space is allocated from available space tracked by the free-space manager • When deleting objects, unused space is added to the free-space pool via free-space manager • Current implementation uses O(N2) operations for each N allocations or freeing space • New implementation O(log2N) October 15, 2008 HDF and HDF-EOS Workshop XII 6
  • 7. Free-space Management • Test: creating/deleting attributes • • • • Create first set of attributes Delete odd-numbered attributes from the first set Create second set of attributes Delete all attributes from the second set Number of attributes Old New Improvement implementation implementation ratio 500 786.5 sec 68.2 sec 11.5x 1000 11000 sec 289 sec 38x October 15, 2008 HDF and HDF-EOS Workshop XII 7
  • 8. Performance Improvements in HDF5 • Work in progress • Fast data append (along slowest changing dimension) • Future areas of interest • Efficient chunking cache implementation (NetCDF4) • Efficient handling of the variable-length data including compression (will affect sizes of NPOESS files) October 15, 2008 HDF and HDF-EOS Workshop XII 8
  • 9. Fortran 2003 features October 15, 2008 HDF and HDF-EOS Workshop XII 9
  • 10. Status of the HDF5 Fortran Library • HDF5 Fortran library is a part of standard HDF5 distribution • First release goes back to 1999 • Implemented as Fortran90 wrappers on top of the HDF5 C library • Supported on Linux, Windows, Mac Intel, Solaris, VMS, clusters, etc. • Compilers • Open source gfortran, g95 • Vendors (SUN, Intel, PGI, Absoft) • 32 and 64-bit versions October 15, 2008 HDF and HDF-EOS Workshop XII 10
  • 11. HDF5 Fortran Library • Mimics HDF5 C APIs • Fortran 90 features used • • • • • Modules Function overloading Function interfaces Dynamic memory allocation Optional parameters • Many Fortran APIs are simpler than their C counterparts October 15, 2008 HDF and HDF-EOS Workshop XII 11
  • 12. Current Limitations • Supports only “native” Fortran types such as • • • • INTEGER REAL CHARACTER DOUBLE PRECISION (obsolete Fortran feature) • No support for INTEGER*1, INTEGER*2, INTEGER*8, INTEGER*16, REAL*8, REAL*16 • Cannot write/read buffers of those types • Fortran types have to match C types • No support for –r8 and –r16 flags (Fortran real =/= C float) October 15, 2008 HDF and HDF-EOS Workshop XII 12
  • 13. Current Limitations • No support for INTEGER(KIND=n) and REAL(KIND=m) • Integers n and m are called KIND parameters • Returned by selected _int_kind (r) -10r < n < 10r selected_real_kind(p,r) p – precision r – decimal exponent range October 15, 2008 HDF and HDF-EOS Workshop XII 13
  • 14. Current Limitations • Limited support for derived types (compare with C structures and HDF5 compound datatypes) • Supports derived types with “native” fields only • Doesn’t support complex HDF5 datatypes (e.g., with array member, or nested compound) • Writes/reads HDF5 compound datasets by fields only • Cannot be used in parallel applications • No support for enum types • No support for callback functions October 15, 2008 HDF and HDF-EOS Workshop XII 14
  • 15. Current Limitations - Summary • Any application written according to Fortran 95/2003 standard will struggle using HDF5 Fortran Library • Many HDF5 features are not available to Fortran applications October 15, 2008 HDF and HDF-EOS Workshop XII 15
  • 16. Fortran 2003 Features • Fortran 2003 provides a standardized mechanism for interoperating with C • Module ISO_C_BINDING for interoperability of intrinsic types • C_PTR and C_FUNCPTR for interoperability with C pointers • C_LOC(x) and C_FUNLOC(x) inquiry functions for getting addresses of variables and procedures • BIND attribute for interoperability of derived types and C structures and enumerated types October 15, 2008 HDF and HDF-EOS Workshop XII 16
  • 17. Fortran 2003 Features and HDF5 • New 2003 features allowed us to support • Any Fortran INTEGER and REAL type data in HDF5 files • Fortran derived types and HDF5 compound datatypes • Fortran enumerated types and HDF5 enumerated types • HDF5 APIs with callbacks October 15, 2008 HDF and HDF-EOS Workshop XII 17
  • 18. Fortran Compilers with 2003 Features Compiler Current versions and status of HDF5 Future versions Intel Versions 10.1 and 11 All F2003 functionality works in HDF5 g95 August 2008 and later; All Fortran 2003 functionality works in HDF5 gfortran Version 4.4 Limited support for C interoperability; HDF5 doesn’t work No plans from compiler developers to improve the support SUN compilers Express-July 2008 build; HDF5 doesn’t work No timeline for fixes; may be in a year PGI Version 7.2.1; HDF5 doesn’t work Fixes will be available in Version 8. October 15, 2008 HDF and HDF-EOS Workshop XII Version 11 will have a fix that will allow us to remove common blocks 18
  • 19. Example October 15, 2008 HDF and HDF-EOS Workshop XII 19
  • 20. Example October 15, 2008 HDF and HDF-EOS Workshop XII 20
  • 21. Example HDF5 "SDScompound.h5" { GROUP "/" { DATASET "ArrayOfStructures" { DATATYPE H5T_COMPOUND { H5T_ARRAY { [13] H5T_STRING { STRSIZE 1; STRPAD H5T_STR_SPACEPAD; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } } "chr_name"; H5T_STD_I8LE "a_name"; H5T_IEEE_F64LE "c_name"; H5T_IEEE_F32LE "b_name"; } ….. October 15, 2008 HDF and HDF-EOS Workshop XII 21
  • 22. Information October 15, 2008 HDF and HDF-EOS Workshop XII 22
  • 23. HDF5 file recovery or Surviving a System Failure through Metadata Journaling October 15, 2008 HDF and HDF-EOS Workshop XII 23
  • 24. Surviving a System Failure in HDF5 • Problem: • Data in an opened HDF5 files susceptible to corruption in the event of an application or system crash. • Corruption possible if an opened HDF5 file has been updated when the crash occurs. • Initial Objective: • Guarantee an HDF5 file with consistent metadata can be reconstructed in the event of a crash. • No guarantee on state of raw data – contains whatever made it to disk prior to crash. October 15, 2008 HDF and HDF-EOS Workshop XII 24
  • 25. Crash Survivability in HDF5 • Approach: Metadata Journaling • When an HDF5 file is opened with Metadata Journaling enabled, a companion Journal file is created. • When an HDF5 API function that modifies metadata is completed, a transaction is recorded in the Journal file. • If the application crashes, a recovery program can replay the journal by applying in order all metadata writes until the end of the last completed transaction written to the journal file. October 15, 2008 HDF and HDF-EOS Workshop XII 25
  • 26. HDF5 Metadata Journaling Recovery Application crashed h5recover tool liFe Corrupted 5DFH Restored HDF5 File Companion Journal File Oct. 16 2008 HDF and HDF-EOS Workshop XII 26
  • 27. Implementation Status • Serial HDF5 with synchronous write mode • Alpha1 released August 2008 • User interface (API definition and h5recover tool) and file format may change October 15, 2008 HDF and HDF-EOS Workshop XII 27
  • 28. Metadata Journaling Plans • Serial HDF5 with synchronous write mode • Finalize User interface definitions and file format • Serial HDF5 with asynchronous write mode • To improve Journal file write speed • More features (need funding) • Make raw data operations atomic • Allow "super‐transactions" to be created by applications • Enable journaling for Parallel HDF5 October 15, 2008 HDF and HDF-EOS Workshop XII 28
  • 29. Questions? October 15, 2008 HDF and HDF-EOS Workshop XII 29
  • 30. Acknowledgement • This report is based upon work supported in part by a Cooperative Agreement with the National Aeronautics and Space Administration (NASA) under NASA Awards NNX06AC83A and NNX08AO77A. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Aeronautics and Space Administration. October 16, 2008 HDF and HDF-EOS Workshop XII 30

Editor's Notes

  1. Maybe Objective bullets do belong on later slide… not sure.