Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD1 HDF5 Software Process MuQun Yang, Quincey Koziol, Elena Pourmal The HDF Group.

Similar presentations


Presentation on theme: "11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD1 HDF5 Software Process MuQun Yang, Quincey Koziol, Elena Pourmal The HDF Group."— Presentation transcript:

1 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD1 HDF5 Software Process MuQun Yang, Quincey Koziol, Elena Pourmal The HDF Group

2 Purposes Demonstrate how we maintain HDF5 - Libraries and tools built on top of HDF5 HDF-EOS5, NetCDF4 and Pytables etc Hear your feedback 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD2

3 Three pillars for robust software Correctness Performance Coding standard 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD3

4 HDF5 software challenges - Portability Portability: IBM,SGI,windows, linux, Solaris, OSF1, cygwin, Cray,FreeBSD, Mac-OS Parallel IO: depends on MPI-IO, parallel File System and hardware - MPI-IO: IBM AIX, MPICH, SGI Altix - Parallel File System: GPFS, Lustre 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD4

5 HDF5 software challenges - Features Programming languages - C, Fortran, C++ External libraries: szlib encoder and decoder, zlib Comprehensive internal library test suite - time-consuming tests: fractral heap 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD5

6 HDF5 software challenges - Others 34 configuration features --enable-cxx, --enable-fortran etc. THE TESTING CHALLENGE machines x operating systems x compilers x languages x Szip (encoder + no encoder) x (serial + parallel) = a very large number Coordination among developers - 3-4 core library developers 5-6 developers for tools and others - subversion not enough 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD6

7 Solutions HDF5 Daily Test on main-stream UNIX platforms -Rob Matzke started around 1997 -Albert Cheng took over More platforms, testing with more features Different version of HDF5 1.6, 1.8 Other product: HDF4 Other platforms: Windows 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD7

8 Daily automatic test procedure 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD8 Start the automatic job 1. Configuring 2. Compiling library and tools 3. Running tests for library and tools 4. Installing the library 5. Testing examples Sending out the results to hdf5 library mailing lists 1. Platform watcher diagnoses the failure 2. Inform the corresponding developer if the failure is real The developer fixes the problem

9 An example for daily test Date: Tue, 6 Nov 2007 08:00:15 -0600 [08:00:15 AM CST] From: HDF Tester hdftest@hdfgroup.orghdftest@hdfgroup.org To: hdf5lib@hdfgroup.orghdf5lib@hdfgroup.org Subject: kagiso HDF5_Daily_Tests_1106Tue_FAILED!!! 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD9 Date: Tue, 6 Nov 2007 09:23:49 -0600 [09:23:49 AM CST] From: Quincey Koziol To: hdf5lib@hdfgroup.org Subject: Re: kagiso HDF5_Daily_Tests_1106Tue_FAILED!!!

10 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD10

11 Other helpers Committest script - automatically test a few platforms before checking in source code Save developers’ time 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD11

12 Performance High IO performance is always a goal for THG Detect bad performance in time Performance framework 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD12

13 Performance framework Easy to Use for Various Benchmarks Multiple Platforms and Versions Long Term Regression Tests Help Debugging 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD13

14 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD14 Background Backend: Cron job / DB Storage Core: Performance C/C++ Library Frontend: PHP / jpgraph

15 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD15 Solution Easy to Use A User’s Benchmark Performance Library Database Web Server cron www HDF5 1.6HDF5 1.8 PHP Graph/Text

16 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD16 | 178820 | 2007-08-17 21:51:14 | 10000 groups | creating 10000 empty groups | 1.8.0 | hdfdap | 0.670198 | 4384 | for(i=0;i<1000 ;i++) { H5Gcreate(fileid,group_name,(size_t)0)); // Add groups } H5Perf_endTimer(&time); H5Perf_startTimer(&time); H5Perf_addInstance(db_host, date, time); Example Usage 00 21 * * * /home/local/hyoklee/src/chicago/test-perf-hdfdap-3.sh TimestampInstance Name VersionPlatformTime

17 Demo http://hdfdap.hdfgroup.uiuc.edu/h5perf/index.html 11/7/200717HDF and HDF-EOS Workshop XI, Landover, MD

18 Other Performance work Performance studies compression, chunking and parallel IO http://www.hdfgroup.uiuc.edu/papers/papers/ 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD18

19 Coding standard Not much except seminars on HDF4/HDF5 coding standards – We definitely need to improve in this area 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD19

20 Other work we have done to improve software process 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD20

21 User involvements Public mailing lists hdf-forum@hdfgroup.org hdfnews@hdfgroup.org hdf4dev@hdfgroup.org hdf5dev@hdfgroup.org Public RFCs Solicit comments for new HDF5 features etc. http://www.hdfgroup.uiuc.edu/RFC/HDF5/ http://www.hdfgroup.uiuc.edu/RFC/HDF5/ Ask special groups to give us feedback http://www.hdfgroup.uiuc.edu/RFC/HDF5/H5CHK/ Subversion repo 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD21

22 Trainings for developers Internally Book reading: Programming Pearls Attending Dr. Dobb’s software conference 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD22

23 Near-term plan Enhance daily correctness tests  API compatibility tests: done  API Version tests: in the process  Java wrapper tests: done  Open source packages that use HDF o EOS2 with HDF4 o EOS5 with HDF5 o NetCDF4 with HDF5 Weekly “stable” code snapshots 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD23

24 Long-term Plan Coding standard: code review Standards : - In the process of applying for ISO/ANSI standard for HDF5 500 random API tests to avoid ungraceful crash Collect existing HDF5 files such as EOS2, EOS5 files - Running all HDF4/HDF5 tools on these files periodically Daily correlation regression tests on external machines 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD24

25 11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD25 Acknowledgement This work was supported basing upon the Cooperative Agreement with the National Aeronautics and Space Administration (NASA) under NASA grant NNX06AC83A. 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 NASA.


Download ppt "11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD1 HDF5 Software Process MuQun Yang, Quincey Koziol, Elena Pourmal The HDF Group."

Similar presentations


Ads by Google