Micro-thread (multi-core)

Micro-threads for multi-core and many-cores processors is a mechanism to hide memory latency similar to multi-threading architectures.

Third, micro-threads are context switched to core's dedicated cache, which makes this process very fast and efficient.

As microprocessors are becoming faster, mainly because of the cores being added every few months, memory latency gap is becoming wider.

Creating software based threads won't solve the problem for one obvious reason.

For example, in Cell Broadband Engine context switching any of the core's thread takes 2000 micro-seconds in best cases.

In other words, it won't work in combinatorial algorithms, such as tree spanning or random list ranking.

Micro-threads provide a very good solution to hide memory latency best based on the run-time utilization of the microprocessor.

Although micro-threads provide a promising model to hide memory latency for multi and many-core processors, it has some important critiques that need to be addressed: