acm-header
登录

ACM通信

给编辑的信

为什么并发对象是循环复杂的


致编辑的信

来源:iStockPhoto.com

Nir Shavit的文章“多核时代的数据结构”(2011年3月)读起来令人兴奋;同样及时的还有Peter J. Denning的观点“管理时间”,Frank Stajano和Paul Wilson的文章“理解骗局受害者:系统安全的七个原则”,Jennifer Rexford的技术视角“VL2”,以及Albert Greenberg等人的文章“VL2:可扩展且灵活的数据中心网络”。

我对Shavit关于并发对象的阐述特别感兴趣。我第一次接触无锁和无等待协议是在Maurice Herlihy 1993年的一篇文章中,1使用加载链接和存储条件指令。现在感谢Shavit解释其他技术,包括交换器和平衡器。

同样重要的是要指出,Shavit的无锁堆栈伪代码包含一个未声明的限制,即节点一旦弹出,就永远不会回到堆栈上,即ABA问题;请参阅相关资料通信博客页面//www.eqigeno.com/magazines/2011/3/105308-data-structures-in-the-multicore-age/comments以及赫里希和沙维特2008年合著的书。2

关键的一点是,并发数据结构比它们最初看起来的要困难得多,正如我在自己1995年的文章中讨论的那样3.而且很容易引入微妙的错误,特别是当所有重要的假设都没有被陈述或执行时;在这种情况下,一个节点一旦弹出,就永远不会回到堆栈上。

Joseph P. Skudlarek俄勒冈州奥斯威戈湖

回到顶部

SQL的起源

我想澄清Erik Meijer和Gavin Bierman在他们的文章“大型共享数据库的数据联合关系模型”(2011年4月)中关于SQL起源的陈述,他们说:“当Ted Codd提出了一种新的数据模型和基于关系和外键/主键关系的数学概念的结构化查询语言(SQL)时,情况发生了根本性的变化。”实际上有更多的步骤和更多的人参与从Codd的有影响力的1970通信文章“大型共享数据库的数据关系模型”(由Meijer和Bierman引用)到SQL语言。在本文以及随后的文章和论文中,Codd讨论了基于关系演算和关系代数的查询语言。但是Raymond Boyce和Donald Chamberlin在研究了Codd的工作后,定义了SEQUEL语言,后来更名为SQL,这是Chamberlin和Boyce首次记录的语言。4有关Codd的想法如何影响Boyce和Chamberlin以及System R团队的其他成员的更多信息,请参阅Chamberlin。5

保罗McJones,加州山景城

回到顶部

参考文献

1.实现高并发数据对象的方法。美国计算机学会编程语言与系统汇刊(1993年11月)。

2.赫利希,M. P.沙维特,N。多处理器编程的艺术.摩根·考夫曼,圣马特奥,加州,2008年。

3.Skudlarek, J. P.关于实现高并发数据对象的方法的注释。美国计算机学会编程语言与系统汇刊(1995年1月)。

4.张伯伦和博伊斯:一种结构化的英语查询语言。在1974年ACM SIGFIDET(现Sigmod)数据描述、访问和控制研讨会论文集(密歇根州安娜堡,5月13日)。ACM出版社,纽约,1974,249264。

5.《口述历史》,保罗·麦克琼斯,采访者。计算机历史博物馆,山景城,加州,2009年7月21日;http://www.computerhistory.org/collections/accession/102702111

回到顶部

脚注

通信欢迎您的意见。投稿请限制在500字以内,并发送至letters@www.eqigeno.com

DOI:http://doi.acm.org/10.1145/1953122.1953124


©2011 acm 0001-0782/11/0600 $10.00

本论文部分或全部的电子版或硬拷贝供个人或课堂使用的许可是免费的,前提是副本不是为了盈利或商业利益而制作或分发的,并且副本的第一页上必须有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有署名的摘要。以其他方式复制,重新发布,在服务器上发布,或重新分发到列表,需要事先特定的许可和/或费用。请求发布权限permissions@acm.org或传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2011 ACM, Inc.


没有找到条目

登录全面存取
忘记密码? »创建ACM Web帐户
文章内容:
Baidu
map