A Generalized Software Approach for Node-level Power Management