1. A system for providing fault tolerant processing in an implantable medical device, comprising: an implantable medical device comprising a processor and memory store, the processor and memory store configured to execute a plurality of threads; temporal and spatial constraints assigned to one or more of the threads, wherein the temporal and spatial constraints are applicable to individual threads or classes of threads; and a kernel, comprising: a scheduler configured to divide processing time among the plurality of threads; and a thread monitor configured to monitor execution of each of the threads for which temporal and spatial constraints are assigned, wherein the spatial constraints comprise a unique thread identifier assigned to individual threads or classes of threads prior to execution, wherein the thread monitor compares the unique thread identifier provided by a completed thread against a stored thread identifier, wherein mismatch of the completed thread identifier and the stored thread identifier indicates a violation of the spatial constraint, and wherein the thread monitor is further configured to issue a response upon violation of either of the temporal and spatial constraints by individual threads or classes of threads.