马楠楠三次召唤柯马克

By , November 22, 2014 7:28 pm

Conn的孙子、妲珐山的国王柯马克也去过马楠楠的国度。有一天,柯马克独自在妲珐山上,看到一位身穿铠甲的男子向他走来。他相貌高贵,银发飘逸,衣服上绣着金线,脚上穿着白铜靴子。他的肩上扛着一枝金树枝,树枝上挂着九只苹果。树枝晃动时发出的声音令人心旷神怡,能够让人忘记一切疲劳、欲望和忧愁。一个人不管心里有多少烦恼,都会随着这美妙的声音雨消云散。

柯马克和这男子互相问好,并询问他的来历。他说:“我从真理的国度来。那里没有时间也没有衰老,没有压迫也没有哀伤,没有嫉妒也没有骄傲。”柯马克说:“我们这里可不是这样的。我很希望能够得到您的友谊。”这男子说:“我很乐意成为你的朋友。”柯马克问:“那你愿意把这金树枝连同您的友谊一起给我吗?”这男子说:“非常乐意,如果您也愿意给我三样礼物的话。”柯马克说:“非常乐意。咱们一言而定。”

这男子给柯马克留下金树枝就消失了。柯马克回到宫殿里,所有的人都对他手里的金树枝啧啧称奇。他对人们摇了摇树枝,他们就马上进入梦乡,一直到第二天才醒过来。

一年以后,这男子回来索要他的第一个礼物。他说:“今天我要带走您的女儿艾丽。”柯马克说:“不管你要什么,就尽管拿去吧。”于是他就带走了柯马克的女儿艾丽。整个爱尔兰的女人都为王的女儿恸哭流涕。但是柯马克摇了摇金树枝,她们就忘记了悲伤,睡着了。

一个月后,这个男子又来了。这次他带走了了柯马克的儿子卡普里。人们因为王子的夭折悲痛欲绝,茶饭不思,夜不成眠。但是柯马克摇了摇金树枝,人们又一次忘记了悲伤。

这男子第三次来的时候,柯马克问他这回想要什么。他说:“这次我要带走您的妻子依娜。”说完这话,他就把皇后依娜带走了。

但是柯马克再也无法容忍了,他带着随从紧紧追赶。他们追到一片大平原的中央,突然来了一阵迷雾将他们团团围住。等到云消雾散时,柯马克发现狂野上只剩下他一个人。平原上有一座巨大的城堡,城堡的四周围着一道青铜城墙。一座白银宫殿耸立在城堡中央,屋顶的半面铺着白色的羽毛。宫殿的周围有好多西荷的士兵,他们怀里满满地抱着白色的羽毛。但是当他们将羽毛铺道屋顶上时,就会有一阵大风将羽毛吹走。

城堡里有一个烧火的人。他将一棵粗大的橡树放到火上,然后去砍伐另一棵树。等到他将第二棵树带回来时,前一棵树已经烧光了。他就这么周而复始,不停地砍树烧火。柯马克对他说:“这样看着你真是无聊。没有人告诉我你在做什么,我不明白你这样做的意义何在。”

柯马克又来到另外一座巨大的皇家城堡。城堡的四周同样围着一道青铜城墙,城堡的里面有四座宫殿。其中一座是富丽堂皇的皇宫,皇宫的柱子是青铜铸就,墙壁是白银铺成,屋顶上铺着白色的羽毛。草地中间有一眼泉水,从泉水那里分出五条小溪,九棵永不落叶的榛树将小溪覆盖在树荫底下,士兵们都轮流着从小溪里喝水。熟透的榛子从树上掉到溪水里,五条鲑鱼把榛子吃掉,它们吐出来的壳就顺着溪水漂流而下。潺潺的流水比任何歌声都更加好听。

柯马克走进皇宫,一男一女正在里面等他。他们个子很高,身上穿着华丽的衣服。男子身材俊美,和蔼可亲。年轻的女子有一头黄色的秀发,戴着一顶金头盔,比世界上任何女子都要惹人喜欢。皇宫里有一个浴池,热石头自己在水里跳出。柯马克跳进浴池里,美美地洗了个澡。洗完澡后,年轻的女子对那男子说:“起来吧,宫殿的主人。今天我们有一位尊贵的客人。把我们最好的食物拿来招待他吧。”男子站起来说:“我只有七头猪,但是能够养活世界上所有的人。这些猪今天被杀来吃掉,但是第二天又完好无损。”

