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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |
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. |
---|