自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 为什么TCP连接不可靠

为什么TCP不可靠原文在此 这篇文章是关于TCP网络编程的一个不起眼的小问题。几乎人人都并不太明白这个问题是怎么回事。曾经我以为我已经理解了,但在上周,我才发现我没有理解。 所以我决定在网络上搜索并咨询专家,希望他们留下他们智慧的轨迹从而一劳永逸,希望可以为这个主题画上休止符。 专家(H. Willstrand, Evgeniy Polyakov, Bill F...

2013-08-15 14:59:29 919 1

原创 关于分支预测

 昨日与某老汉聊天, 给我分享了一些机器学习相关内容,受益匪浅。老汉问我有关分支预测的问题,我解释得天马星空,貌似老汉已被误导,故今日撰写此文以理清逻辑。实际上分支预测这个词在N年前(N<3)在读深入理解计算机系统时就大概看过那么一段,但其中的原理一直没有深究,直至昨日老汉发问。下面让我们来了解一下。 假设你是一个19世纪的铁路搬岔工,负责当地的一个铁路岔路口,当时没有电话,...

2013-06-24 16:10:28 235

原创 朱迪树(judy trie/array/tree)

简介朱迪树是什么?朱迪树,或朱迪数组(judy trie/array/tree)是一种对内存使用率和CPU高速缓存命中率进行优化的trie树。与哈希表,二叉树(包括红黑树等),B-树等相比占用更少的内存,同时又具有很高的运行效率,在某些情况下甚至胜过哈希表。 朱迪是谁?朱迪是朱迪树的发明者的妹妹或者姐姐,可能是因为作者没有找到好听的名字就直接拿sister的名字来命名了。...

2013-06-09 18:09:07 424

原创 ZeroMQ:现代和快速的网络协议栈

Berkeley 套接字(BSD)是所有网络通信共同使用的API。建立于20世纪80年代初期,它是TCP /IP协议族的原始实现,是目前任何操作系统广泛支持的必备组件。大部分人都很熟悉BSD 套接字中的对等连接,这需要显式的建立,断开,选择运输协议(TCP,UDP),错误处理,等等。当这些工作完成时,你就来到了应用层协议(例如 HTTP)的世界,这时你需要额外的数据格式(frame),缓冲,以...

2012-11-28 12:41:52 297

原创 ZeroMQ的内部架构(一)

部分翻译自www.zeromq.org/whitepapers:architecture 概述想要了解ZMQ内部结构的人越来越多,大量关于代码库的讨论经常提到的问题是缺乏一个可以让新人快速了解代码结构的架构文档。本文的目的便是提供一种这样的文档。本文会逐步覆盖整个代码库,但是不会去关注太多的细节问题。因为随着时间的推移,细节部分可能与文档脱节。如果想要获得详细信息,你应该查看相关部...

2012-11-27 15:34:07 619

原创 Hadoop RPC使用与实现

 hadoop.ipc和RPC简介hadoop 和hbase中的大部分服务都是通过hadoop.ipt.RPC这个类来实现的。hadoop.ipc.RPC 实现了一种远程过程调用的框架,应用可以直接定义过程调用的协议接口和协议的server端实现,就可以直接通过RPC框架获得RPC server和client端的接口代理。hadoop.ipc.RPC 的实现利用了 hado...

2012-10-23 14:20:29 222

原创 cherokee, nginx, boost.asio 中的Leader Follower 模式

LeaderFollower模式是一种高效的多线程IO多路分离和调度模式。http://www.kircher-schwanninger.de/michael/publications/lf.pdf实现高性能的多线程应用程序是具有挑战性的任务,Leader Follower主要解决了以下几个方面的问题:1. 有效复用IO句柄和线程: 实现高性能多线应用需要并发处理大量的事件,例...

2012-10-15 20:46:49 198

原创 HBase的辅助索引实现

翻译自http://wiki.apache.org/hadoop/Hbase/SecondaryIndexing 本文是关于实现HBase辅助索引不同方法的设计文档。 使用Coprocessor实现最终一致性的辅助索引 基本的想法是为主表中的每个索引建立一个额外的辅助表。为列族(family)添加coprocessor,并利用coprocessor处理列族上(或...

2012-10-09 14:22:28 329

原创 linux 内核poll/select/epoll实现剖析

f_ops.poll和wait_queuepoll/select/epoll的实现都是基于文件提供的poll方法(f_op->poll),该方法利用poll_table提供的_qproc方法向文件内部事件掩码_key对应的的一个或多个等待队列(wait_queue_head_t)上添加包含唤醒函数(wait_queue_t.func)的节点(wait_queue_t),并检查文件当前就绪...

2012-08-14 13:33:30 1267 1

cherokee 插件加载器源码剖析

cherokee 服务器的绝大部分功能都是用插件实现的, 因此要理解cherokee的源码首先需要理解的就是cherokee的插件. 插件相关的主要结构体有以下几个. // 插件, 对应于每个插件typedef struct { cherokee_plugin_type_t type; void *instance;...

2011-12-23 18:27:02 158

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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