过了一会,一个厨子走进屋来。他左手抱着一根木头,右手拿着一把斧头,身后跟着一头猪。厨子说:“现在就开始准备吧,因为我们今天有一位尊贵的客人。”接着他杀了猪,劈开木头,生了堆火,将猪放在一口大锅里煮。过了一会,主人问道:“是不是该翻一翻了?”厨子回答说:“光翻是没有用的。每讲一件真实的事情,就会有四分之一的猪肉变成熟的。不然的话猪肉永远都不会熟。”主人说:“那你就先讲吧。”

于是厨子讲了这样一个故事:“有一天,我发现别人的一群奶牛进入我的领地,我就把它们全都关进我的牛栏里。奶牛的主人找上门来,愿意用这把斧头赎回他的奶牛。我放了他的奶牛,换到了这把斧头。我用这把斧头杀猪,也用它来劈柴。劈出的柴火不仅够煮肉,还够给宫殿取暖。更重要的是,这根木头第二天就会完好如初。从那时候起就一直如此。”

主人说:“这确实是件真实的事情。”他们把锅里的猪翻了个面,发现果然有四分之一已经熟了。他们就说:“那我们再讲一件真实的事情吧。”主人说:“这回该我讲了。”

于是主人讲了这样一个故事:“耕种的季节到来了。当我们想要耕地的时候,就会发现地已经耕好耙好,并且播种了小麦的种子。当我们想要收割的时候,就会发现麦子已经收进了粮仓,上面盖着干草。那粮堆从来不见变大也从来不曾变小,从那时候起就一直如此。”

他们又把锅里的猪翻了个面,发现又有四分之一已经变熟了。年轻的女子说:“这回该我讲了。”

于是年轻的女子讲了这样一个故事:“我有七头奶牛和七只绵羊。这七头奶头所产的奶足够应许之地所有的人喝,这七只绵羊剪下的毛可以给世界上所有的人做衣服。”讲完这个故事,锅里的猪有四分之三已经熟了。

柯马克对主人说:“如果这些故事都是真的,那您就是马楠楠,她就是您的妻子。世界上除了您,没有人拥有这些珍宝。是您在应许之地找到了您的妻子,而这些奶牛就是她的嫁妆。”

大家都说这回轮到柯马克了。柯马克就源源本本地讲述了他的妻子、儿子和女儿如何被带走以及他如何追赶并来到这个地方的经过。等他讲完了,整个猪都熟透了。他们把猪切开,并把柯马克的一份摆在他的面前。但是柯马克觉得很难过,他说:“没有家人陪着,我吃一点都不下。”主人就给他唱了一首催眠曲让他进入梦乡。等他醒来的时候,发现身边多了五十位士兵,还有他的妻子、儿子和女儿,顿时惊喜万分。美酒和食物源源不断地给所有的人送上来。柯马克注意到主人手里拿着一只雕刻精美的金杯,赞叹不已。主人说:“这只金杯还有一样特异之处。如果有人对它说上三句谎言,它就会碎成三瓣。如果有人对它说上三句真话,它又会完好如初。”主人对着杯子说了三句谎话,它果然就碎成了三瓣。主人接着说:“为了把它修好,现在得给它说三句真话。自从他们被带到这里,您的妻子和女儿从来没有见过任何男人,您的儿子也从来没有见过任何女子。”话音刚落,碎了的金杯一下子就完好如初。主人接着说:“戴着您的妻子、儿子和女儿回去吧。把这只金杯也带上,这样您就可以判断真假。那枝金树枝我也留给您,供您消遣。但是您死去的时候,这两样东西都会被收回。至于我嘛,我就是马楠楠,李尔的儿子,应许之地的王。为了我们之间的友谊,是我用魔法把您带到这里来过一晚上。”

马楠楠接着说:“那些给屋顶铺羽毛的士兵,代表艺术家、诗人、寻宝者、牧人和守财奴。他们出门谋生,但是一生都积蓄不下什么财产。代代相传,无不如此。”

那个伐木烧火的人,代表年轻的贵族。他们乐善好施,甚至倾其所有。得益于他们的辛勤工作,爱尔兰所有的人都衣食有靠。”

