Multicore based network processors are promising components to build real-time and scalable security systems to protect the networks and systems. The parallel nature of the processing system makes it challenging for application developers to concurrently program security systems for high performance. In this paper we present an automatic programming methodology that considers application complexity, traffic variation, and attack signatures update. In particular, our mapping algorithm concurrently takes advantage of parallelism in the level of tasks, applications, and packets to achieve optimal performance. We present results that show the effectiveness of the analysis, mapping, and the performance of the model methodology. Figure 1. Methodology for workload profiling and mapping.Multicore-based network processors (NPs) represent a major evolution in computing hardware technology. Multicore provides an application with more processing power for exploiting the inherent parallelism in network processing. Packets that belong to different network connections can be processed independently as a TCP/IP network gives no guarantees on packet orders.However, with the current software development tools and methodologies, it is challenging to program an application for an NP. The multiprocessor nature of an NP requires that the application developer partition the application and allocate it to processing resources manually. To achieve better load balancing for higher throughput, this typically requires that parts of the application are programmed in assembly and fine-tuned for performance.In this paper, we have presented a concurrent workload mapping methodology for multicore security systems in Figure 1. Our workload analyzer considers application complexity, traffic variation, and attacks signature update. Our mapping algorithm concurrently takes advantage of parallelism in tasks, applications, and packets to achieve high performance. Our proposed methodology can be Existing intermediate representations of an NP applications require programmers to manually partition applications (e.g. communication-oriented data flow representation in NP-Click) or do not consider run-time information (e.g. call graphs). We address this problem with a 'bottom-up' approach that differs from the above work insofar that we use profiling information from a simple uniprocessor implementation of an NP application. This profiling information is represented as an annotated directed acyclic graph (aDAG), which can be used to extract all the available parallelism in the application, to map the application to processing resources, and to model the run-time performance through an analytic performance model. This bottom-up approach of analyzing and mapping workloads promises to significantly reduce the complexity with which the application developer has to deal.Mapping algorithms for assigning task graphs to multiprocessors has been surveyed by Kwok and Ahmad [9]. Mapping tasks to conventional multiprocessors has been done by Austin and Sohi [10], is co...