01.12.2012 Views

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

148 Y. Liu et al.<br />

decreases, partial rollback occurs more frequently, and lead<strong>in</strong>g to the <strong>in</strong>creas<strong>in</strong>g<br />

<strong>of</strong> speedup.<br />

Fig. 5 shows the ratio <strong>of</strong> started transactions to committed transactions. A<br />

transaction needs to be restarted when rollback occurs due to a conflict; therefore<br />

this ratio reflects the frequency <strong>of</strong> rollbacks. The ratio value 1 <strong>in</strong>dicates that there<br />

is no rollback occurs, and a bigger value means more rollbacks.<br />

As Fig. 5(a) shows, the ratio <strong>of</strong> flatten<strong>in</strong>g model <strong>in</strong>creases rapidly with the<br />

<strong>in</strong>creas<strong>in</strong>g <strong>of</strong> processors, while the ratio <strong>of</strong> CPR scheme <strong>in</strong>creases slowly, this<br />

is because that the conflict occurs more frequently when the processor number<br />

<strong>in</strong>creases, and compared to roll<strong>in</strong>g back to the outermost transaction, CPR<br />

rolls back partially whenever it is possible, therefore, the number <strong>of</strong> restarted<br />

transactions for partial rollback is far fewer than roll<strong>in</strong>g back to the outermost<br />

transaction.<br />

Fig. 5(b) gives relationship between the ratio and nest<strong>in</strong>g levels. It shows that<br />

the ratio <strong>of</strong> flatten<strong>in</strong>g model <strong>in</strong>creases rapidly with the <strong>in</strong>creas<strong>in</strong>g <strong>of</strong> nest<strong>in</strong>g<br />

levels, while the ratio <strong>of</strong> CPR keeps stable and stays at a low level.<br />

Two conclusions can be drawn from the above experiment results: firstly, CPR<br />

scheme outperforms flatten<strong>in</strong>g model <strong>in</strong> performance and scalability, <strong>in</strong> other<br />

words, with the <strong>in</strong>creas<strong>in</strong>g <strong>of</strong> processor number and nest<strong>in</strong>g level, CPR scheme<br />

achieves better performance than flatten<strong>in</strong>g model; secondly, the performance <strong>of</strong><br />

CPR scheme is correlative with the density <strong>of</strong> data shar<strong>in</strong>g among nest<strong>in</strong>g levels.<br />

6 Conclusion<br />

Transactional memory can improve programmability <strong>of</strong> multi-core processors,<br />

avoid deadlock and furthermore, promote performance <strong>of</strong> concurrent programs.<br />

However, it also faces a series <strong>of</strong> challenges <strong>in</strong>clud<strong>in</strong>g transaction nest<strong>in</strong>g.<br />

To support efficient closed nest<strong>in</strong>g <strong>in</strong> hardware transactional memory, this paper<br />

proposes a CPR scheme which support conditional partial rollback on conflict<br />

without <strong>in</strong>creas<strong>in</strong>g hardware complexities significantly. Compared to the flatten<strong>in</strong>g<br />

model which is commonly-used <strong>in</strong> hardware transactional memory, the CPR<br />

scheme rolls back to the conflicted transaction itself or one <strong>of</strong> its outer-level<br />

transactions <strong>in</strong>stead <strong>of</strong> the outermost if given conditions are satisfied. Transactional<br />

memory system architecture with support <strong>of</strong> the CPR scheme is also<br />

proposed based on multi-core processor and current cache coherent mechanisms.<br />

The system has been implemented by simulation. Its performance is evaluated<br />

by seven benchmark applications. Evaluation results show that the CPR scheme<br />

outperforms flatten<strong>in</strong>g model <strong>in</strong> performance and scalability.<br />

References<br />

1. Herlihy, M., Eliot, J., Moss, B.: Transactional memory: Architectural support for<br />

lock-free data structures. In: 20th International Symposium on <strong>Computer</strong> <strong>Architecture</strong>,<br />

pp. 289–300. IEEE <strong>Computer</strong> Society, San Diego (1993)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!