那眼泉水就是智慧之泉,那五条小溪就是知识的河流。既没有喝过泉水也没有喝过溪水的人,目不识丁。喝过泉水或者溪水的人,多才多艺。”

第二天早上,柯马克从睡梦中醒来,发现自己和妻子、儿子和女儿躺在妲珐山的草地上,自己手里拿着金树枝和金杯。这只金杯就叫做柯马克的圣杯,用来在盖尔人当中判断真伪。但是,就像马楠楠所预言的那样,圣杯和金树枝在柯马克死去之后就一同消失了。

马楠楠召唤布莱恩

By , November 16, 2014 6:25 pm

有人去过马楠楠在大海尽头的领地。他们回来以后,讲述了关于那个奇妙仙境的故事。

有一回,费巴尔的儿子布莱恩独自在他的城堡周围散步。他听到身后传来美妙的音乐,如影随形,寸步不离,直到他在这甜美的声音中睡了过去。他醒来时发现身边有一枝银树枝,白色的花朵和银色的枝叶交互辉映。他把银树枝带回宫殿,所有的人都围过来观看。这时,人们发现一位奇装异服的女子不知道什么时候站在宫殿里。她看着布莱恩,唱了这样一首歌:

我从怡海[1]的苹果树上带来一段树枝。
在那遥远的海岛上,
李尔的儿子的骏马尽情嬉戏。
多样的游戏的令人满目欢喜,
马车舟船在银色平原上竞技。

永生者任凭时光流逝。
秀丽的平原亘古不变。
盛开的鲜花永不凋零。

古老的树上开满鲜花。
鸟儿在丛中尽情鸣唱。
多彩的景色引人入胜。
柔软的音乐令人沉醉。

熟耕的土地有求必应。
伤心的恸哭绝无听见。
没有艰辛,没有逆境,没有痛苦。
没有软弱,没有疾病,没有死亡。
这非同寻常的奇迹是怡海的象征。

这里的薄雾独一无二。
波浪冲刷海岸,
狼头泛起白沫。

慷慨的土地物产丰富。
各色宝藏,应有尽有。
人们倾听甜蜜的音乐,
人们畅饮醉人的美酒。

金马车,银马车,铜马车。
踏着海浪,奔向太阳,
金骏马,枣红马,五花马。
迎着海风,同场竞技。

阳光下,沙滩反射出银色光芒。
海角处,悬崖静静地晒着太阳。
平原上,赛马的场景盛大宏伟。
这多彩的土地啊,
大海永不退潮,生命永不衰亡。

一位英俊的男子打破黎明,
他的光芒照亮大地。
他在汹涌的海面纵马奔驰,
他将大海扰动得殷红如血。

一支大军越过明亮的大海,
列队走向万种瞩目的圣石。
那圣石是一切音乐的起源,
令人愉悦的音乐延绵不绝。
成百上千个声音相互和鸣,
就像献给大军的一首赞歌。
任凭时间流逝,
他们没有衰老,没有死亡。

大海以西有一百五十座海岛,
每一个都比爱尔兰大两三倍。

我不是对你们所有人说话,
尽管你们都听见了这奇迹。
芸芸众生里,
唯有布莱恩能够领会其中的智慧。

不要迷恋上懒惰的温床,
不要沉湎于美酒的麻醉。
马上启航跨过大海吧,
也许你能碰巧找到传说种的女儿国。

唱完了这首歌,这个女子就离开了。没有人知道她去了哪里。在她出门的时候,布莱恩感到自己没有力气抓住手中的银树枝。那银树枝就滑到了这个女子的手里,随着她一起消失了。

第二天,布莱恩带着三队随从出海了。每队随从有九个人,带头的都是他的养兄弟。他们在海上航行了两天两夜,看见一位男子乘着一辆马车迎面而来。这位男子自称是李尔的儿子马楠楠。他用歌声向布莱恩表示欢迎:

布莱恩,
你的船只航行在风平浪静的海面,
我的马车飞驰在鲜花盛开的草原。

布莱恩,
你看到的是起伏的波涛,
我看到的是无瑕的红花。

布莱恩,
你看到的是夏天明亮的海马,
我看到的是橡实累累的橡树。

