Characterization And Optimization Of The I/O Software Stack In Complex Applications And Workflows