Cheapest way to get Terminal Server Licenses, Temporarily

Due to a very odd convergence of the software planets, I have a situation where I’d like to run 8 desktop sessions, all from my PC over RDP and into a single PC running Windows Server 2003.
This is an attempt to work around an app that I use for data mining, which is not properly multi-threaded.
I’d like to use an 8-core system to minimize execution time for a big honking data set.
I am aware that the remote server has 2 TS licenses built-in. I only need to engage in what I’m planning on doing for a 2-4 weeks.
What’s my cheapest option?

PS- I’ve got no possible replacement for the data mining app in question. It’s the only suitable app for what I’m doing.

If youi have one device connecting to one terminal server can’t you use a Terminal Server User Client Access Licence?

from http://www.microsoft.com/windowsserver2003/howtobuy/licensing/ts2003.mspx

Hmm. Great question. I know the default licensing I’m given only lets me make 2 “sessions” as it were:
Even if I connect twice, accidentally lose connect to session 2, then try to connect again on a different user this time, I can’t open the 3rd session.

If your Terminal Server is in Server Administration mode, you only get two concurrent connections at a time no matter how many licenses you have. If your Server is in Application Server mode you can run as many concurrent sessions as you have licenses. And you may not need to get licenses. In the past (and still as far as I know) RDP clients running on XP or Vista are allowed as “free” licenses, because MS says you paid the license for that workstation as part of the fee you paid for the OS.

Be aware that putting the server in Application server mode makes it act differently while installing new apps. It’s been a while so I don’t remember the exact differences, but there were some.

Why not simply have one session and run 8 instances of the application?

BTW you may find that you do not get the performance you are expecting if the application uses datasets which exceed the cache sizes.

When I try to launch the app for the second time, it just switches focus to the already running app.
On the second login instance, I can launch the second one just fine.
Thank you for the warning re: datasets.

Perhaps you could use virtualization to run multiple instances of Windows within your single terminal server session. Virtual Box is free. I’ve no idea if that’s a useful or practical suggestion. You would need a lot of memory but it would get around the single instance application issue.

You may be able to solve your problems using open-source software. Can you install a VNC server on your Windows server? I haven’t used VNC in a while; maybe try TightVNC.

If you need to encrypt the traffic you can tunnel it over ssh using OpenSSH for Windows. Actually, if you can do all of your work on the command line I would suggest just using ssh.

VNC doesn’t technically create a separate user session. So technically the OP should be able to do three sessions (1 console session, and two RDP) to run three apps. I’m with tetranz, he can create three 2-CPU virtual machines to run two sessions each, assuming he has enough memory to run all those concurrent sessions.

You could also create several user accounts and launch eight instances of the program, each under a different user account using the RunAs functionality of Windows. That should only need a single server TS session, and the programs won’t step on each other’s toes - they won’t be aware of each others’ existence, as far as I can tell.

**Devorin ** probably nailed it. Depending on how the analysis code is written, that technique *may *fool it into running side by side.

The OP is trying to improve performance. Adding a bunch of VMs in there *will *succeed in keeping all the cores busy, but mostly they’ll be wasting time & RAM getting in each other’s way.
OP: have you sucessfully run two app instances in separate TS sessions simultaneously? I could imagine the app being designed to use a single fixed location for temp files or such. If so, then two instances under the same OS even in separate TS sessions could interfere with each other. Only testing will prove whether it will or won’t.

If you’ve proven that two work, we can keep pushing this idea along.

Somebody mentioned it upthread, but mostly in passing. So I’ll re-mention it here for emphasis. A standard Winserver w/o TS can have 3 sessions going, not just 2.

You have the normal two you get via RDP which you’ve been talking about using.

Then the third is the so-called “console session”, representing the physical login to the physical keyboard, mouse,and screen. If that is not logged on , you can access that via RDP as well by using the /console switch:


>mstsc /console /v:<Machine reference>

Three sessions is a long way short of 8, but it is 50% more than two.

Depending on your machine’s other resource limitations (cache, ram, disk speed, etc.) you may find that 3 sessions runs only slightly faster than two. If so, you’ll also know that 8 wouldn’t be much faster than 3, if at all.