那美丽的森林啊,
鲜花盛开,果实累累。
林中飘来美酒的气味,
金黄的枝叶永不枯萎。

布莱恩,继续向前吧。
不远处就是传说的女儿国。
在太阳下山之前,
你就会到达怡海,
那里你会得到盛情的款待。

布莱恩告别了马楠楠继续往前航行。不久,他们看到一座小岛,就划着船绕着小岛观察。岛上有一群人看着来客大笑不止,但是并没有停下来跟他们说话。布莱恩派了个随从登上岛去,但是这个人也象岛上的人一样,一边看着他们一边笑个不停。布莱恩的船队又绕着小岛走了几圈。每次从那个随从前面经过时,船上的人都大声向他喊话。但是他只是瞪着他们狂笑不止,丝毫没有和他们说话的意思。于是布莱恩的船队继续向前航行,讲这个快乐的人留在这个欢乐岛上。

没过多久,他们就到了女儿国。女儿国的头人就在登岸的地方等着他们。她说:“费巴尔的儿子布莱恩,欢迎您来到我们的国度。”布莱恩犹豫着不敢靠岸。女头人朝他扔去一个线团。布莱恩用手接住线团,那线团就缠在布莱恩的手上,越缠越紧。女头人抓住线团的另一头,将布莱恩的船拉上岸来。

他们走进一座壮美的宫殿。那里为他们每个人准备了一张双人床。盘子里的食物永远都吃不完。只要是他们想得到的食物,这里都一应俱全。

大约过了一年时间,库尔布兰的儿子涅克坦突然起了思乡之情。他和同伴一起恳求布莱恩跟他们一起回爱尔兰去。女儿国的人们反复劝说他们留下,不然的话他们会感到后悔的。但是他们还是决定上路了。女人们告诫他们到了爱尔兰之后千万不能碰到那里的土地,并提醒他们顺便带上留在欢乐岛上的同伴。

他们回到了爱尔兰,在斯鲁布鲁恩靠岸。海滩上的人们询问海上来客们的来历。布莱恩说:“我是费巴尔的儿子布莱恩。”但是人们说:“我们不认识什么叫做布莱恩的人。不过,在我们古老的传说中有布莱恩航海的故事。”

思乡心切的涅克坦从船上跳到地上。在他碰到爱尔兰的土地的一刹那,他的身体变成了一捧骨灰,就像是他已经死了几百年一样。

布莱恩将他们在海上的所见所闻告诉给海滩上的人们。故事讲完之后,他们又乘着船离开了。从此以后,再也没有人知道他们的下落。

[1] 怡海(Emhain),爱尔兰神话中一个类似于天堂的小岛,是马楠楠的领地。

Spark vs Hadoop – Updated Version

By , October 12, 2014 9:42 am

Databricks recently posted a blog entry Spark Breaks Previous Large-Scale Sort Record, with some claimed breakthroughs in large scale sorting. This blog post said:

The previous world record was 72 minutes, set by Yahoo using a Hadoop MapReduce cluster of 2100 nodes. Using Spark on 206 EC2 nodes, we completed the benchmark in 23 minutes. This means that Spark sorted the same data 3X faster using 10X fewer machines. All the sorting took place on disk (HDFS), without using Spark’s in-memory cache.

The blog post by Databricks did not list all the configurations about the computing nodes. I spent some time reading through their test environment, as well as the test environment used by the Yahoo team. Then I come up with the following table with details information about each tests:

