Redian新闻
>
说说我以前做的ultra low latency架构吧
avatar
说说我以前做的ultra low latency架构吧# Programming - 葵花宝典
l*7
1
每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
)。
其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
啊!!拜托了,谢谢。
avatar
l*o
2
开了新书 芝加哥1990
靠,靠,靠
avatar
T*i
3
差不多10年前了。C++。彻底的kernel bypass。NUMA, huge TLB,CPU isolation。
当时连靠谱的NUMA allocation机制都找不到。发现最可靠的就是reserve一个huge
page然后根据CPU socket平均分配一下pool。
custom memory allocator。用的最简单的binary。allocate的时候找最接近的2^n空闲
块,如果找不到就在pool里顺序分配一个。free的时候把这个块归还n的list里边。
allocate和free都是个位数指令。理论上内存浪费可能多一倍。实际上没那么多。其实
系统死循环运行,memory usage pattern可以证明是固定的。
我个人经验。这种lock free架构和传统架构是格格不入的。根本没有任何办法能够把
他们整合起来。多核间通信都是invariant message passing。传递的都是指针。这是
硬实时架构,延迟是guaranteed。除非你哪里写错了,那种情况直接主动崩溃是最好的
选择。如果你写对了,消息都是在一个简单的循环队列里边,在消息被擦除前,保证早
被处理了。说穿了,就是在用空间换时间。
目前看来,这是我发明的架构。还没有看到其他人把架构化简到这个程度。我的系统已
经production多年了。
avatar
p*i
4

中午不睡不要逼他,过了时间就起床,爱睡不睡。中午不睡,晚上早睡。

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
n*m
5
哈哈
我老还是很牛逼的
[在 locarno (洛卡) 的大作中提到:]
:开了新书 芝加哥1990
:靠,靠,靠
avatar
T*i
6
另外这种架构,如果不考虑latency因素,其实NUMA带来的性能提升有限。也就30%左右
吧。反正现在CPU LLC都很大。
关键的是你如何思考整个系统?如何实现?这世界上你要取舍。没有斩尽天下便宜的那
个好事。你要这么做,就不要考虑那么做!
avatar
l*7
7
谢谢回复,那么中午是应该定时睡觉吗?比如让他试着1点睡,睡一个小时?然后就起
床?还在睡也想办法起来?

【在 p******i 的大作中提到】
:
: 中午不睡不要逼他,过了时间就起床,爱睡不睡。中午不睡,晚上早睡。

avatar
a*o
8
早就是月经慢慢变成季经了,完全没法看,都不记得前面扯啥了。

【在 l*****o 的大作中提到】
: 开了新书 芝加哥1990
: 靠,靠,靠

avatar
N*r
9

hehe , 任何行业都有两种人,一种人是吃透了东西,会用现有框架,也知道有不足该
怎么改进
另一种就是学了框架,不学明白,到处瞎套,套不上就觉得是世界错了。。。。
这世界上绝大多数都是后者

【在 T********i 的大作中提到】
: 差不多10年前了。C++。彻底的kernel bypass。NUMA, huge TLB,CPU isolation。
: 当时连靠谱的NUMA allocation机制都找不到。发现最可靠的就是reserve一个huge
: page然后根据CPU socket平均分配一下pool。
: custom memory allocator。用的最简单的binary。allocate的时候找最接近的2^n空闲
: 块,如果找不到就在pool里顺序分配一个。free的时候把这个块归还n的list里边。
: allocate和free都是个位数指令。理论上内存浪费可能多一倍。实际上没那么多。其实
: 系统死循环运行,memory usage pattern可以证明是固定的。
: 我个人经验。这种lock free架构和传统架构是格格不入的。根本没有任何办法能够把
: 他们整合起来。多核间通信都是invariant message passing。传递的都是指针。这是
: 硬实时架构,延迟是guaranteed。除非你哪里写错了,那种情况直接主动崩溃是最好的

avatar
p*i
10
差不多吧,不过我们儿子不喜欢睡觉,所以他不醒我们不特意去叫他。看情况了。
avatar
i*r
11
真个还是太可惜了,等了很多年。
avatar
g*t
12
what kind of test you have done? Application scenario?
what type of IO?
I used to designed an memory diagnostic algorithm to trigger the CPU reset
automatically.

