Patent ID: 8347293

Claim:
A method comprising: creating, by a storage server, a first domain for processes that are executable on a plurality of processors, the first domain comprising a plurality of threads that execute multiple processes in the first domain in parallel to service requests received by the storage server, wherein each of the plurality of threads in the first domain is operable to execute any of the multiple processes in the first domain; logically dividing a data set managed by the processors into a plurality of subsets; assigning each of the subsets of the data set to exactly one of the plurality of threads in the first domain, for processing of requests related to the data set in parallel, wherein each request processed by the first domain is directed to only one of the plurality of subsets; and creating a second domain for processes other than the processes in the first domain, wherein only one process executes at a time in the second domain, wherein only the second domain is configured to process a received request directed to more than one of the plurality of subsets, wherein at least one of the processes in the first domain conflicts with one of the processes in the second domain, and wherein no process in the first domain is permitted to execute while any process in the second domain is executing and no process in the second domain is permitted to execute while any process in the first domain is executing.