Deutsch English Français Italiano |
<vcsr4o$2sh9d$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.roellig-ltd.de!open-news-network.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.arch Subject: Re: Is Intel exceptionally unsuccessful as an architecture designer? Date: Mon, 23 Sep 2024 15:46:47 -0700 Organization: A noiseless patient Spider Lines: 74 Message-ID: <vcsr4o$2sh9d$2@dont-email.me> References: <memo.20240913205156.19028s@jgd.cix.co.uk> <20240918190027.00003e4e@yahoo.com> <vcfp2q$8glq$5@dont-email.me> <jwv34lumjz7.fsf-monnier+comp.arch@gnu.org> <vckpkg$18k7r$2@dont-email.me> <vckqus$18j12$2@dont-email.me> <920c561c4e39e91d3730b6aab103459b@www.novabbs.org> <vcl6i6$1ad9e$1@dont-email.me> <d3b9fc944f708546e4fbe5909c748ba3@www.novabbs.org> <%dAHO.54667$S9Vb.39628@fx45.iad> <vcna56$1nlod$2@dont-email.me> <a7708487530552a53732070fe08d9458@www.novabbs.org> <vcprkv$2asrd$1@dont-email.me> <e2c993172c11a221c4dcb9973f9cdb86@www.novabbs.org> <vcqe6f$2d8oa$1@dont-email.me> <4f84910a01d7db353eedadd7c471d7d3@www.novabbs.org> <20240923105336.0000119b@yahoo.com> <6577e60bd63883d1a7bd51c717531f38@www.novabbs.org> <vcsmvq$2s1qd$2@dont-email.me> <23d9473740db6c0ecc7e1d4a2179c75e@www.novabbs.org> <vcsphq$2sh9d$1@dont-email.me> <b23480c6afdce45b31fb9ae2e2397846@www.novabbs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 24 Sep 2024 00:46:48 +0200 (CEST) Injection-Info: dont-email.me; posting-host="cc0aa948cfee330c0e613beeb38c6255"; logging-data="3032365"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18QYgapF1TtnpUV7P99usX1evllj0clprI=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:1VCkpfbWVd6M5yb+Jo6QfHn4OVE= Content-Language: en-US In-Reply-To: <b23480c6afdce45b31fb9ae2e2397846@www.novabbs.org> Bytes: 5495 On 9/23/2024 3:32 PM, MitchAlsup1 wrote: > On Mon, 23 Sep 2024 22:19:37 +0000, Chris M. Thomasson wrote: > >> On 9/23/2024 2:58 PM, MitchAlsup1 wrote: >>> On Mon, 23 Sep 2024 21:35:53 +0000, Chris M. Thomasson wrote: >>>> Iirc, been a while, I think there was a problem on one of the Pentiums, >>>> might be the pro, where it had an issue with releasing a spinlock >>>> with a >>>> normal store. I am most likely misremembering, but it is sparking some >>>> strange memories. Way back on c.p.t, Alex Terekhov (hope I did not >>>> butcher the spelling of his name), anyway, wrote about it, I think... >>>> Way back. early 2000's I think. >>> >>> Many ATOMIC sequences start or end without any note on the memory >>> reference that it bounds an ATOMIC event. CAS has this problem >>> on the value to ultimately be compared (the start), T&S has this >>> problem on ST that unlocks the lock (the end). It is like using >>> indentation as the only means of signaling block structure in >>> your language of choice. >> >> _Strong_ CAS in C++ terms, ala cmpxchg, will only fail if the comparands >> are different. > > And used improperly is subject to ABA problem. > > However, if the LD which obtained the value to be compared was > KNOWN to be part of an ATOMIC sequence ending with CAS, one can > eliminate the ABA problem for all <reasonable> CAS sequences. > >> This can be implemented with LL/SC for sure. > > With the addition above. > >> Scott >> mentioned something about a bus lock after a certain amount of >> failures... (side note) Weak CAS can fail even if the comparands are >> identical to each other ala LL/SC. This reminds me of LL/SC. the ABA >> problem can worked around and/or eliminated without using LL/SC. I >> remember reading papers about LL/SC getting around ABA, but then read >> about how they can have their own can of worms. Pessimistic vs >> optimistic sync... Wait/ Lock / Obstruction free things... ;^) > > You are the expert on that here. > >> Fwiw, getting rid of the StoreLoad membar in algorithms like SMR is >> great. There is a way to do this in existing systems. So, no hardware >> changes required, and makes the system run fast. > > I got rid of all MemBars and still have a fairly relaxed memory model. That is interesting to me! It's sort-of "out of the box" so to speak? How can a programmer take advantage of the relaxed aspect of your model? >> Think of allowing a rouge thread to pound a CAS with random data wrt the >> comparand, trying to get it to fail... Of course this can be modifying a >> reservation granule wrt LL/SC side of things, right? Pessimistic (CAS) >> vs Optimistic (LL/SC)? > > Or methodological (ESM). Still, how does live lock get eluded in your system? Think along the lines of a "rouge" thread causing havoc? Banging on cache lines ect... ;^o >>> Both are bad practice in making HW that can perform these things >>> efficiently. But notice that LL-SC does not have this problem. >>> Neither does ESM. >>> >>>>>> According to my understanding, what matters is # of CPU cores with >>>>>> coherent access to the same memory+IO. >>>>>> For x86, 4 cores (CPUs) were relatively common since 1996. There >>>>>> existed few odd 8-core systems too, still back in the last century.