What' s the advantage of LL/SC comparing with CAS(compare and swap) in computer architecture? I think LL/SC can case livelock in many-core system, and case ABA problem, but CAS does not. I can not find out any advantage of LL/SC comparing with CAS. Anyone can tell me?
What' s the advantage of LL/SC when compared with CAS (compare-and-swap)?
2k Views Asked by winter At
1
There are 1 best solutions below
Related Questions in CPU-ARCHITECTURE
- What is causing the store latency in this program?
- what's the difference between "nn layout" and "nt layout"
- Will a processor with such a defect work?
- How do i find number of Cycles of a processor?
- Why does LLVM-MCA measure an execution stall?
- Can out-of-order execution of CPU affect the order of new operator in C++?
- running SPEC in gem5 using the SimPoint methodology
- Why don't x86-64 (or other architectures) implement division by 10?
- warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!, While simulating x86 with spec2006 benchamrks I am getting stuck in warn message
- arithmetic intensity of zgemv versus dgemv/sgemv?
- What is the microcode scoreboard?
- Why don't x86/ARM CPU just stop speculation for indirect branches when hardware prediction is not available?
- Question about the behaviour of registers
- How to increase throughput of random memory reads/writes on multi-GB buffers?
- RISVC Single Cycle Processor Data Path and Testbench
Related Questions in CAS
- TicketGrantingTicketImpl Exception - CAS 7.0.2
- Cas 5.3.1 st.timeToKillInSeconds is not work
- Spring Security 6.2 and CAS authentication : what happened to CasAuthenticationFilter.CAS_STATEFUL_IDENTIFIER?
- ErrorReportValve in cas embedded tomcat
- Need Guidance on Performance Optimization in CAS 7.0.2
- ProxyGrantingTicket in 'validate' method response - Pac4J support
- Create multiple queries on the Apereo CAS server
- Why is SSO not working on cas version 6.X.X?
- jdk.event.security sending logs for 3 minutes before starting my spring boot app [Apereo CAS]
- When cas login successfully jumps, the targetUrl contains special characters
- What is the value for custom endpoint when connect AWS secret manager from CAS?
- Apereo CAS goes to cas overlay (casLoginView.html), is there any way to bypass this page and go straight to a different SSO method?
- pac4j + shiro Unable to extract user profile as no JSON node 'attributes' was found in body
- Groovy execution time is too slow in CAS 7.0.0-RC9.BUG?
- Unable to retrieve CAS auth_tkt and jsessionid cookies with NextJS app
Related Questions in COMPARE-AND-SWAP
- Thread-safe lock-free min where both operands can change c++
- How to get Word VBA Convert Selection Range from one Shade to another Confined to End of Selected Range?
- C++ atomics Correct memory order and thread fencing for a shared_ptr implementation
- Is it safe to synchronize access to non-Sync data using only a separate atomic variable?
- How to implement a SpinLock
- Is my code thread-safe? [Java, CAS, money transfer]
- x86: Instruction reorder related with `cmpxchg` (without lock prefix)?
- Are _Atomic members of unions a good idea?
- Understanding of C++'s std::atomic<T> and compare-and-swap
- why are CAS / other common operations limited to fractions of a cache line?
- Can we use Compare-and-Swap operation on non-atomic variable?
- What happens if `compare_exchange_weak` is called on a dangling pointer? How is the code in my textbook safe?
- How to determine whether the minimum number of adjacent swaps required for sorting is odd or even?
- How can I check for null at a specific index of a String Array to change its value?
- How to use atomic operations with user-space variable in BPF?
Related Questions in LOAD-LINK-STORE-CONDITIONAL
- Can you snoop cache coherence traffic to implement linked-load and store-conditional?
- What are costs of disabling interrupts vs LDREX/STREX on Arm Cortex M?
- __sync_add_and_fetch triggers an sError interrupt on raspberry pi 4b
- Does lock can avoid lr/sc 'spuriously fail'
- Implementing global monitor for exclusive access
- In risc-v architecture, how does store conditional instruction realize that the memory is modified?
- What's 'reservation' in RISC-V's 'lr' instruction?
- How is this a guarantee a value has been atomically updated in ARM?
- atomic linked-list LIFO in AArch64 assembly, using load or store between ldxr / stxr
- When is CLREX actually needed on ARM Cortex M7?
- ARM Cortex-M4/7: Do regular memory accesses between LDREX/STREX invalidate the exclusive monitor
- How is a spin lock woken up in Linux/ARM64?
- What' s the advantage of LL/SC when compared with CAS (compare-and-swap)?
- Lock-free C++11 example using Load-link/store-conditional to prevent ABA?
- How do ldrex / strex make atomic_add in ARM an atomic operation?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Since nobody has answered, LL/SC does not suffer from the ABA problem since the conditional store will fail if the address referenced by the LL is modified. Furthermore, it can't livelock since one or more LL/SC pairs failing implies another succeeded. A CAS could also potentially be more expensive, since it may require the invalidate queue be flushed.