【在 T********i 的大作中提到】
: 差不多10年前了。C++。彻底的kernel bypass。NUMA, huge TLB,CPU isolation。
: 当时连靠谱的NUMA allocation机制都找不到。发现最可靠的就是reserve一个huge
: page然后根据CPU socket平均分配一下pool。
: custom memory allocator。用的最简单的binary。allocate的时候找最接近的2^n空闲
: 块,如果找不到就在pool里顺序分配一个。free的时候把这个块归还n的list里边。
: allocate和free都是个位数指令。理论上内存浪费可能多一倍。实际上没那么多。其实
: 系统死循环运行,memory usage pattern可以证明是固定的。
: 我个人经验。这种lock free架构和传统架构是格格不入的。根本没有任何办法能够把
: 他们整合起来。多核间通信都是invariant message passing。传递的都是指针。这是
: 硬实时架构,延迟是guaranteed。除非你哪里写错了,那种情况直接主动崩溃是最好的

avatar
n*y
13
我们不哄,看她确实累了想睡了又不愿意睡,放进crib哭几声就睡了。白天实在不想睡
就随她了,晚上让她早点睡。
avatar
s*r
14
也好, 伪完本,至少不用等了。
没准是看熟了套路,最近没书看了。只有每天两章的诡秘之主看。
avatar
p*o
15
估计是HFT,github上有LMAX出的java轮子。

【在 g****t 的大作中提到】
: what kind of test you have done? Application scenario?
: what type of IO?
: I used to designed an memory diagnostic algorithm to trigger the CPU reset
: automatically.

avatar
b*t
16
不知道你孩子多大,看起来比我们家的要大,我们家是7个月以后白天晚上睡觉从来不
哄得,丢crib里
面就走,一开始哭,现在很少哭了。如果不出意外,还是会继续这么做的,让她有个好
习惯。

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
s*p
17
靠,靠,靠
靠,靠,靠
靠,靠,靠

【在 l*****o 的大作中提到】
: 开了新书 芝加哥1990
: 靠,靠,靠

avatar
T*i
18
app是HFT。但是架构是universal的。这东西用Java没戏。虽然也能做,但是属于脱裤
子放屁。

【在 p***o 的大作中提到】
: 估计是HFT,github上有LMAX出的java轮子。
avatar
n*y
19
你们有没有固定的作息时间?生活有规律的话,应该没这么困难。
我娃儿一般往床上一扔,陪他躺会儿,9点钟之前差不多就睡着了;周末在家睡午觉也
是,到时候扔床上,陪躺陪睡,少的有半个小时,娃儿困了,能睡挺久的。
睡前的活动不要太多,花5分钟10分钟看一本书就好了,音乐的不需要放,到时候把东
西放下,跟娃儿坚定的说睡觉!无论娃儿有啥要求以“睡觉”回答,过一阵子,应该就
好了。
avatar
p*u
20
HFT已死。

【在 T********i 的大作中提到】
: app是HFT。但是架构是universal的。这东西用Java没戏。虽然也能做,但是属于脱裤
: 子放屁。

avatar
z*i
21
我太理解楼主了。有的娃天生精力旺盛,不需要那么多睡眠,做大人的也就不要强求。
我们家小人从来就是白天要是多睡一点,晚上就一定要在床上多折腾同样多的时间,不
管你是不是按时放上床。从生下来到现在,就一直比书上号称的睡眠时间的最少值还要
少1-2小时。
现在唯一的办法就是严格限制白天的睡觉时间量,保证每天他的睡眠和他的精力释放刚
好平衡。这样每次放上床就能睡,白天精神也很好。最近这么做了,发现睡眠时间少了
,反而长个快了。可能是终于让小人的生物周期能被24整除了。
其实这个有遗传的,爸妈都是属于从小睡觉少、精力旺盛的主,也不能怪小人了。
avatar
T*i
22
死了挺好的。要是一直都欣欣向荣这世界就更操蛋了。
架构是架构,和HFT有个鸟关系啊?不做HFT还可以做12306呢。
不做12306还可以做别的。呵呵。

【在 p*u 的大作中提到】
: HFT已死。
avatar
f*l
23
孩子多大? 我们9个多月到1岁也是白天不肯睡觉。 后来用晚上睡觉前的ritu
al, 除了睡觉刷牙之外做足了一套, 最后穿上睡袋道午安, 关灯关门走人 (
白天也下厚厚的窗帘遮光), 他也就自己睡了。

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
s*k
24
老魏你做惯了这个高性能,怎么跑来做wireless,继续搞这个高性能啊

