2000 symbols at a time is not so much the issue as how many updates per symbol per second occurs. I'd say at most you are looking at 100,000 updates per second (could be less, more like 20,000).
While this is achievable, you probably aren't going to find a desktop, off-the-shelf platform that will handle this. Lots of people have platforms that provide this level of performance; however, they are generally proprietary. If you want to handle this much data, you will have to create your own "platform".
I know there is another thread on ET that outlines building a trading platform, but it is dozens of pages of posts long. To address your exact scenerio:
1. Get a hefty machine (Linux, not Windows, in my humble opinion). Connect this machine to DTN and suck data down a huge data pipe (T1). You are only as fast as your hardware and line-speed. If your selected 2000 symbols are generating 100,000 per second, DTN may want you to split them up into separate connections...
2. Write data sucking app for Linux machine...this must be multi-threaded or the setup in (1) won't do you any good.
3. Write your signal application that is subscribing to the data from (2). The question is, do any of the signals on the 2000 symbols you mention relate to each other, or are your signals related to an individual symbol alone. Depending on the answer to this, you will either run this code on your machine from (1), or on a second box (this will be better anyway).
4. Write simple order submission application that connects to your broker or the exchange directly, listens for a message from (3) and happily makes you money.
5. There might be a couple of other small items to develop, but this is most of it...
Conclusion: You are probably looking at a setup consisting of a couple of machines, unless of course your 2000 symbols only generate a couple of hundred market updates per second, and then you can get away with less hardware. But, if the volume spikes, you'll be stuck. This still might be too much for most off-the-shelf products because all of the symbol prices come through the core platform, which handles everything else. I figure since you are talking about 2000 symbols, you probably aren't planning on looking at them yourself all at once...so, you really don't need the GUI bells and whistles that come with the platforms, just the data (and your algos).
Now, if you weren't planning on writing this yourself, feel free to private message me. If you haven't guessed, I am not a trader, I just write the software.