Profiling a multicore : freescale P4080

Multi-core processors are the way to go in today’s computing applications, and provide several orders of magnitude higher processing speed and power than their single core counterparts. But new advancements bring new problems. Multi-core processors have now become increasingly unpredictable in their...

Full description

Saved in:
Bibliographic Details
Main Author: Klyne, Raymond
Other Authors: School of Computer Engineering
Format: Final Year Project
Language:English
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/10356/59262
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Multi-core processors are the way to go in today’s computing applications, and provide several orders of magnitude higher processing speed and power than their single core counterparts. But new advancements bring new problems. Multi-core processors have now become increasingly unpredictable in their execution patterns when they start to use shared resources. These shared resources include shared cache, the controllers of the shared cache, main memory (DDR), the controllers of DDR, and finally the bus that connects them all together. When multiple cores try to access memory at the same time, some cores will have to wait for others because there are only a limited number of cache and memory controllers to serve the requests of the cores. Also, when cores start overwriting each other’s data in cache due to the limited cache space, a certain piece of data that is soon to be needed by another core would no longer be there, The core that needs this just-evicted data will then have to wait a long time for the memory controller to retrieve it from main memory, thereby slowing down its processes. Simple experiments which simulated such contention behavior showed that the performance of the program suffers greatly as the number of cores running in parallel is increased.