Hadoop Spark
Single Node Configuration
System Dell R720xd AWS EC2 i2.8xlarge
CPU Intel Xeon E5-2630 Intel Xeon E5-2670 v2
Total CPU Cores 12 (2 Phyiscal CPUs) 32 (vCPU)
Memory 64 GB 244 GB
Stroage 12 x 3 TB SATA 8 x 800 GB SSD
Single Disk Random Read IOPS (4 KB blocks) ~50 (measured) N/A
RAID0 Random Write IOPS (4 KB blocks) 600 (max) 365,000 (minimum)
Single Disk Random Write IOPS (4 KB blocks) ~110 (measured) N/A
RAID0 Random Write IOPS (4 KB blocks) 1320(max) 315,000 (minimum)
Single Disk Sequential Read Throughput (128 KB blocks) 120 MB/s (measured) 400 MB/s (measured)
Single Disk Sequential Write Throughput (128 KB blocks) 120 MB/s (measured) 400 MB/s (measured)
RAID0 Sequential Read Throughput (128 KB blocks) 1,440 MB/s (estimated max) 3,200 MB/s (measured)
RAID0 Sequential Write Throughput (128 KB blocks) 1,440 MB/s (estimated max) 2,200 MB/s (measured)
Networking 10 Gbps 10 Gbps
Cluster Configuration
Number of Nodes 2100 206
Number of CPU Cores 25200 6592
Total Memory 134,400 GB 50,264 GB
Total Random Read IOPS (4 KB blocks) 1,260,000 (max) 75,190,000 (minimum)
Total Random Write IOPS (4 KB blocks) 2,772,000 (max) 64,890,000 (minimum)
Total Sequential Read Throughput (128 KB blocks) 3,024,000 MB/s (estimated max) 659,200 MB/s (estimated)
Total Sequential Write Throughput (128 KB blocks) 3,024,000 MB/s (estimated max) 453,200 MB/s (estimated)
100 TB Sorting Results
Time 72 minutes 23 minutes

It should be noted that the reference performance data for a 3 TB SATA drive is Seagate Barracuda XT 3TB. The reference performance data for a 800 GB SSD driver is taken the AWS documentation for the i2.8xlarge instance for the IOPS part, while the single disk and RAID0 throughput is the result of a benchmark using my own AWS account. (After reading the comments posted by rxin, I realized that I did mis-estimate the sequential IO performance for the i2.8xlarge instance, so I did some testing to get the new data and updated this post.)

As we all know, large scale sorting is a typical IO intensive application. Because we do not have enough memory to hold all the data to be sorted, the sorting has to be done in multiple batches. In each batch, data is read from the disk for processing, and the result is written back to the disk. If we observe the CPU utilization during the sorting process, we will see that most of the time the CPU is waiting for IO. In the above-mentioned configurations, the Spark cluster has great advantage over the Hadoop cluster in terms of random read (IOPS, 60X), random write (IOPS, 24X). However, the Spark cluster is not comparable with the Hadoop cluster in terms of sequential read (throughput, 0.22X), as well as sequential write (throughput, 0.15X). The performance of large scale sorting depends more on sequential IO than on random IO. Although the Spark cluster uses SSD disk and the Hadoop cluster uses SATA disks, the Spark cluster is not in an advantageous position in terms of storage. (I made a mistake in my original post by using the SSD performance data for Intel SSD 910 Series, resulting in significant over-estimation of the sequential IO performance of the AWS i2.8xlarge instance. This mistake has been corrected in this updated version.)

In terms of CPU cores, the Spark cluster has 1/4 of the CPU cores as compared with the Hadoop cluster. However, the Spark cluster uses Intel E5-2670 v2 and the Hadoop cluster uses Intel E5-2630. I got the following CPU benchmark data from www.cpubenchmark.net. The per-core performance of the CPU being used in both clusters are comparable to each other. (In large scale sorting, the pressure on CPU is not as heavy as the pressure on IO.)

CPU Comparison
Hadoop Spark
CPU Intel Xeon E5-2630 Intel Xeon E5-2670 v2
Passmark 14033  22134
Number of Cores per CPU 6  10
Passmark per Core 2338  2213

In terms of memory, the Spark cluster has 1/3 of the memory as compared with the Hadoop cluster.

So, after revisiting this topic, I tend to believe that Spark does perform much better than Hadoop. (I apologize to the Databricks team for not carrying out a careful analysis when I posted the original message. Thank you rxin for pointing out my mistakes.)

格萨尔王

By , October 2, 2014 6:41 pm

King_Gesaer

 

阿来2009年的书。依然是一部好书,但是总是感觉不如《尘埃落定》那么痛快。

If you don’t like this government, it won’t last forever.

By , September 19, 2014 6:01 pm

JS46409703

 

“If you don’t like me, I wont’ be here forever. If you don’t like this government, it won’t last forever.”

This is the best sentence I’ve heard regarding country, government, politicians, and people. It is so simple, and so true.

http://www.dailyrecord.co.uk/news/politics/if-you-dont-like-me-4264479

Panorama Theme by Themocracy