tag:blogger.com,1999:blog-5246027334551923738.post5749540209297010238..comments2022-11-23T03:37:05.086-08:00Comments on armstrong on software: Pure and simple transaction memoriesJoe Armstronghttp://www.blogger.com/profile/13842732706414838736noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-5246027334551923738.post-37068927041712242222009-11-25T12:36:19.960-08:002009-11-25T12:36:19.960-08:00[url=http://sunkomutors.net/][img]http://sunkomuto...[url=http://sunkomutors.net/][img]http://sunkomutors.net/img-add/euro2.jpg[/img][/url]<br />[b]where to buy photoshop in, [url=http://sunkomutors.net/]adobe air software[/url]<br />[url=http://sunkomutors.net/][/url] Pro 9 Advanced buy igo software<br />free serial number for adobe photoshop cs3 [url=http://sunkomutors.net/]microsoft software help[/url] student discount on computer software<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-34252238074419419882009-11-12T15:56:39.739-08:002009-11-12T15:56:39.739-08:00порно подростки просмотр онлайн http://free-3x.com...порно подростки просмотр онлайн http://free-3x.com/ официальный сайт курских студентов <a href="http://free-3x.com/" rel="nofollow">free-3x.com/</a> порно молоденькие онлайн [url=http://free-3x.com/]free-3x.com[/url]Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-77267247029836071002008-08-29T02:32:00.000-07:002008-08-29T02:32:00.000-07:00To Stefan Plantikow:It is easy to change the TM to...To Stefan Plantikow:<BR/>It is easy to change the TM to one-server-per-client mode, then what you mean by "truely parallel access" lies in the database - 'dict' here. Whatsoever, the only real difference is on which layer to do the "dirty work" - reconciling resource contentions.an0https://www.blogger.com/profile/13057451137300470111noreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-49694947877541736352007-03-31T09:43:00.000-07:002007-03-31T09:43:00.000-07:00Maybe my knowledge of Erlang is not deep enough, b...Maybe my knowledge of Erlang is not deep enough, but doesn't the described implementation of STM serialize all requests to the TM store? On multiprocessors this would be clearly a drawback in comparison to other STM implementations which allow truely parallel access to different variables in the same store.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-81384952127063748342006-09-21T17:34:00.000-07:002006-09-21T17:34:00.000-07:00Comment posting doesn't appear to work with Firefo...Comment posting doesn't appear to work with Firefox 1.5.0.7 (Javascript is enabled). I had to post this one with MSIE.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-49137716010432914262006-09-21T17:32:00.000-07:002006-09-21T17:32:00.000-07:00genneth wrote:
A finer point is that a good STM im...genneth wrote:<br /><i>A finer point is that a good STM implementation's performance (using static info to optimize certain pathways) can come to within an epsilon of a hand-crafted lock-free (or even locked) data structure, [...]</i><br /><br />References? I don't know of any practical (even proposed) STM implementation that has an overhead for typical programs of less than a factor of 2. The Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-55076110689017442592006-09-20T11:35:00.000-07:002006-09-20T11:35:00.000-07:00willy thanks for your poignant observation.
Inaddi...willy thanks for your poignant observation.<br />Inaddition, STM avoid "general" concurrency related errors --deadlock, livelock,priority inversion...<br /><br />What about user specific assertions...Rather aborting transaction whenever the version of any variable do not match as expected(because some other transaction interfered), one could abort if only a user given assertion over a subset of Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-65574786452103679792006-09-19T18:09:00.000-07:002006-09-19T18:09:00.000-07:00This method is used by the Firebird
database engi...This method is used by the Firebird <br />database engine. Every interaction with the engine occurs within a transaction. All updates etc are marked with a transaction number. There may be multiple versions of the same record. usually only the deltas between record contents are stored. This allows older transactions to see consistent snapshots of the database by only looking at record versions Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-429922113551078702006-09-19T13:56:00.000-07:002006-09-19T13:56:00.000-07:00I have heard this referred to as "optimistic locki...I have heard this referred to as "optimistic locking". What about starvation/priority-inversion? You have client A who updates the server frequently, and client B who updates the server very infrequently. It's easy to get into a situation where B's updates are never made to the server because B's version info never matches because A is always changing it.<br /><br />You mention that this Pax Unixhttps://www.blogger.com/profile/17531704887726606661noreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-6847721648054327482006-09-19T11:18:00.000-07:002006-09-19T11:18:00.000-07:00Maybe I missed a meeting but is it not very easy t...Maybe I missed a meeting but is it not very easy to create a scenario where one client suffers starvation? Assume <b>S</b>, <b>C1</b> and <b>C2</b>. <br /><br /> 1) C1 { get, X } -> S<br /> 2) C1 <- ( X, 1, 10 ) S<br /> 3) C2 { get, X } -> S<br /> 4) C2 <- ( X, 1, 10 ) S<br /> 5) C1 { put, X, 1, 20 } -> S<br /> 6) C1 <- ( yes ) S<br /> 7) C2 { put, X, 1, 22 } -> S<br /> 8) C2 <- ( no ) S<br /> 9)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-58743778797528251782006-09-19T08:18:00.000-07:002006-09-19T08:18:00.000-07:00Correct me if I'm wrong, but I think STM and locks...Correct me if I'm wrong, but I think STM and locks are not excluding terms. In order to achieve STM you need either an atomic test-and-set operation in your runtime or a way to implement it... by using locks. <br />So when using STM you're implicitly using lock, just in a formal way where you ensure no starving nor mutual blocking nor any other typical concurrency error.G.Ramos.Alvarezhttps://www.blogger.com/profile/18048488271145263998noreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-8426108839681030492006-09-19T07:42:00.000-07:002006-09-19T07:42:00.000-07:00So you are saying I have to keep retrying the oper...So you are saying I have to keep retrying the operation until I get consistent sequence numbers? With a lock I can guarantee my update will succeed. There is no possibility for live lock.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5246027334551923738.post-54138476942997303522006-09-19T02:05:00.000-07:002006-09-19T02:05:00.000-07:00I think you missed out one of the biggest gains of...I think you missed out one of the biggest gains of STM over locks: STM is <em>composable</em>, whereas locks aren't. This very simple property, which I'm sure any programmer can understand, translates directly into modularity and therefore simple code. A finer point is that a good STM implementation's performance (using static info to optimize certain pathways) can come to within an epsilon of a Anonymoushttps://www.blogger.com/profile/02376760053977600605noreply@blogger.com