CodingCat

CodingCat's Blog

How Spark Decides PreferredLocation for a Task

In the post, we will go through the Spark code on how Spark decides the PreferredLocation of a task. Data Locality is a concept which is usually used in data processing frameworks like Hadoop/Spar...

How Spark Makes Tradeoff Between Executor Health and Data Locality

I’m currently working on a new project. I have the following question when designing a new feature: when a task is restarted due to the failure in an executor, how Spark decides whether to run ...

由SparkNet的代码谈一谈Spark RDD与C++程序的交互(1)

前一段时间,Spark社区里有过一个关于如何把native c++程序和rdd整合起来的一个讨论 大意是如何让native c++程序能够和RDD之间进行数据通信,这个想法无论是从社区发展还是从具体工作的角度来说都是非常有意义的。 本月月初,NIPS在蒙特利尔召开。今年NIPS上有个非常赞的LearningSys Workshop,对于做系统的人来讲这个workshop比主会更有意义。我本...

Isolation Levels

Recently, I’m starting to put eyes on the database implementation. One of the articles I have read is When is “ACID” ACID? Rarely To understand the article, I checked the definitions of different ...

Log-Structure File System in SSD

在这周末读The Design and Implementation of a Log-Structured File System 这篇论文之前对于Mendel Rosenblum 和 John K. Ousterhout两位教授的工作认识实在是肤浅,对于Mendel 我只知道是Vmware的创始人,对John的认识则停留在tcl语言, ramcloud以及近期的raft协议上。读了这篇文...

The 8 Requirements of Real-Time Stream Processing

这篇文章是根据Michael Stonebraker 在2008年发表的同名文章汇编而成。我没有去考证在那个时期stream processing 系统是什么样的,不过我相信M. Stonebraker先生的学术敏锐感和对数据库的理解,不应该让这篇文章成为一个hindsight。 贩卖一点个人对流处理的理解的私货,这篇文章里谈到的是stream processing。Stream 的处理从...

Atomic-XX与volatile实现的差异

今天问了连城一个脑洞大开的问题,JVM里volatile变量的happen-before原则,是否适用于offheap的空间,估计连神也是一把被我整懵了,第一反应猜测说,“如果调用的是 intrinsic,应该还适用,如果是 JNI 或别的什么,就不适用了吧”, 但是1秒之后又反问我,你确定能在offheap空间整出一个volatile变量? (连神还是发现了我奇异的脑洞) 其实我的本意是...

It's Just an Old Road

Just spent 30 mins to read the paper P4: Programming Protocol-Independent Packet Processors [1]. The paper proposes the general interface for programming the logic processing the network packets in...

Real-Time Search In Twitter

这是一篇发表在ICDE 2012上的文章,讲的是twitter如何构建他们的实时搜索引擎[1]。在twitter这样的以文本为主的数据存储空间中进行搜索,很常见的场景就是用户给出一个关键字,搜索引擎根据内容的相关程度返回和这个关键字有关(可以是exactly包含这个关键字,也可以是包含相关联的关键字) 的tweets. 这种业务通常就是用所谓的inverted index 来做,那么这篇文章...

Goodbye, WordPress! Hello, Octopress!

Finally got some time to fix all links, images and format. Migrate from WP to Octopress!