spinlock剖析与改进

转自:http://www.searchtb.com/2011/06/spinlock%E5%89%96%E6%9E%90%E4%B8%8E%E6%94%B9%E8%BF%9B.html 1, spinlock介绍 spinlock又称自旋锁,线程通过busy-wait-loop的...

2016-03-16 10:54:39

阅读数:268

评论数:0

《LINUX3.0内核源代码分析》第三章:内核同步(1)

转自:http://blog.chinaunix.net/uid-25845340-id-3011577.html 摘要:本文主要讲述linux如何处理ARM cortex A9多核处理器的内核同步部分。主要包括其中的内存屏障、原子变量、每CPU变量。 自旋锁、信号量、complete、读...

2016-03-15 18:41:08

阅读数:429

评论数:0

内存屏障相关--barrier(),mb(),smp_mb(),乱序,内存一致性

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=14528823&id=4337007         内核中定义的内存屏障原语有:                         ...

2016-03-15 17:08:10

阅读数:1714

评论数:0

LINUX内核之内存屏障

@CopyLeft by ICANTH,I Can do ANy THing that I CAN THink!~ Author: WenHui, WuHan University,2012-6-4  源地址: http://www.cnblogs.com/icanth/archive...

2016-03-15 15:36:08

阅读数:316

评论数:0

Cassandra中Gossip具体实现方式

转自:http://blog.csdn.net/zhangzhaokun/article/details/5859760 (一)Gossip的作用 Cassandra集群没有中心节点,各个节点的地位完全相同,它们通过一种叫做gossip的协议维护集群的状态。  通过gossip,每个...

2016-01-27 21:38:22

阅读数:342

评论数:0

cassandra 之 gossip实现

转自:http://blog.163.com/liaoxiangui@126/blog/static/795696402012123113540670/ 1 概述 本文的描述基于cassandra 0.6.3 源代码。 gossip协议解决了在分布式环境中,如何使用最少的网络带宽,达...

2016-01-27 21:37:01

阅读数:276

评论数:0

CPU缓存刷新的误解

转自:http://ifeve.com/cpu-cache-flushing-fallacy-cn/ 即使是资深的技术人员,我经常听到他们谈论某些操作是如何导致一个CPU缓存的刷新。看来这是关于CPU缓存如何工作和缓存子系统如何与执行核心交互的一个常见误区。本文将致力于解释CPU缓存的功能以及执...

2015-08-04 16:59:04

阅读数:325

评论数:0

理解 Memory barrier(内存屏障)

转自:http://name5566.com/4535.html 参考文献列表: http://en.wikipedia.org/wiki/Memory_barrier http://en.wikipedia.org/wiki/Out-of-order_execution http...

2015-07-31 13:47:45

阅读数:554

评论数:0

Disruptor(无锁并发框架)-发布

转自:http://ifeve.com/the-disruptor-lock-free-publishing/ 假如你生活在另外一个星球,我们最近开源了一套高性能的基于消息传递的开源框架。 下面我给大家介绍一下如何将消息通过Ring buffer在无锁的情况下进行处理。 在深入介绍之前,可...

2015-07-30 12:42:08

阅读数:244

评论数:0

由一道淘宝面试题到False sharing问题

转自:http://blog.csdn.net/wdzxl198/article/details/11218765 今天在看淘宝之前的一道面试题目,内容是 在高性能服务器的代码中经常会看到类似这样的代码: [cpp] view plaincopy typedef uni...

2015-07-30 12:30:54

阅读数:427

评论数:0

并发框架Disruptor译文

转自:http://ifeve.com/disruptor/ Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处...

2015-07-30 11:34:10

阅读数:212

评论数:0

剖析Disruptor:为什么会这么快?(四)Ringbuffer的特别之处

转自:http://ifeve.com/dissecting-disruptor-whats-so-special/ 最近,我们开源了LMAX Disruptor,它是我们的交易系统吞吐量快(LMAX是一个新型的交易平台,号称能够单线程每秒处理数百万的订单)的关键原因。为什么我们要将其开源?我...

2015-07-30 11:29:03

阅读数:246

评论数:0

剖析Disruptor:为什么会这么快?(三)揭秘内存屏障

转自:http://ifeve.com/disruptor-memory-barrier/ 最近我博客文章更新有点慢,因为我在忙着写一篇介绍内存屏障(Memory Barries)以及如何将其应用于Disruptor的文章。问题是,无论我翻阅了多少资料,向耐心的Martin和Mike请教了多少...

2015-07-30 11:21:09

阅读数:215

评论数:0

剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充

转自:http://ifeve.com/disruptor-cacheline-padding/ 我们经常提到一个短语Mechanical Sympathy,这个短语也是Martin博客的标题(译注:Martin Thompson),Mechanical Sympathy讲的是底层硬件是如何运...

2015-07-30 10:53:55

阅读数:198

评论数:0

伪共享(False Sharing)

转自:http://ifeve.com/falsesharing/ 原文地址:http://ifeve.com/false-sharing/ 作者:Martin Thompson  译者:丁一 缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般...

2015-07-30 10:35:26

阅读数:250

评论数:0

False Sharing问题

转自:http://blog.csdn.net/pennyliang/article/details/5766541 在多处理器,多线程情况下,如果两个线程分别运行在不同的CPU上,而其中某个线程修改了cache line中的元素,由于cache一致性的原因,另一个线程的cache line被...

2015-07-30 10:25:46

阅读数:214

评论数:0

剖析Disruptor:为什么会这么快?(一)锁的缺点

转自:http://ifeve.com/locks-are-bad/ Martin Fowler写了一篇非常好的文章,里面不仅提到了Disruptor,而且还解释了Disruptor 如何应用在LMAX的架构里。里面有提及了一些目前没有涉及的概念,但最经常问到的问题是 “Disruptor究...

2015-07-30 09:53:45

阅读数:228

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