Meta\mboxTM//TxLinux: transactional memory for an operating system

This paper quantifies the effect of architectural design decisions on

the performance of TxLinux. TxLinux is a Linux kernel modified

to use transactions in place of locking primitives in several key subsystems.

We run TxLinux on MetaTM, which is a new hardware

transaction memory (HTM) model.

MetaTM contains features that enable efficient and correct interrupt

handling for an x86-like architecture. Live stack overwrites

can corrupt non-transactional stack memory and requires a small

change to the transaction register checkpoint hardware to ensure

correct operation of the operating system. We also propose stackbased

early release to reduce spurious conflicts on stack memory

between kernel code and interrupt handlers.

We use MetaTM to examine the performance sensitivity of individual

architectural features. For TxLinux we find that Polka and

SizeMatters are effective contention management policies, some

form of backoff on transaction contention is vital for performance,

and stalling on a transaction conflict reduces transaction restart

rates, but does not improve performance. Transaction write sets

are small, and performance is insensitive to transaction abort costs

but sensitive to commit costs.

In  ISCA

Details

TypeInproceedings
Pages92-103
> Publications > Meta\mboxTM//TxLinux: transactional memory for an operating system