 A challenge in this, however, is the additional overhead of writing parallel code.Maximizing the usage of the computing resources provided by multi-core processors requires adjustments both to the operating system (OS) support and to existing application software.Also, the ability of multi-core processors to increase application performance depends on the use of multiple threads within applications.