Windows Server 2008 Parallel Session Creation Revisited
Wednesday, 03 October 2007 by Michel Roth
A little known new feature of Windows Server 2008 is Parallel Session Creation. The word parallel in "parallel session creation" is key here. This is because in Windows 2003 (and earlier) sessions (~logons) were created one after another. A next logon could only be processed after the one prior to that was finished.

You can imagine what this does to Terminal Server logon times at peak hours. So, Windows Server 2008 introduces parallel session creation which allows for parallel logons. it's limited to four simultaneous logons for four cores but at least it's a start.

Helge Klein has written a detailed blog entry on how Windows Server 2008 parallel session creation is accommodated. In this great article Helge mentions that he hopes that Windows Server 2008 parallel session creation would eliminate the black hole effect. Chances are that the Black hole effect will be something of the past in Windows Server 2008 but this will not be due to parallel session creation but due to other enhancements made to Windows Server 2008 Terminal Services. I've discussed this in my article on the Windows Server 2008 Session Broker Load Balancing: The Session Broker Load Balancing has built-in black hole protection (logon throttling) and a max-session count. The black hole protection is pretty advanced. It has two ways of protecting a server against the Black Hole effect. One is by artificially making the load on a server higher during a logon to prevent a Teminal Server being overrun by new logins. The load will return back to normal when the logon process is finished. Another way the black hole effect is circumvented is by the Session Broker itself. It can have a limit in outstanding connections to the same Terminal Server. So for example no more than eight concurrent user logons per server. Simple but effective.

The max-session count means that every server in the farm has determined a maximum amount of sessions that it can host. This prevents a degraded user experience for the users already connected to a Terminal Server should some Terminal Servers in the farm not be available. This is at the expense of new users not being able to set up a session at all of course. The max-session limit however is something you'll need to configure yourself: it's not automagicly calculated by Terminal Server. Actually, it's disabled by default and not configurable via the GUI. If you want to enable it, you need to set the UserSessionLimit key in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server to the maximum amount of sessions you want to allow on that server.

Related Items:

Windows Server 2008 Parallel Session Creation (25 June 2007)
Terminal Server Session Broker (29 February 2008)
Understanding The New Logon Throttling Load Evaluator Options In Citrix Presentation Server 4.5 (6 May 2007)
Hotfix PSE400R01W2K3027 For PS4.0 Fixes The "Black Hole Effect" (6 March 2006)
A closer look at Session Broker load balancing in Windows Server 2008 (7 July 2007)
Terminal Services Architecture (14 February 2008)
Understanding Citrix Slow-Start load balancing (15 March 2006)
Introducing Terminal Services Server Drain Mode (18 June 2007)
Introducing MSTSC /admin (19 December 2007)
A Closer Look At Session Broker Load Balancing In Windows Server 2008 (7 June 2007)
Comments (0)