Adaptive Resource Management For Mobile Multiprocessors Through Computational Self-Awareness