1. A method, comprising: organizing processes that serve remote sessions into a plurality of groups, each group including every process that serves a corresponding single remote session that executes on a corresponding single remote client, at least two groups of the plurality of groups having different numbers of processes; allocating a corresponding central processing unit (CPU) time interval to each group that includes every process associated with a respective single remote session by equally distributing a CPU cycle based on a quantity of the plurality of groups; adjusting the CPU time intervals based on a change in the quantity of the plurality of groups; providing one or more portions of the CP cycle to each of the plurality of groups until each group is one of idle or consumes its corresponding CPU time interval; and providing one or more additional portions of the CPU cycle to at least a firs group that has consumed its corresponding CPU time interval when at least a second group that has not consumed its corresponding time interval is idle and the CPU cycle is not complete.