<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[在思考的路上]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/watter1985</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; watter1985]]></copyright><item><title><![CDATA[为什么TCP连接不可靠]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84469505</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84469505</guid><author>watter1985</author><pubDate>Thu, 15 Aug 2013 14:59:29 +0800</pubDate><description><![CDATA[

为什么TCP不可靠

原文在此
 
这篇文章是关于TCP网络编程的一个不起眼的小问题。几乎人人都并不太明白这个问题是怎么回事。曾经我以为我已经理解了，但在上周，我才发现我没有理解。
 
所以我决定在网络上搜索并咨询专家，希望他们留下他们智慧的轨迹从而一劳永逸，希望可以为这个主题画上休止符。
 
专家(H. Willstrand, Evgeniy Polyakov, Bill F...]]></description><category></category></item><item><title><![CDATA[关于分支预测]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84446352</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84446352</guid><author>watter1985</author><pubDate>Mon, 24 Jun 2013 16:10:28 +0800</pubDate><description><![CDATA[
 
昨日与某老汉聊天， 给我分享了一些机器学习相关内容，受益匪浅。老汉问我有关分支预测的问题，我解释得天马星空，貌似老汉已被误导，故今日撰写此文以理清逻辑。实际上分支预测这个词在N年前（N&amp;lt;3）在读深入理解计算机系统时就大概看过那么一段，但其中的原理一直没有深究，直至昨日老汉发问。下面让我们来了解一下。
 
假设你是一个19世纪的铁路搬岔工，负责当地的一个铁路岔路口，当时没有电话，...]]></description><category></category></item><item><title><![CDATA[朱迪树(judy trie/array/tree)]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84441343</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84441343</guid><author>watter1985</author><pubDate>Sun, 09 Jun 2013 18:09:07 +0800</pubDate><description><![CDATA[
简介
朱迪树是什么?
朱迪树，或朱迪数组(judy trie/array/tree)是一种对内存使用率和CPU高速缓存命中率进行优化的trie树。与哈希表，二叉树(包括红黑树等)，B-树等相比占用更少的内存，同时又具有很高的运行效率，在某些情况下甚至胜过哈希表。
 
朱迪是谁?
朱迪是朱迪树的发明者的妹妹或者姐姐，可能是因为作者没有找到好听的名字就直接拿sister的名字来命名了。...]]></description><category></category></item><item><title><![CDATA[ZeroMQ：现代和快速的网络协议栈]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84361773</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84361773</guid><author>watter1985</author><pubDate>Wed, 28 Nov 2012 12:41:52 +0800</pubDate><description><![CDATA[Berkeley 套接字（BSD）是所有网络通信共同使用的API。建立于20世纪80年代初期，它是TCP /
IP协议族的原始实现，是目前任何操作系统广泛支持的必备组件。大部分人都很熟悉BSD 套接字中的对等连接，这需要显式的建立，断开，选择运输协议（TCP，UDP），错误处理，等等。当这些工作完成时，你就来到了应用层协议（例如 HTTP）的世界，这时你需要额外的数据格式(frame)，缓冲，以...]]></description><category></category></item><item><title><![CDATA[ZeroMQ的内部架构(一)]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84361394</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84361394</guid><author>watter1985</author><pubDate>Tue, 27 Nov 2012 15:34:07 +0800</pubDate><description><![CDATA[部分翻译自www.zeromq.org/whitepapers:architecture
 
概述
想要了解ZMQ内部结构的人越来越多，大量关于代码库的讨论经常提到的问题是缺乏一个可以让新人快速了解代码结构的架构文档。
本文的目的便是提供一种这样的文档。本文会逐步覆盖整个代码库，但是不会去关注太多的细节问题。因为随着时间的推移，细节部分可能与文档脱节。如果想要获得详细信息，你应该查看相关部...]]></description><category></category></item><item><title><![CDATA[Hadoop RPC使用与实现]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84322118</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84322118</guid><author>watter1985</author><pubDate>Tue, 23 Oct 2012 14:20:29 +0800</pubDate><description><![CDATA[ 
hadoop.ipc和RPC简介
hadoop 和hbase中的大部分服务都是通过hadoop.ipt.RPC这个类来实现的。

hadoop.ipc.RPC 实现了一种远程过程调用的框架，应用可以直接定义过程调用的协议接口和协议的server端实现，就可以直接通过RPC框架获得RPC server和client端的接口代理。

hadoop.ipc.RPC 的实现利用了 hado...]]></description><category></category></item><item><title><![CDATA[cherokee, nginx, boost.asio 中的Leader Follower 模式]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84301875</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84301875</guid><author>watter1985</author><pubDate>Mon, 15 Oct 2012 20:46:49 +0800</pubDate><description><![CDATA[
LeaderFollower模式是一种高效的多线程IO多路分离和调度模式。
http://www.kircher-schwanninger.de/michael/publications/lf.pdf

实现高性能的多线程应用程序是具有挑战性的任务，Leader Follower主要解决了以下几个方面的问题:
1. 有效复用IO句柄和线程: 实现高性能多线应用需要并发处理大量的事件，例...]]></description><category></category></item><item><title><![CDATA[HBase的辅助索引实现]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84298648</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84298648</guid><author>watter1985</author><pubDate>Tue, 09 Oct 2012 14:22:28 +0800</pubDate><description><![CDATA[
翻译自http://wiki.apache.org/hadoop/Hbase/SecondaryIndexing
 
本文是关于实现HBase辅助索引不同方法的设计文档。
 

使用Coprocessor实现最终一致性的辅助索引


 基本的想法是为主表中的每个索引建立一个额外的辅助表。为列族(family)添加coprocessor，并利用coprocessor处理列族上(或...]]></description><category></category></item><item><title><![CDATA[linux 内核poll/select/epoll实现剖析]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84273166</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84273166</guid><author>watter1985</author><pubDate>Tue, 14 Aug 2012 13:33:30 +0800</pubDate><description><![CDATA[f_ops.poll和wait_queue
poll/select/epoll的实现都是基于文件提供的poll方法(f_op-&amp;gt;poll)，该方法利用poll_table提供的_qproc方法向文件内部事件掩码_key对应的的一个或多个等待队列(wait_queue_head_t)上添加包含唤醒函数(wait_queue_t.func)的节点(wait_queue_t)，并检查文件当前就绪...]]></description><category></category></item><item><title><![CDATA[cherokee 插件加载器源码剖析]]></title><link>https://blog.youkuaiyun.com/watter1985/article/details/84119525</link><guid>https://blog.youkuaiyun.com/watter1985/article/details/84119525</guid><author>watter1985</author><pubDate>Fri, 23 Dec 2011 18:27:02 +0800</pubDate><description><![CDATA[cherokee 服务器的绝大部分功能都是用插件实现的, 因此要理解cherokee的源码首先需要理解的就是cherokee的插件. 
插件相关的主要结构体有以下几个.
 
// 插件, 对应于每个插件
typedef struct {
	cherokee_plugin_type_t    type;
	void                         *instance;
...]]></description><category></category></item></channel></rss>