OM: Optimization of Middleware and Distributed Systems