MPAC Library & Benchmarks
Multicore Processor Architecture and Communication (MPAC) library is specifically designed and developed to ease the development of micro-benchmarks for state-of-the-art commercial multi-core systems. MPAC library contains general purpose benchmarking modules that could be used to implement a specialized micro-benchmark. It, not only, encompasses performance measurement methodologies needed for the evaluation of Multicore Systems but, at the same time, is modular enough to be used for any other parallel application. MPAC uses multithreaded approach so that, if necessary, all the cores of a Multicore system could be exercised simultaneously. MPAC user has full freedom to choose the size of thread pool. It is an open source library that is freely available under FreeBSD style licensing model. It is being developed in C on UNIX based systems using GCC compiler collections. MPAC library is equally beneficial for benchmarking traditional single-core as well as more recent multi-core processors architecture and high performance networking architecture to test their high performance capabilities. In addition, it is equally useful for uniprocessor as well as multiprocessor (SMP) systems. Unlike existing micro-benchmarks and application benchmarks that hardly combine all these areas, which are becoming important due to technology trends in processor and network architectures, MPAC will enable the future benchmarks to provide a holistic view of system performance. Benchmarks developed using MPAC will be equally useful for system architects as well as end users, to compare various systems on the basis of their performance potential. Hence MPAC is designed to implement performance tool for any general purpose multi-core architecture that evaluates the performance of cache and memory subsystem, CPU and high performance networks, to identify and minimize performance gaps and bottlenecks to attain sustainable maximum performance of multi-core systems and high performance networks collectively.