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.

Efficient Transaction Nest<strong>in</strong>g <strong>in</strong> Hardware Transactional Memory 145<br />

Table 1. ISA Extensions and Programm<strong>in</strong>g Interface<br />

Instruction Description Programm<strong>in</strong>g <strong>in</strong>terface<br />

XB transaction start BEGIN TRANSACTION()<br />

XC transaction end COMMIT TRANSACTION()<br />

Table 2. Configuration <strong>of</strong> Target System<br />

Item Configuration<br />

cache size L1: 64KB+64KB L2: 16MB<br />

transactional buffer: 64KB<br />

cache l<strong>in</strong>e size 64 bytes<br />

cache coherence protocol MESI CMP filter directory<br />

<strong>in</strong>terconnection network hierachical switch topology<br />

5 Evaluation and Analysis<br />

5.1 Experimental Environment<br />

The CPR scheme and system are evaluated on a simulation platform which is<br />

based on the full-system simulator Virtutech Simics [17] and GEMS [18]. By<br />

execution-driven simulat<strong>in</strong>g, the operat<strong>in</strong>g system and applications can be run<br />

on the platform.<br />

The transactional memory system proposed <strong>in</strong> this paper is implemented by<br />

extend<strong>in</strong>g the simulator. The target system is based on Sparc processor with the<br />

extensions <strong>of</strong> hardware components and <strong>in</strong>struction set for transaction memory.<br />

The number <strong>of</strong> processor cores varies from 2 to 16. And the operat<strong>in</strong>g system is<br />

Solaris. Table 2 shows configurations <strong>of</strong> the target system.<br />

The target system is evaluated us<strong>in</strong>g seven micro-benchmark applications as<br />

listed <strong>in</strong> Table 3. These applications fall <strong>in</strong>to two categories: share-h, share-m<br />

and share-n have the same number <strong>of</strong> nest<strong>in</strong>g levels but different densities <strong>of</strong> data<br />

shar<strong>in</strong>g among nest<strong>in</strong>g levels; nest-1 to nest-4 have different number <strong>of</strong> nest<strong>in</strong>g<br />

levels but no data shar<strong>in</strong>g among nest<strong>in</strong>g levels.<br />

Each application is executed <strong>in</strong> transactional memory with the support <strong>of</strong><br />

CPR scheme and orig<strong>in</strong>al flatten<strong>in</strong>g model, and performance data is obta<strong>in</strong>ed at<br />

the same time.<br />

Table 3. Micro-benchmark Applications<br />

Program name Number <strong>of</strong> nest<strong>in</strong>g level Data shar<strong>in</strong>g among nest<strong>in</strong>g levels<br />

share-h 4 high<br />

share-m 4 middle<br />

share-n 4 none<br />

nest1-nest4 1, 2, 3, 4 none

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

Saved successfully!

Ooh no, something went wrong!