【在 T********i 的大作中提到】
: 死了挺好的。要是一直都欣欣向荣这世界就更操蛋了。
: 架构是架构,和HFT有个鸟关系啊?不做HFT还可以做12306呢。
: 不做12306还可以做别的。呵呵。

avatar
l*7
25
谢谢大家的回复.小朋友快21个月了.
昨天好好的反省了一下,换了个方法,等他累了自己睡,而不是稍微有点困的迹象就放进
床里.至少昨天和今天的效果还行.不知道能坚持多久.
接下来就得改他晚睡得习惯了.顺便问问大家的宝宝晚上9点睡,早上都是几点起床阿?
avatar
p*u
26
这方面已经没啥可做的了,各种软硬solutions不计其数,latency is a commodity
now。

【在 s********k 的大作中提到】
: 老魏你做惯了这个高性能,怎么跑来做wireless,继续搞这个高性能啊
avatar
a*l
27

because we missed sleep train time.

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
T*i
28
还是那句话,这个和latency也没啥大关系。这个架构是通用架构。
latency最低,throughput也最高。这方面现在没啥commodity。
我暂时不需要这么高throughput不见得以后不需要。

【在 p*u 的大作中提到】
: 这方面已经没啥可做的了,各种软硬solutions不计其数,latency is a commodity
: now。

avatar
DQ
29
小心,有些小孩太累也会闹觉不肯睡的。看到小孩打了几个哈欠了,就可以进入睡眠程
序了。比如陪着读一会儿书,玩玩拼图,听听催眠曲什么的。这样会更容易睡着一点。
21个月小孩差不多晚上睡11个小时到12个小时吧。9点睡第二天8点到9点起的。

【在 l****7 的大作中提到】
: 谢谢大家的回复.小朋友快21个月了.
: 昨天好好的反省了一下,换了个方法,等他累了自己睡,而不是稍微有点困的迹象就放进
: 床里.至少昨天和今天的效果还行.不知道能坚持多久.
: 接下来就得改他晚睡得习惯了.顺便问问大家的宝宝晚上9点睡,早上都是几点起床阿?

avatar
p*u
30
其实就是一种microkernel架构呗。

【在 T********i 的大作中提到】
: 还是那句话,这个和latency也没啥大关系。这个架构是通用架构。
: latency最低,throughput也最高。这方面现在没啥commodity。
: 我暂时不需要这么高throughput不见得以后不需要。

avatar
g*9
31
我家20个月现在也有不睡的迹象。
不睡就不睡吧,貌似也不是很fuzzy。
邻居5岁的娃,老娘还绑车里高速20分钟哄nap的呢。

【在 l****7 的大作中提到】
: 谢谢大家的回复.小朋友快21个月了.
: 昨天好好的反省了一下,换了个方法,等他累了自己睡,而不是稍微有点困的迹象就放进
: 床里.至少昨天和今天的效果还行.不知道能坚持多久.
: 接下来就得改他晚睡得习惯了.顺便问问大家的宝宝晚上9点睡,早上都是几点起床阿?

avatar
T*i
32
哪里那么复杂?就是一个状态自动机而已。

【在 p*u 的大作中提到】
: 其实就是一种microkernel架构呗。
avatar
v*e
33
孩子多大?
我不支持放音乐唱歌之类的方法。如此会让孩子兴奋,即使困也能
支撑他拖延下去。
不必斗智斗勇。你也躺边上睡,无论孩子做什么,除了上厕所,一
概告诉他:躺下,保持安静。
我不怕孩子闹。。。孩子越闹我越容易思想开小差。时间久了他也
觉得没劲,再后来就好了。
我家4岁半。

