The invention provides a method and system for scheduling tasks in an MP
system, and provides parallel execution of those tasks while implicitly
synchronizing access to resources used by that system. Tasks in the
system are each assigned to a scheduling domain, thus associating those
tasks with a set of resources controlled by that domain. A scheduler
operating at each processor implicitly synchronizes those resources
controlled by each domain, by scheduling only one task for each domain to
execute concurrently in the system. Because each instance of the
scheduler selects which task is next run independently of its processor,
each domain can migrate from one processor to another; thus, each domain
can have a task executing on any processor, so long as no domain has two
tasks executing concurrently in the system. Thus, domains are not bound
to any particular processor. Hence the method and system are symmetric.