1. A method of task management using memory ranges of shared memory, comprising the steps of: a. executing multiple instances of a kernel; b. generating one or more tasks to be executed from a plurality of the instances of the kernel; c. atomizing the one or more tasks into one or more atomic sub-tasks; d. assigning protection attributes indicating a portion of one of the memory ranges of the shared memory for each respective atomic sub-task of the one or more atomic sub-tasks such that each respective sub-task is executed by one of a plurality of processors which inherits access rights to the shared memory indicated by the protection attributes corresponding to the respective atomic sub-task; and e. generating one or more groups of temporal related tasks from the one or more atomic sub-tasks, and prioritizing and connecting the one or more groups of temporal related tasks by their temporal relationship and inserting the each temporal related tasks of each of the one or more groups of temporal related tasks into a central task queue to be executed according to their temporal relationship by one or more of the plurality of processors, wherein each of the protection attributes corresponding to a common instance of the multiple instances of the kernel is assigned to a common memory range of the memory ranges and protection attributes corresponding to different instances of the multiple instances of the kernel are assigned to respectively different memory ranges of the shared memory.