All the major exchanges offer co-location services, where you can put your trading engine (i.e. the "black box" that executed your trading strategies) in the same building as the exchange's trade matching engines. That means that you'll receive market data quicker and the exchange will receive your orders (or cancellations) quicker than someone who's located a few hundred miles away.
For more info, see:
NYSE - http://nysetechnologies.nyx.com/en/infrastructure-solutions/...
London Stock Exchange - http://www.londonstockexchange.com/products-and-services/con...
Eurex - http://www.eurexchange.com/exchange-en/technology/co-locatio...
CME - http://www.cmegroup.com/globex/trading-cme-group-products/co...
Such co-location obviously works when you're talking about a single market but if you're looking to execute trading strategies across multiple markets, then you're going to be in the market for low-latency network connectivity between London and New York - http://www.telegraph.co.uk/technology/news/8753784/The-300m-... - or NYC and Chicago - http://gigaom.com/2012/02/10/wall-street-gains-an-edge-by-tr...
However, it doesn't really matter whether you shave 10ms off your network latency if your software is sluggish, so a lot of effort goes into optimising code and creating execution environments that minimise latency caused by abstraction layers. Companies use real-time operating systems and TCP/IP stacks that are implemented on hardware. They're now starting to use FPGAs and I'd be surprised if someone hasn't already splashed out on an ASIC.