STM forward progress guarantee

STM forward progress guarantee

Is your STM compiler only obstruction-free, or lock-free? If not, are you using typical version counting and locks? Do you have to depend on a contention manager? How do you handle read-only transactions? Finally, how do you avoid the possibility of live-lock?

Thank you.

2 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

Is your STM compiler only obstruction-free, or lock-free?

The implementation uses locks.

If not, are you using typical version counting and locks?

We use a number of different STM algorithms, but are not publishing the details at present. If I knew your real name I might be more inclined to discuss details (possibly offline).

Do you have to depend on a contention manager?

We have a contention manager (or many contention managers...)

How do you handle read-only transactions?

You need to expand the question, I don't see a specific issue with read-ony transactions.

Finally, how do you avoid the possibility of live-lock?

The level zero answer is that we abort one of the transactions and retry. The deeper answer (how we avoid getting back to the same livelock even after aborting and retrying) is not something I'm going to discuss at the moment.

HTH even if I am weaselling out of the hard questions :-)

Connectez-vous pour laisser un commentaire.