Previous | Next --- Slide 35 of 65
Back to Lecture Thumbnails
pht

OpenTM is a declarative abstraction, since #pragma omp transfor schedule relays the responsibility of implementing non-locking transactional logic to the system.

pk267

OpenTM basically declares each iteration of the loop as independent transaction, so if the 2 iterations touch the same data, one of them will abort. And if they don't, they will run concurrently.

jedi

@pk267, does the transaction have to abort, or can it also block and wait for the contending transaction to complete operating on shared data?

pk267

From what Prof. Kayvon mentioned in class, it seems like they abort.

Also, you'd never wanna do such a thing on transactions (whatever way of implementing you choose) because it will lead to loss of serializability.