I assume you’re looking for legal solutions. (In any case, board rules prohibit us telling you about the illegal ones.)

Will the data mining application you’re running work under Wine? If so, you’ll be able to run as many instances as you want, and the financial cost will be zero, provided you’re willing to run GNU/Linux.

Does it require Windows Server 2003, or can it also run on previous versions of Windows? If so, then virtualization, as another poster suggested, is a relatively cheap option. You can install some free virtualization software, such as VirtualBox, and then install any old copies of Windows (95, 98, ME, 2000, XP, etc.). If you don’t have any copies of these OSes, you should be able to purchase them at little cost.

So, noting the issues around Legality, virtualization doesn’t buy you much because you’d then have to pay for the OS licenses for each virtual machine. If you can get multiple accounts, Devorin’s approach is probably the most straightforward, and will use less resources than even creating separate TS sessions.

I’ll play Devorin’s suggestion this afternoon.
As far as the app, I know it works under Winserver 2003, and I know it works under XP. Not sure what other Windows OSes it runs under.
Linux is not an option, AFAICT, although one never knows what wine can accomplish.
As far as licenses go, you’re right, I can only run it on one system.

Fun numbers:

Single-core rig (standard instance, from here: Compute – Amazon EC2 Instance Types – AWS )
Running Solo Copy of App: 1 work unit completes in 14 minutes.
Close app.
Open up second RDP session.
Starting up app on session 1. [Noon.]
Starting up app on session 2, 5 seconds later.
1 work unit on session 1 completes 14 minutes after start. [12:14 PM]. App stops after 1 work unit.
1 work unit on session 2 completes 25 minutes after start. [12:25 PM].

I now closed down the system.
The next day:
I start up a different rig [High-CPU Medium Instance from the above URL.]
Once the system is fully up and all startup jobs are complete:
I open a session with the machine.
I run a single copy of the app through one work unit. It takes 3 minutes and 36 seconds.

Next, I open a second RDP session.
On session 1, I begin a run. [Noon.]
On session 2, I begin a run, 5 seconds later. [Noon.]
In about 5 minutes and 40 seconds, both sessions’ copies of the app are completed. [12:05:45 PM.]

The idea is to run this app on an instance of High-CPU Extra Large Instance, per the above link.

Here is a link to the Microsoft Action Pack. This includes not for resale copies of microsoft software including 10 CALs for Terminal Server. All you have to do to get it is sign up your company as a microsoft partner(free), take some test about selling MS products(very easy). Pay $300(download version, 500 for them to mail you CDs). You will get a ton of software for your cash.

Might be worth it if you can use the other software that is included.

-Otanx

Great point.

If that works, and you have physical access to the server, you can just enable XP-like multiuser support and log into 8 users at once. (Although I see each instance maybe runs too quickly for that to be practical.)

That’s not really that great. I doubt you’ll get that great a boost from 3 to 8. How big are your datasets, and what’s the access pattern? Are you hitting your hard drive, your network, or your CPU? How much ram does each instance need?

Is there a catch? Why would a small business buy Server of Office if they can get this? That’s enough Vista and Office for 10 computers, with free upgrades.

Dataset is 1.5 GB.
App seems to take up 155 MB of RAM per instance.
Clearly, the CPU gets nailed by this.
The network isn’t getting hit that hard, except when I first fire up the app: it downloads 1.5 GB from a remote server at 1/2 MB per second.
As far as disk I/O, great question. I haven’t really paid that close of attention to that factor.

It appears that this doesn’t work in this instance.
All that seems to happen is that I run the runas command prompt, then the app never shows up on screen, and a minute later I check task manager and it’s not running under the other username.
Sucks, because it should have been a perfect solution.

I put it in App Server mode using “Manage Your Server”, then rebooted.
I still got an error about not having enough licenses.
Incidentally, XP and Vista being free licenses for TS stopped a few years back, which angered quite a few people.
Looks like my best option might be the “Action Pack”.
Since this is a temporary project, licenses that can be resold would be nice…