A Hierarchical Optimization Framework for Autonomic Performance Management of Distributed Computing Systems