DPI software is made to inspect packets at high wire speeds and a critical factor is the throughput and resources required. Keeping the amount of resources that integrated DPI and application classification technology requires low is critical. The fewer cores (on a multi-core processor) and the less on-board memory an engine needs, the better. Multi-threading provides almost linear scalability on multi-core systems. In addition, highly-optimized flow tracking is required for handling millions of concurrent subscribers.