Improving Scalability And Usability Of Parallel Runtime Environments For High Availability And High Performance Systems