1. A method for proactive resource allocation and configuration in a system on a chip (“SoC”), the method comprising: compiling and linking a profile instrumented application with a compiler comprising a profile guided optimization feature, wherein compiling and linking the profile instrumented application comprises inserting calls to a profiler runtime; executing the profile instrumented application on a target device including the SoC using a plurality of workload datasets, wherein the workload datasets are representative of a range of probable workloads; monitoring the profile instrumented application during its execution and, based on recognition of the inserted calls, generating an instrumentation-based profile dataset in association with each of the plurality of workload datasets; recompiling and relinking the profile instrumented application based on the instrumentation-based profile datasets, wherein recompiling and relinking the profile instrumented application comprises creating a set of profile guided optimizations to the source code and generating an optimized application; executing the optimized application and generating a revised profile dataset, wherein the revised profile dataset is used to control the target device for workload allocation and resource configuration by instructing adjustment of dynamic voltage and frequency scaling (“DVFS”) to one or more components in the SoC prior to allocation of a workload associated with the application, wherein the revised profile dataset forms part of object code of the optimized application; writing information back to the revised profile dataset of the optimized application to update the revised profile dataset of the optimized application in response to behavior of the optimized application in execution.