Various exemplary embodiments relate to a method performed by a first processor for managing a second processor, wherein both processors have access to a same external memory, the method comprising: monitoring performance of the second processor by the first processor running sanity polling, wherein sanity polling includes checking the same external memory for status information of the second processor; performing thread state detection by the first processor, for threads executing on the second processor; and performing a corrective action as a result of either the monitoring or the performing.