Optimizing Performance on Trinity Utilizing Machine Learning, Proxy Applications and Scheduling Priorities