论坛首页 Java企业应用论坛

征集并发文献译者翻译Disruptor

浏览 5578 次
精华帖 (3) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-01-20   最后修改:2013-01-26

为了促进并发编程在中国的推广和研究,让更多的同学能阅读到国外的并发文献。所以打算将国外的并发编程文献翻译成中文,但是我一个人的精力有限,所以希望征集译者帮忙一起翻译。本期主要翻译Disruptor。

 

以下文章来自Disruptor官方网站:https://code.google.com/p/disruptor/wiki/BlogsAndArticles

 

已经翻译完成的

  1. 锁的缺点。译文:http://ifeve.com/locks-are-bad/
  2. 神奇的缓存行追加。译文:http://ifeve.com/disruptor-cacheline-padding/ 

如何使用Disruptor

  1. What’s so special about a ring buffer? - A summary by Trisha of the data structure at the heart of the Disruptor patter, how it’s implemented and what’s so great about it.(译者:淘宝 olylakers)
  2. How do I read from a ring buffer? - Trisha gives an overview of the Consumer and ConsumerBarrier, which allows you to read stuff off the ring buffer.
  3. Writing to the ring buffer - The third piece from Trisha explaining how to write to the ring buffer, and how it avoids wrapping.
  4. Lock-free publishing - Danny outlines the concepts behind putting items into the ring buffer.
  5. DSL for wiring up the Disruptor - Adrian came up with a cunning way to configure your Disruptor
  6. Disruptor wizard now part of the Disruptor - Adrian’s wizard now makes it easy to configure your very own Disruptor straight out of the box
  7. Disruptor version 2.0 - Trisha outlines the cosmetic changes to the Disruptor in version 2.0.
  8. Sharing Data Among Threads Without Contention - An updated and summarised version of Trisha’s blogs in Oracle’s Java Magazine.

Disruptor为什么这么快

  1. Locks Are Bad - Trisha gives some basic concurrency background and explains why locks are evil. (译者:nick)
  2. Magic cache line padding - An explanation around why the odd cache line padding variables are required, by Trisha.(译者:fantasy)
  3. Demystifying Memory Barriers - Trisha attempts to explain why memory barriers are important in the Disruptor.(译者:晓明)

其他人写的Disruptor文章

  1. LMAX 架构  by Martin Fowler (已翻译)
  2. Processing 1m TPS with the Axon Framework using the Disruptor.

如何翻译

 

  1. 你可从以上几篇文章中挑选某一篇进行翻译,翻译时间最好是一个星期以内,翻译前请发邮件到main_shorttime(AT)163.com告诉我你要翻译的文章和预计完成时间。
  2. 译者署名的顺序由翻译的字数确定。
  3. 与其他译者交叉校对,互相讨论翻译与技术问题。

注意事项

  1. 本文档的传播是基于学习研究而非商业,因此翻译纯属兴趣和分享精神,没有稿酬。
  2. 对译者的要求,因为我们是出于学习和研究目的,所以对译者没有很高的要求,只要你只要你对并发编程感兴趣,并且愿意用心来翻译文章,翻译完的文章首先自己能读明白就行,放心我们会进行校对。
   发表时间:2013-01-21   最后修改:2013-01-21
淘宝olylakers翻译第一篇。已经征集到3名译者。
0 请登录后投票
   发表时间:2013-01-25   最后修改:2013-01-25
早就有人翻译了 见这里
http://www.cnblogs.com/adaikiss/tag/disruptor/
0 请登录后投票
   发表时间:2013-01-25  
h6lkj 写道
早就有人翻译了 见这里
http://www.cnblogs.com/adaikiss/tag/disruptor/

 

 感谢分享。可以对比下我们的翻译,“锁的缺点”: http://ifeve.com/locks-are-bad/

0 请登录后投票
   发表时间:2013-01-26   最后修改:2013-01-26
剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充 译文发布了,本文讲解了一些CPU的基础知识,并详细分析了伪共享带来的问题,以及如何解决伪共享问题。http://ifeve.com/disruptor-cacheline-padding/
0 请登录后投票
   发表时间:2013-02-04  
Disruptor非常的牛B,看了译文才明白了伪共享,还有它的RingBuffer的设计思路也非常不错,不再是head/tail的实现,项目中直接参考了。
0 请登录后投票
   发表时间:2013-02-04  
agapple 写道
Disruptor非常的牛B,看了译文才明白了伪共享,还有它的RingBuffer的设计思路也非常不错,不再是head/tail的实现,项目中直接参考了。

赞!这么快就用上了,测试了效果了吗?
0 请登录后投票
   发表时间:2013-02-04  
fantasy 写道
agapple 写道
Disruptor非常的牛B,看了译文才明白了伪共享,还有它的RingBuffer的设计思路也非常不错,不再是head/tail的实现,项目中直接参考了。

赞!这么快就用上了,测试了效果了吗?


没有直接用它的代码,因为它的RingBuffer实现,如果消费者要从中拿数据,一定是需要两个线程进行交互,这让我有点不爽。

所以最后是基于它的模型自己写的,加入了自己的一些特性,不过说起来很惭愧,功能越加越多,到最后lock也用上了,都没发挥出Disruptor的特性
10 请登录后投票
   发表时间:2013-02-04  
目前我的项目中(数据库的增量复制,生产者:mysql binlog解析,消费者:业务消费,比如db写入),生产者和消费者模型基本不对等,生产者的速度 >>> 消费者的速度,所以我只需要它的RingBuffer功能,还有就是消费者需要进行batch,一次获取多条数据,这样的模型RingBuffer用来做中间存储,真的是再合适不过了。
0 请登录后投票
   发表时间:2013-02-05  
agapple 写道
目前我的项目中(数据库的增量复制,生产者:mysql binlog解析,消费者:业务消费,比如db写入),生产者和消费者模型基本不对等,生产者的速度 >>> 消费者的速度,所以我只需要它的RingBuffer功能,还有就是消费者需要进行batch,一次获取多条数据,这样的模型RingBuffer用来做中间存储,真的是再合适不过了。

很久没看见你的动静了,又上来呼吸了?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics