вторник, 8 июня 2010 г.

Cliff Click vs Doug Lea: about fence-less CAS

Interesting conversation(s) with Doug Lea

Abstract
We are discussing the merits of a no-fence CAS instruction - and exposing this instruction at the Java level. Since Intel does not have a no-fence this whole idea is a no-op for Intel. Right now there is a weak spurious-fail-allowed CAS in the Unsafe to mimic load-linked/store-conditional ops, to get buy-in from IBM whose chips do LL/SC instead of CAS. Doug wants to the fence-less CAS to allow spurious failure, and I do not because it causes me to add retry loops in places.

2 комментария:

  1. Когда читал, так и не въехал в суть. Всё равно что спорить, что добавить в язык только array, или только list. У обеих определенно есть плюсы, ну добавьте вы оба. В С++ добавлили все варианты, и все довольны: и Intel, и Sun/Oracle, и IBM, и прикладные программисты, и системные.

    ОтветитьУдалить
  2. Да, видимо, хотят сохранить с трудом достигнутую позицию "Java is the new Cobol", которая держится, в том числе, и на простоте языка и "бедности" низкоуровневого инструментария.
    Хотя если добавить в sun.misc.Unsafe, который не является публичной частью JRE, то "не усложнили" бы жизнь ни прикладным ни системным программистам, только разработчикам JRE/JDK.

    ОтветитьУдалить