上一个半小时,给他听
你一起讲;做妈的唱
去。
子困了?我这个等他
(现在就得搞到各11点
晕眼花。他一般早上
时吃中饭看起来就很
语了,谁有什么高招

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
g*t
34
就是几个goto,reset 吧,哈哈


: 哪里那么复杂?就是一个状态自动机而已。



【在 T********i 的大作中提到】
: 哪里那么复杂?就是一个状态自动机而已。
avatar
v*e
35
中午一般 2 小时睡眠,我家的自上day care 后,
从不睡午觉,周末在家倒睡。平时一晚能睡12小时。
周末一晚10小时。
非常整点。
生活规律很重要,到点上床。

一个小时?然后就起

【在 l****7 的大作中提到】
: 谢谢回复,那么中午是应该定时睡觉吗?比如让他试着1点睡,睡一个小时?然后就起
: 床?还在睡也想办法起来?

avatar
T*i
36
我代码里基本没有goto。基本专业素质还是有的。

【在 g****t 的大作中提到】
: 就是几个goto,reset 吧,哈哈
:
:
: 哪里那么复杂?就是一个状态自动机而已。
:

avatar
v*e
37
晚8点上床10分钟左右入睡。早上8点15起床。

【在 l****7 的大作中提到】
: 谢谢大家的回复.小朋友快21个月了.
: 昨天好好的反省了一下,换了个方法,等他累了自己睡,而不是稍微有点困的迹象就放进
: 床里.至少昨天和今天的效果还行.不知道能坚持多久.
: 接下来就得改他晚睡得习惯了.顺便问问大家的宝宝晚上9点睡,早上都是几点起床阿?

avatar
g*t
38
Linux kernal很多goto
我也用很多,LoL
状态机用goto 不容易出错。
Switch的话,不同c编译器有时候会有小小不同。


: 我代码里基本没有goto。基本专业素质还是有的。



【在 T********i 的大作中提到】
: 我代码里基本没有goto。基本专业素质还是有的。
avatar
o*n
39
21个月估计不好sleep training了,我们7个月时开了一周火车,第一次哭了25分钟,
后来哭得越来越少直到不哭再到高高兴兴,现在到点了抱到她房间,跟玩具们飞吻
byebye一遍,抱床上,给玩具娃娃盖被子,娃娃陪宝宝睡觉,byebye,飞吻,宝宝也高
高兴兴飞吻一个,走人关门,就睡了
晚上8:00或9:00-7:00,看下午nap的情况,起得晚就9点睡,早就8点多
nap也是自己睡,睡前过程一样

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
m*p
40
我也曾經接觸過低延時架構,應用是SS7信令網關,延時要求高,純C打造,很複雜的狀
態機和callback,socket進程間通信,傳struct指針。看來和HFT一樣啊。
avatar
c*e
41
我家臭蛋(16个月)现在已经不用哄了
晚上洗完澡扔crib里,灯一关,走人,他哼都不哼一声就自己睡了。从小慢慢一步步培
养起来的好习惯,没有特别的training过,他自己总在不断进步。
avatar
T*i
42
状态机就俩函数。
sendMessage
onMessage
这应该是世界上最容易写的东东。根本不需要考虑啥thread, I/O之类的。

【在 g****t 的大作中提到】
: Linux kernal很多goto
: 我也用很多,LoL
: 状态机用goto 不容易出错。
: Switch的话,不同c编译器有时候会有小小不同。
:
:
: 我代码里基本没有goto。基本专业素质还是有的。
:

avatar
b*t
43
我们20个半月,晚8-早7,加上午觉2-3hrs。
我们是到点了就放倒,routine完了本来不困的也揉眼了。不陪睡,自己一个房
间,大人关灯走人。

【在 l****7 的大作中提到】
: 谢谢大家的回复.小朋友快21个月了.
: 昨天好好的反省了一下,换了个方法,等他累了自己睡,而不是稍微有点困的迹象就放进
: 床里.至少昨天和今天的效果还行.不知道能坚持多久.
: 接下来就得改他晚睡得习惯了.顺便问问大家的宝宝晚上9点睡,早上都是几点起床阿?

avatar
p*u
44
你这比魏老师的复杂多了,他那个就是kernel接近于零的microkernel架构。

【在 m*****p 的大作中提到】
: 我也曾經接觸過低延時架構,應用是SS7信令網關,延時要求高,純C打造,很複雜的狀
: 態機和callback,socket進程間通信,傳struct指針。看來和HFT一樣啊。

avatar
j*o
45
toddler的时候都有这个过程。我的秘诀是中午在太阳地底下玩一会,晒晕她,然后回
家喂饱她,窗帘一拉就睡着了!

【在 l****7 的大作中提到】
: 每天的午觉和晚上睡觉都要和儿子斗智斗勇。午觉可以轻易地搞上一个半小时,给他听
: 音乐,他反复站起来;不放音乐狂哭;做妈的在屋里讲故事,他跟你一起讲;做妈的唱
: 歌,他点歌。真是无语了,一定要搞到俩人都筋疲力尽,才能睡过去。
: 请问,我这做法有没有问题?大家都是怎么让小孩子睡觉的?等孩子困了?我这个等他
: 困估计要到下午5点,而且这一来晚上就更不知道什么时候睡了(现在就得搞到各11点
: )。
: 其实我儿子挺可爱的,就是睡觉是我心头一大难题,一想起来就头晕眼花。他一般早上
: 8-9点起床,试过让他多运动,多消耗,但是这朋友就是不睡。有时吃中饭看起来就很
: 困了,赶紧吃完上床,让他睡,此人能从1点折磨我到3点才睡。无语了,谁有什么高招
: 啊!!拜托了,谢谢。

avatar
g*t
46
复杂的C代码往往是一点点修出来的各种corner cases补丁


: 我也曾經接觸過低延時架構,應用是SS7信令網關,延時要求高,純C打造,很複
雜的狀

: 態機和callback,socket進程間通信,傳struct指針。看來和HFT一樣啊。



【在 m*****p 的大作中提到】
: 我也曾經接觸過低延時架構,應用是SS7信令網關,延時要求高,純C打造,很複雜的狀
: 態機和callback,socket進程間通信,傳struct指針。看來和HFT一樣啊。

avatar
l*7
47
哈哈,这个强的!准备效仿.

【在 j******o 的大作中提到】
: toddler的时候都有这个过程。我的秘诀是中午在太阳地底下玩一会,晒晕她,然后回
: 家喂饱她,窗帘一拉就睡着了!

avatar
T*i
48
都做差不多的事情。凭啥他那个就复杂啊?
他那就是一个网关,网卡收到消息,送到哪里去。
我那个网卡收到数据,还要经过复杂运算,最后产生order,还要用不同格式送出去。

【在 p*u 的大作中提到】
: 你这比魏老师的复杂多了,他那个就是kernel接近于零的microkernel架构。
avatar
l*7
49
羡慕ing!!!

【在 v********e 的大作中提到】
: 晚8点上床10分钟左右入睡。早上8点15起床。
avatar
s*k
50
听起来这个是erlang的思想?

【在 T********i 的大作中提到】
: 状态机就俩函数。
: sendMessage
: onMessage
: 这应该是世界上最容易写的东东。根本不需要考虑啥thread, I/O之类的。

avatar
e*e
51
馬上五歲了,晚上還要陪的後進生媽媽飄過
avatar
T*i
52
其实说来说去就那么几招而已。
关键就是底层给你搞好,高层只需要考虑算法而已。
底层也就那么几招。memory model也很简单,说白了就是一个message object的alloc
和free。
thread model都没有了,取而代之的是partition,就是这个message handler分配到哪
几个core上而已。

【在 s********k 的大作中提到】
: 听起来这个是erlang的思想?
avatar
K*A
53
我觉得哄睡觉和孩子吃饭问题是类似的. 娃天生爱吃饭的娘是不会理解啥都喂不进的娃
的.
LZ家娃精力旺盛,貌似不是普通办法能搞定的.
娃没有十全十美的, 总有让爹妈操心的地方.
avatar
p*u
54
他那个要handle的traffic比你的market data要多不少吧。

【在 T********i 的大作中提到】
: 都做差不多的事情。凭啥他那个就复杂啊?
: 他那就是一个网关,网卡收到消息,送到哪里去。
: 我那个网卡收到数据,还要经过复杂运算,最后产生order,还要用不同格式送出去。

avatar
T*i
55
你是来抬杠的么?呵呵。
无脑收发很困难么?也就几十行代码吧。

【在 p*u 的大作中提到】
: 他那个要handle的traffic比你的market data要多不少吧。
avatar
c*e
56
求你写的状态机源码,这2个参数的。

【在 T********i 的大作中提到】
: 状态机就俩函数。
: sendMessage
: onMessage
: 这应该是世界上最容易写的东东。根本不需要考虑啥thread, I/O之类的。

avatar
f*2
57
老魏可以研究研究nginx,找到感觉后看看能不能提出一个让latency提高一个量级的办法


: 都做差不多的事情。凭啥他那个就复杂啊?

: 他那就是一个网关,网卡收到消息,送到哪里去。

: 我那个网卡收到数据,还要经过复杂运算,最后产生order,还要用不同格式送
出去。



【在 T********i 的大作中提到】
: 你是来抬杠的么?呵呵。
: 无脑收发很困难么?也就几十行代码吧。

avatar
n*t
58
Nono, 真正的latency大部分情況下都不是commodity,如果認為是commodity的case,
是人沒把latency和throughput分清楚。
此外,99%的人感覺到的所謂latency問題其實都是throughput的問題,只不過和大部分
人講不通,同時還搞得別人覺得自己是傻逼一個不好賣東西,何必呢?

【在 p*u 的大作中提到】
: 这方面已经没啥可做的了,各种软硬solutions不计其数,latency is a commodity
: now。

avatar
s*3
59
嗯,资源固定情况下,低latency和高throughput是互相矛盾的设计需求。
avatar
m*p
60
其實挺複雜的,幾十行肯定寫不出來VoIP信令交互和媒體控制網關,支持各種信令:
SS7/SIP/H.248等等,插上DSP卡還可以當媒體網關使用,內部crossbar走ATM,外部
TDM走SONET,IP走10GE,信令走SCTP,媒體走RTP,硬件是私有刀片服務器,Power架構
,當年還是挺先進的,不是普通交換機網關。裏面的狀態特別多,其實是Trillium的中
間件,出問題會core,然後熱切換。後來華為發達了,我就轉行了。

【在 T********i 的大作中提到】
: 都做差不多的事情。凭啥他那个就复杂啊?
: 他那就是一个网关,网卡收到消息,送到哪里去。
: 我那个网卡收到数据,还要经过复杂运算,最后产生order,还要用不同格式送出去。

avatar
m*p
61
提高latency一個數量級,必須是搞硬件的人,軟件工程師不懂latency。
軟件強調抽象、虛擬化,時間都是虛的,function大部分都是blocking,這樣debug才
容易。
硬件強調Timing、Latency,至少cycle級別,一般都ps級別,全部並行化,軟件的人理
解不了。
這就是為什麼要徹底轉行碼農:硬件學得越好,軟件技能就會越差 or vice versa

办法

【在 f******2 的大作中提到】
: 老魏可以研究研究nginx,找到感觉后看看能不能提出一个让latency提高一个量级的办法
:
:
: 都做差不多的事情。凭啥他那个就复杂啊?
:
: 他那就是一个网关,网卡收到消息,送到哪里去。
:
: 我那个网卡收到数据,还要经过复杂运算,最后产生order,还要用不同格式送
: 出去。
:

avatar
T*i
62
老方说latency的时候,其实他的意思是throughput。
即使latency,做low latency软件的还是搞软件的。除非是FPGA硬件。
我个人认为他山之石可以攻玉。我就啥都搞。Web,Java,C/C++,ASM,MCU/X86/ARM,
RF,UART,SPI/SSI,i2c还有上百个RFC。还其他一些有些乱七八糟的东东。

【在 m*****p 的大作中提到】
: 提高latency一個數量級,必須是搞硬件的人,軟件工程師不懂latency。
: 軟件強調抽象、虛擬化,時間都是虛的,function大部分都是blocking,這樣debug才
: 容易。
: 硬件強調Timing、Latency,至少cycle級別,一般都ps級別,全部並行化,軟件的人理
: 解不了。
: 這就是為什麼要徹底轉行碼農:硬件學得越好,軟件技能就會越差 or vice versa
:
: 办法

avatar
m*r
63
太牛逼了, 我都看傻了, 还有和华为PK的。
我挺好奇你们懂这么多,是书上看的,还是单位里学的 ,还是业余时间鼓捣出来的?
我见过的牛人和我看同一本书, 看完人家就明白了。 我是得看好几本书,才能琢么出
来,还没人家琢磨透。
你们什么都搞的是看了什么《葵花宝典》 还是纯自己想出来的?
avatar
p*u
64
electronic trading里面的ultra low latency,和你说的普通server里面latency/
throughput的trade off根本是两回事。

【在 n******t 的大作中提到】
: Nono, 真正的latency大部分情況下都不是commodity,如果認為是commodity的case,
: 是人沒把latency和throughput分清楚。
: 此外,99%的人感覺到的所謂latency問題其實都是throughput的問題,只不過和大部分
: 人講不通,同時還搞得別人覺得自己是傻逼一個不好賣東西,何必呢?

avatar
p*u
65
electronic trading做的基本都是在普通commodity servers上降低latency,而不是
design new hardware。

【在 m*****p 的大作中提到】
: 提高latency一個數量級,必須是搞硬件的人,軟件工程師不懂latency。
: 軟件強調抽象、虛擬化,時間都是虛的,function大部分都是blocking,這樣debug才
: 容易。
: 硬件強調Timing、Latency,至少cycle級別,一般都ps級別,全部並行化,軟件的人理
: 解不了。
: 這就是為什麼要徹底轉行碼農:硬件學得越好,軟件技能就會越差 or vice versa
:
: 办法

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。