Search

link to homepage

Institute for Advanced Simulation (IAS)

Navigation and service


SIONlib: Scalable I/O library for parallel access to task-local files

Copyright

Copyright (c) 2008-2014, Forschungszentrum Juelich GmbH, Federal Republic of Germany
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the Forschungszentrum Juelich GmbH, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Release Notes

sionlib Version 1.5p1: (June 2014)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - Updates/Bugfixes 1.5p1:
    • changes in fortran interface: size and number of elements changed from integer*4 to integer*8
    • added more checks of input parameters for sion_fread
    • changed open mode "r+" to increase performance

sionlib Version 1.5rc1: (first release candidate April 2014)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.5rc1:
    • change to Fortran-API: some parameter of function are changed to integer*8 (e.g. size and nitems of fsion_write())
    • key-value interface: changed to dense writing to chunks, meta data and data could be distributed to subsequent chunks
    • key-value interface: new iterator functions to read key,value pairs in write order
    • key-value interface: key-value moder is now stored in meta-data and will be reported by siondump
    • sion_dup: now available for generic and mapped interface
  • - Updates/Bugfixes 1.5rc1:
    • bug fix: Removed further memory leaks
    • bug fix: fix problems with buffer mode

sionlib Version 1.5beta1: (Mar 2014)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.5beta1:
    • New key-value interface for saving data associated with a key, e.g. for saving data from different threads inside a single rank. The implementation features:
      • Simple interface
      • Works with generic mapped files
      • Stable ordering
      • Iterating over all available keys and values
  • - Updates/Bugfixes 1.5beta1:
    • bug fix: Removed memory leaks

sionlib Version 1.4p3: (Nov 2013)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.4p3:
    • New generic API to implement SIONlib API using own communication layer(s)
    • New API functions for open existent or create new SION files using different number of tasks in file and application (sion_paropen_mapped_mpi)
    • Language support for Fortran90
    • Language support for C++ (API preview)
  • - Updates/Bugfixes 1.4p3:
    • Re-organization of libraries and header files: different libraries for MPI, OpenMPI, Hybrid, generic, serial use cases
    • Update Makefiles: make checkinst, make packinst, make depend, ...
    • return codes of functions are now defined with constants: SION_SUCCESS, SION_NOT_SUCCESS, SION_ID_UNDEF, SION_ID_NOT_VALID, SION_SIZE_NOT_VALID, ...
    • bug fix: Optimization for BG/Q: disable fsync
    • bug fix: thread-safe handling of sion file descriptor management
    • improved support for Cray system
    • bug fixes: Fortran length field, partest, packtest, ...

sionlib Version 1.3p7: (March 2013)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.3p7:
    • IBM BG/Q (optimisation for hybrid MPI/OpenMPI)
  • - Updates/Bugfixes 1.3p7:
    • support for intelpoe and intel2 configuration
    • add more functions to Fortran API
    • bugfix: character length field for C-functions of Fortran API

sionlib Version 1.3p5: (March 2012)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.3p5:
  • - Updates/Bugfixes 1.3p5:
    • IBM BG/Q / Cray XK6 support
    • bug fixes

sionlib Version 1.3p4: (Aug 2011)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.3p4:
    • new tool: sionversion: shows version number
    • more support for collective write/read functions
  • - Updates/Bugfixes 1.3p4:
    • internal optimization, if fileptr is not used by application
    • bug fixes

sionlib Version 1.3p2: (July 2011)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.3p2:
    • SION debug supports now OpenMP
  • - Updates/Bugfixes 1.3p2:
    • sionconfig changed for Linux default, library name contains now precision
    • sion_fread: check feof before read data, move to next chunk if necessary
    • correct handling of second_fp, needed for compression libraries
    • serial read fileptr parameter was not set in each case

sionlib Version 1.3p1: (June 2011)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.3p1:
    • Support for OpenMP and hybrid programs (MPI+OpenMP)
    • internal I/O layer using POSIX or ANSI-C calls
    • experimental: collective I/O (MPI)
    • partest: new option handling
  • - Updates/Bugfixes 1.3p1:
    • several fixes

sionlib Version 1.2p2: (May 2010)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New features in 1.2p2:
    • Multi-File support in serial tools and API
    • New installation process with configure tool
    • make test (serial and parallel)
    • New serial tool: sioncat
  • - Updates/Bugfixes 1.2p1:
    • Restructured source code
    • sion.h cleaned, contains now only public interface
    • several fixes

sionlib Version 1.1p9: (November 2009)

  • - Updates/Bugfixes 1.1p9:
    • Fortran interface updated

sionlib Version 1.1p8: (November 2009)

  • - New Features in 1.1p8:
    • new option -X to partest: remove files after using
  • - Updates/Bugfixes 1.1p8:
    • bug fix: determines now right physical file distribution if local commicator is used and global rank 0 is different to local rank 0
    • bug fix in siondump: print now correct filename for first file
    • removed double open of file for write in sion_open
    • fixes for performance improvements on IBM Blue Gene/P

sionlib Version 1.1p7: (September 2009)

  • - New Features in 1.1p7:
    • additional function to get information about SION-file (e.g. sion_get_current_location, sion_get_bytes_written, sion_get_bytes_read)
    • error handling enhanced
    • Fortran interface enhanced
    • siondump: new option -m (print map)
    • partest: new option -Z offset, read data from other task to prevent cache effect in measurement
  • - Updates/Bugfixes 1.1p7:
    • more tests on different platforms
    • fixes for performance improvements on IBM Blue Gene/P
    • partest: increased MAX_PE to 288k

sionlib Version 1.1p6: (May 5th 2009)

  • --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New Features in 1.1p6:
    • new wrapper functions sion_fwrite, sion_fread (beta)
    • automatic determination of file system block size, if parameter is -1

sionlib Version 1.1p5 (beta): (February 4th 2009)

  • - first down-loadable version 1.1p5 of sionlib (beta)
    --> see http://www.fz-juelich.de/jsc/sionlib/
  • - New Features in 1.1p5:
    • Multifile option (one sionfile consists of serveral phsical files) is implemented and tested
    • Fortran Interface is implemented and tested
    • parallel benchmarking programs partest and fpartest for sionlib and MPI/IO available
    • sionlib with Fortran Interface is used in production code PEPC
    • Doxygen documentation available
    • simple parallel example program,
    • serial utilities: sionsplit, siondump and sionmerge
    • examples programs for converting application specific data to sionlib files
  • - Tests:
    • tests on Blue Gene/P up to 64k cores, 2 TB files --> 90% of Peak bandwidth
    • tests on IBM Power 6 and Linux-Systems
    • first functional tests on Cray XT4

Servicemeu

Homepage