T********i 发帖数: 2416 | 1 这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不需
要算账,运气是第一生产力。
讨论了这么多,没触及到问题的本质。
io为什么要nonblocking啊?blocking行不行?有什么优点和缺点?
为啥要async?和nonblocking有啥不一样?sync行不行?
能回答这些问题,才是会算账的。 |
l*******m 发帖数: 1096 | 2 大部分公司乱折腾的主要原因是底下的人要升职
:这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不
需要算账,运气是第一生产力。
: |
s******e 发帖数: 13 | 3 希望有人 给出答案啊!!
正在学习IO。公司用的.net 开发的 stream server:处理camera的server
一个server 运行在一个PC上。server 最多能连200个camera。
就是说 同时200 个 camera stream 同时进入PC。
正在学习,为啥只能连200个? 看了看iocp。 发现iocp 用几个thread loop IO 做的。
再往深了,还没学到。
【在 T********i 的大作中提到】 : 这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不需 : 要算账,运气是第一生产力。 : 讨论了这么多,没触及到问题的本质。 : io为什么要nonblocking啊?blocking行不行?有什么优点和缺点? : 为啥要async?和nonblocking有啥不一样?sync行不行? : 能回答这些问题,才是会算账的。
|
T********i 发帖数: 2416 | 4 继续提问:
如果项目需求只需要一个网络连接,怎么做最好?为什么?
如果一个服务器要2M网络连接呢?平均每个连接每秒发1个消息。怎么做?为什么?各
种方案的性能上限是多少?
关键是这个"为什么"? |
m*****n 发帖数: 3575 | 5 本质应该是硬件的制约
很多编程框架都是费一种硬件,来减轻另一种硬件的压力
例如async就是费内存,省CPU |
h**c 发帖数: 1979 | 6 Nonblocking IO是为了解决C10k问题才火起来的 |
g****t 发帖数: 31659 | 7 对的。还有一半的情况是manager要向底下的人要假项目。
不然director问起来manager,"你干啥了?”
那这manager总不能天天说我忙着裁员重组了。
: 大部分公司乱折腾的主要原因是底下的人要升职
: :这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱
决策不
: 需要算账,运气是第一生产力。
: :
【在 l*******m 的大作中提到】 : 大部分公司乱折腾的主要原因是底下的人要升职 : : :这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不 : 需要算账,运气是第一生产力。 : :
|
s********k 发帖数: 6180 | 8 老魏好问题啊
1.IO为什么要nonblocking,这个可能大部分人理解,要不然blocking thread在IO时候
空转等待IO完成消耗CPU资源又没真正工作。
2. async可以基于nonblocking理解,那么我现在nonblocking把资源让出来了,我怎么
知道我这个thread的IO什么时候完成?是需要我去隔断时间看看?还是直接OS完成了之
后告诉我
【在 T********i 的大作中提到】 : 这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不需 : 要算账,运气是第一生产力。 : 讨论了这么多,没触及到问题的本质。 : io为什么要nonblocking啊?blocking行不行?有什么优点和缺点? : 为啥要async?和nonblocking有啥不一样?sync行不行? : 能回答这些问题,才是会算账的。
|
T********i 发帖数: 2416 | 9 其实我一直在等有人说出那关键的两个词。现在还没人说出来。 |
d******c 发帖数: 2407 | 10 串行概念简单,并行性能高,但是容易有各种冲突,需要解决,很多时候的解决方案又
是通过lock来回到串行概念。
IO明显比cpu慢几个数量级,这时用nonblocking就是用并行的方式,哪怕是在单机,但
是把IO当成另外一个处理器,不再等待可以提高性能,当然也需要注意维护正确性。这
种方式不是传统OS支持的,所以在语言和框架里实现。
轻量级线程之类是另一个路子,解决更加通用的问题。
node.js使劲吹这个,就是为了扭转别人对js做服务端性能不足的印象,广告做的够多
,所以大家印象比较深。 |
|
|
T*******x 发帖数: 8565 | 11 我就等你说答案了。。。。然后再说,跟我说的等价。:)
【在 T********i 的大作中提到】 : 其实我一直在等有人说出那关键的两个词。现在还没人说出来。
|
T********i 发帖数: 2416 | 12 反正目前为止还没有靠谱的。
这下子问题大了。这么简单的问题根源,跟数学基本没有任何鸟关系,竟然就是没人说
出来。也是醉了。
【在 T*******x 的大作中提到】 : 我就等你说答案了。。。。然后再说,跟我说的等价。:)
|
s********k 发帖数: 6180 | 13 老魏不要卖关子了直接科普把
【在 T********i 的大作中提到】 : 反正目前为止还没有靠谱的。 : 这下子问题大了。这么简单的问题根源,跟数学基本没有任何鸟关系,竟然就是没人说 : 出来。也是醉了。
|
p*u 发帖数: 2454 | 14 context switching and state management
【在 s********k 的大作中提到】 : 老魏不要卖关子了直接科普把
|
T********i 发帖数: 2416 | 15 很简单啊,一个context switch 1200-1500ns。这还是pin to core。要是过程中换
core要2000ns。这还是现代CPU。8年前的CPU要5000ns。
普通的syscall,即使有priority switch,才50ns。
你一个thread一个socket,做blocking。CPU一个wait一个唤醒,2个context switch没
有了。一秒钟也就30万次撑死了,别的啥都不能干了。
所以nonblocking就是内核先把网络信息包都收着。然后一个select/poll/epoll给你一
批。一个context switch给你成百上千上万。或者内核批处理收到包以后直接call你的
iocp注册的callback。老的网卡iocp性能有点优势,新的网卡性能都一样了。
所谓async,就是nonblocking以后call你注册的callback而已。
golang的goroutine,则是模拟thread,但是switch比context switch效率高多了。
async打乱了程序的正常流程,原来在栈stack里面的local variable碰到io就没了。
goroutine不会有这个问题,当然潜在的每个goroutine都要有stack memory。一般每个
4K。一个million就是4G。当然4G内存也不值钱。
: 老魏不要卖关子了直接科普把
【在 s********k 的大作中提到】 : 老魏不要卖关子了直接科普把
|
T********i 发帖数: 2416 | 16 其实教科书写的都对。当然教科书基本啥都没写。至于有没有教对,或者有没有学对就
另说了。
下面给你们说一个开脑洞的。本人版权所有。
其实最简单,效率最高的是polling,不是中断或者callback。理解这个有困难要解放
你的思想。反正CPU闲着也是闲着。要是用100W的功耗换多一倍甚至10倍的throughput
,而且写的代码最少最容易懂,你干不干?
说到此点到为止。 |
w*******y 发帖数: 372 | 17 对IO不熟悉。MPI里面blocking vs. non-blocking; async vs. sync
倒都是设计层次的考虑。
IMHO, non-blocking is for parallelism, overlapping
computing and communication/io. 缺点是应用层要直接控制
并行度。
async & sync是管通信的,它们都可以用来实现blocking or non-blocking
comm functions. async优点是low latency,在可靠性高的网络上
性能好,用起来比较麻烦;sync用起来简单,实现比较费事,但比较可靠。
大家批判一下。
【在 T********i 的大作中提到】 : 这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不需 : 要算账,运气是第一生产力。 : 讨论了这么多,没触及到问题的本质。 : io为什么要nonblocking啊?blocking行不行?有什么优点和缺点? : 为啥要async?和nonblocking有啥不一样?sync行不行? : 能回答这些问题,才是会算账的。
|
w*******y 发帖数: 372 | 18 哦,原来大家在OS里面讨论。对不住,跑题了。
【在 T********i 的大作中提到】 : 很简单啊,一个context switch 1200-1500ns。这还是pin to core。要是过程中换 : core要2000ns。这还是现代CPU。8年前的CPU要5000ns。 : 普通的syscall,即使有priority switch,才50ns。 : 你一个thread一个socket,做blocking。CPU一个wait一个唤醒,2个context switch没 : 有了。一秒钟也就30万次撑死了,别的啥都不能干了。 : 所以nonblocking就是内核先把网络信息包都收着。然后一个select/poll/epoll给你一 : 批。一个context switch给你成百上千上万。或者内核批处理收到包以后直接call你的 : iocp注册的callback。老的网卡iocp性能有点优势,新的网卡性能都一样了。 : 所谓async,就是nonblocking以后call你注册的callback而已。 : golang的goroutine,则是模拟thread,但是switch比context switch效率高多了。
|
w*******y 发帖数: 372 | 19 嗯,这个做过测试。polling的代价微乎其微,测几个bits而已。
throughput
【在 T********i 的大作中提到】 : 其实教科书写的都对。当然教科书基本啥都没写。至于有没有教对,或者有没有学对就 : 另说了。 : 下面给你们说一个开脑洞的。本人版权所有。 : 其实最简单,效率最高的是polling,不是中断或者callback。理解这个有困难要解放 : 你的思想。反正CPU闲着也是闲着。要是用100W的功耗换多一倍甚至10倍的throughput : ,而且写的代码最少最容易懂,你干不干? : 说到此点到为止。
|
w***g 发帖数: 5958 | 20 老魏你上面这个帖子真牛。能说出来啥操作要多少纳秒就是牛,我反正说不出来。
不过polling这个,DPDK最高效的做法就是polling吧,应该不能算你版权所有。
throughput
【在 T********i 的大作中提到】 : 其实教科书写的都对。当然教科书基本啥都没写。至于有没有教对,或者有没有学对就 : 另说了。 : 下面给你们说一个开脑洞的。本人版权所有。 : 其实最简单,效率最高的是polling,不是中断或者callback。理解这个有困难要解放 : 你的思想。反正CPU闲着也是闲着。要是用100W的功耗换多一倍甚至10倍的throughput : ,而且写的代码最少最容易懂,你干不干? : 说到此点到为止。
|
|
|
l*********s 发帖数: 5409 | 21 please accept my knees :-)
【在 p*u 的大作中提到】 : context switching and state management
|
s********k 发帖数: 6180 | 22 老魏你做智能家居确实直接用个while loop poll最好,其他context switch是瞎扯,
但是现代复杂的OS也能这么做?
throughput
【在 T********i 的大作中提到】 : 其实教科书写的都对。当然教科书基本啥都没写。至于有没有教对,或者有没有学对就 : 另说了。 : 下面给你们说一个开脑洞的。本人版权所有。 : 其实最简单,效率最高的是polling,不是中断或者callback。理解这个有困难要解放 : 你的思想。反正CPU闲着也是闲着。要是用100W的功耗换多一倍甚至10倍的throughput : ,而且写的代码最少最容易懂,你干不干? : 说到此点到为止。
|
l*******m 发帖数: 1096 | 23 Jeff Dean 一直有个表
Latency numbers every programmer should know
L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns
Compress 1K bytes with Zippy ............. 3,000 ns = 3 μs
Send 2K bytes over 1 Gbps network ....... 20,000 ns = 20 μs
SSD random read ........................ 150,000 ns = 150 μs
Read 1 MB sequentially from memory ..... 250,000 ns = 250 μs
Round trip within same datacenter ...... 500,000 ns = 0.5 ms
Read 1 MB sequentially from SSD* ..... 1,000,000 ns = 1 ms
Disk seek ........................... 10,000,000 ns = 10 ms
Read 1 MB sequentially from disk .... 20,000,000 ns = 20 ms
Send packet CA->Netherlands->CA .... 150,000,000 ns = 150 ms
https://gist.github.com/hellerbarde/2843375
【在 w*******y 的大作中提到】 : 对IO不熟悉。MPI里面blocking vs. non-blocking; async vs. sync : 倒都是设计层次的考虑。 : IMHO, non-blocking is for parallelism, overlapping : computing and communication/io. 缺点是应用层要直接控制 : 并行度。 : async & sync是管通信的,它们都可以用来实现blocking or non-blocking : comm functions. async优点是low latency,在可靠性高的网络上 : 性能好,用起来比较麻烦;sync用起来简单,实现比较费事,但比较可靠。 : 大家批判一下。
|
T********i 发帖数: 2416 | 24 你开什么玩笑?我的设备上一个MCU,32MHz arm cortex M3。memory 32K。那个功耗是
我自己管理的。怎么可能简单while loop poll?我还要电池用好几年呢。、
现代OS这样做反倒没问题。我说过了,给OS 2个core,剩下62个core自己玩好了。
【在 s********k 的大作中提到】 : 老魏你做智能家居确实直接用个while loop poll最好,其他context switch是瞎扯, : 但是现代复杂的OS也能这么做? : : throughput
|
T********i 发帖数: 2416 | 25 DPDK才2010年开始。polling很早就被我玩滥了。
【在 w***g 的大作中提到】 : 老魏你上面这个帖子真牛。能说出来啥操作要多少纳秒就是牛,我反正说不出来。 : 不过polling这个,DPDK最高效的做法就是polling吧,应该不能算你版权所有。 : : throughput
|
s********k 发帖数: 6180 | 26 sleep wakeup poll 这样搞应该就可以了啊
【在 T********i 的大作中提到】 : 你开什么玩笑?我的设备上一个MCU,32MHz arm cortex M3。memory 32K。那个功耗是 : 我自己管理的。怎么可能简单while loop poll?我还要电池用好几年呢。、 : 现代OS这样做反倒没问题。我说过了,给OS 2个core,剩下62个core自己玩好了。
|
l*******m 发帖数: 1096 | 27 polling是很老的概念了。网络性能分析课倒是讲等比较深,OS课基本不讲。如果
devices太多,或者是traffic太小,polling就不核算了。其实polling也分 blocking
还有nonblocking...
【在 w***g 的大作中提到】 : 老魏你上面这个帖子真牛。能说出来啥操作要多少纳秒就是牛,我反正说不出来。 : 不过polling这个,DPDK最高效的做法就是polling吧,应该不能算你版权所有。 : : throughput
|
p*u 发帖数: 2454 | 28 edge vs level triggered epoll
blocking
【在 l*******m 的大作中提到】 : polling是很老的概念了。网络性能分析课倒是讲等比较深,OS课基本不讲。如果 : devices太多,或者是traffic太小,polling就不核算了。其实polling也分 blocking : 还有nonblocking...
|
T********i 发帖数: 2416 | 29 这就是OS干的活儿啊。我的iot设备都是有OS的。而是是硬实时OS。
: sleep wakeup poll 这样搞应该就可以了啊
【在 s********k 的大作中提到】 : sleep wakeup poll 这样搞应该就可以了啊
|
T********i 发帖数: 2416 | 30 polling当然也是各种奇技淫巧。就算我说polling最有效,不会写的照样写不出来。
你们所有的应用,只不过一个网络IO,一个磁盘IO。剩下的就是计算。我的一个设备挂
的传感器种类都比这个多。
: polling是很老的概念了。网络性能分析课倒是讲等比较深,OS课基本不讲。如果
: devices太多,或者是traffic太小,polling就不核算了。其实polling也分
blocking
: 还有nonblocking...
【在 l*******m 的大作中提到】 : polling是很老的概念了。网络性能分析课倒是讲等比较深,OS课基本不讲。如果 : devices太多,或者是traffic太小,polling就不核算了。其实polling也分 blocking : 还有nonblocking...
|
|
|
l*******m 发帖数: 1096 | 31 我肯定就写不出来,没经验的人坑太多,只能吹吹牛。估计设备多了,需要priority
polling,而且是自动均衡的。给嘴大的人吹,就是AI-based scheduling,其实数数就
够了
如果
【在 T********i 的大作中提到】 : polling当然也是各种奇技淫巧。就算我说polling最有效,不会写的照样写不出来。 : 你们所有的应用,只不过一个网络IO,一个磁盘IO。剩下的就是计算。我的一个设备挂 : 的传感器种类都比这个多。 : : : polling是很老的概念了。网络性能分析课倒是讲等比较深,OS课基本不讲。如果 : : devices太多,或者是traffic太小,polling就不核算了。其实polling也分 : blocking : : 还有nonblocking... :
|
s********k 发帖数: 6180 | 32 给OS两个Core是怎么来的?一个读写本地,一个读写网络?
【在 T********i 的大作中提到】 : 你开什么玩笑?我的设备上一个MCU,32MHz arm cortex M3。memory 32K。那个功耗是 : 我自己管理的。怎么可能简单while loop poll?我还要电池用好几年呢。、 : 现代OS这样做反倒没问题。我说过了,给OS 2个core,剩下62个core自己玩好了。
|
T********i 发帖数: 2416 | 33 一个core都不给OS,能boot起来么?
那俩core就是打酱油的。运行一些现成的程序而已。要不然你都ssh不上去。
【在 s********k 的大作中提到】 : 给OS两个Core是怎么来的?一个读写本地,一个读写网络?
|
g****t 发帖数: 31659 | 34 Android手机有20个传感器。你有多少个?
: polling当然也是各种奇技淫巧。就算我说polling最有效,不会写的照样
写不出
来。
: 你们所有的应用,只不过一个网络IO,一个磁盘IO。剩下的就是计算。我
的一个
设备挂
: 的传感器种类都比这个多。
: blocking
【在 T********i 的大作中提到】 : 一个core都不给OS,能boot起来么? : 那俩core就是打酱油的。运行一些现成的程序而已。要不然你都ssh不上去。
|
g****t 发帖数: 31659 | 35 我觉得这个不是嘴吹的。例如我可以拍一个红外线图。哪块热的趋势往上走,我就优先
级放后面些。有了一贞一真的红外线图随时间演化图,我可以给板子的散热建模。然后
反过来告诉你应该走CPU算法还是memory算法。
给板子拍这种图,以及芯片散热模型什么的属于古代技术。有现成的办法。这个技术其
实数据中心用起来挺实用。
: 我肯定就写不出来,没经验的人坑太多,只能吹吹牛。估计设备多了,需要
priority
: polling,而且是自动均衡的。给嘴大的人吹,就是AI-based scheduling
,其实
数数就
: 够了
: 如果
【在 l*******m 的大作中提到】 : 我肯定就写不出来,没经验的人坑太多,只能吹吹牛。估计设备多了,需要priority : polling,而且是自动均衡的。给嘴大的人吹,就是AI-based scheduling,其实数数就 : 够了 : : 如果
|
g****t 发帖数: 31659 | 36 你只能写特定于你的特定应用的schedule。写不出通用
系统的schedule。
首先java app服务器的人就用不上你的schedule。找好几个老印,一个人鸡毛问题跟你
扯皮两个月。你连技术指标都定不下来。
: polling当然也是各种奇技淫巧。就算我说polling最有效,不会写的照样
写不出
来。
: 你们所有的应用,只不过一个网络IO,一个磁盘IO。剩下的就是计算。我
的一个
设备挂
: 的传感器种类都比这个多。
: blocking
【在 T********i 的大作中提到】 : 一个core都不给OS,能boot起来么? : 那俩core就是打酱油的。运行一些现成的程序而已。要不然你都ssh不上去。
|
g****t 发帖数: 31659 | 37 他这句话
“
golang的goroutine,则是模拟thread,但是switch比context switch效率高多了。
"
我有疑问。之前不是有个ARM的哥们说goroutine 测过没有吹的好。
: 老魏你上面这个帖子真牛。能说出来啥操作要多少纳秒就是牛,我反正说
不出来。
: 不过polling这个,DPDK最高效的做法就是polling吧,应该不能算你版权
所有。
: throughput
【在 w***g 的大作中提到】 : 老魏你上面这个帖子真牛。能说出来啥操作要多少纳秒就是牛,我反正说不出来。 : 不过polling这个,DPDK最高效的做法就是polling吧,应该不能算你版权所有。 : : throughput
|
s********k 发帖数: 6180 | 38 现在的多core OS,一般来说OS和app core的分配是怎么做的?是OS pin to core吗?
【在 T********i 的大作中提到】 : 一个core都不给OS,能boot起来么? : 那俩core就是打酱油的。运行一些现成的程序而已。要不然你都ssh不上去。
|
x****u 发帖数: 44466 | 39 从DOS时代开始所有的IO都是原生非block的
【在 T********i 的大作中提到】 : 这些工程问题都是决策问题。和做生意一样。正确的决策都是算账的结果。乱决策不需 : 要算账,运气是第一生产力。 : 讨论了这么多,没触及到问题的本质。 : io为什么要nonblocking啊?blocking行不行?有什么优点和缺点? : 为啥要async?和nonblocking有啥不一样?sync行不行? : 能回答这些问题,才是会算账的。
|
w***g 发帖数: 5958 | 40 所以说, 所有的design choice其实创世的时候都有了,
看什么年代短板转到了哪儿就会有啥主流技术。
DOS下面显然也有原生的polling。这个也不是啥新鲜事。
中断需要特殊电路,CPU需要在每条指令完成后查寄存器
状态决定。学体系结构的时候写汇编语言,肯定都是先写
polling,然后中断作为一个牛逼技术在新的一章里介绍。
【在 x****u 的大作中提到】 : 从DOS时代开始所有的IO都是原生非block的
|
|
|
T********i 发帖数: 2416 | 41 多核调度本来就是NP问题,做不出通用的才会有各种扯淡。
你看看这个:
Brain Fuck Scheduler
https://en.wikipedia.org/wiki/Brain_Fuck_Scheduler
【在 g****t 的大作中提到】 : 你只能写特定于你的特定应用的schedule。写不出通用 : 系统的schedule。 : 首先java app服务器的人就用不上你的schedule。找好几个老印,一个人鸡毛问题跟你 : 扯皮两个月。你连技术指标都定不下来。 : : : polling当然也是各种奇技淫巧。就算我说polling最有效,不会写的照样 : 写不出 : 来。 : : 你们所有的应用,只不过一个网络IO,一个磁盘IO。剩下的就是计算。我 : 的一个
|
T********i 发帖数: 2416 | 42 取决于scheduler。缺省都不是pin to core。
【在 s********k 的大作中提到】 : 现在的多core OS,一般来说OS和app core的分配是怎么做的?是OS pin to core吗?
|
c*******v 发帖数: 2599 | 43 这些东西都没有加AI based decision making技术。例如以预测为基础的reforcement
loop learning。
未来应该都会加上。倒不是说一定会好过古代决定论的技术。AI一大好处是约束容易做
接口。
例如手机不发热,OS调度该怎么做?普通用户无法负担analystic heating model为基
础的
做法。但是设计一个调度办法,温度高的时候少用CPU耗费多的noblocking API,多用
耗费内存多的
noblocking API,这个完全可以做到。
【在 w***g 的大作中提到】 : 所以说, 所有的design choice其实创世的时候都有了, : 看什么年代短板转到了哪儿就会有啥主流技术。 : DOS下面显然也有原生的polling。这个也不是啥新鲜事。 : 中断需要特殊电路,CPU需要在每条指令完成后查寄存器 : 状态决定。学体系结构的时候写汇编语言,肯定都是先写 : polling,然后中断作为一个牛逼技术在新的一章里介绍。
|
n******t 发帖数: 4406 | 44 DPDK是非常晚才出來的poll framework.
每個08-09年搞hft的人都知道這個事情。說實話我並沒有覺得這個是個很好的solution。
此外,mellenox搞了n久的這個東西,並沒有流行,這種事情,只有intel這種大廠才能
搞pr.
【在 w***g 的大作中提到】 : 老魏你上面这个帖子真牛。能说出来啥操作要多少纳秒就是牛,我反正说不出来。 : 不过polling这个,DPDK最高效的做法就是polling吧,应该不能算你版权所有。 : : throughput
|
c*******v 发帖数: 2599 | 45 很多时候大厂项目完全是胡扯八道。胜利是因为资本。
solution。
【在 n******t 的大作中提到】 : DPDK是非常晚才出來的poll framework. : 每個08-09年搞hft的人都知道這個事情。說實話我並沒有覺得這個是個很好的solution。 : 此外,mellenox搞了n久的這個東西,並沒有流行,這種事情,只有intel這種大廠才能 : 搞pr.
|
T********i 发帖数: 2416 | 46 都kernel bypass了,不poll难道还用interrupt不成?
简单二选一而已。
solution。
【在 n******t 的大作中提到】 : DPDK是非常晚才出來的poll framework. : 每個08-09年搞hft的人都知道這個事情。說實話我並沒有覺得這個是個很好的solution。 : 此外,mellenox搞了n久的這個東西,並沒有流行,這種事情,只有intel這種大廠才能 : 搞pr.
|
n******t 发帖数: 4406 | 47 我說了,想通了的人都是自然的事情。
沒想通的人,就是一團漿糊,而且誰要幫他搞清楚他就咬誰。
【在 T********i 的大作中提到】 : 都kernel bypass了,不poll难道还用interrupt不成? : 简单二选一而已。 : : solution。
|
b*******s 发帖数: 5216 | 48 这类问题都是什么?都是人工代替系统来规划资源调度策略的问题。实际上理解了需求
特性后一共也没几种选择。
现在做hft,这种类型的技巧都不是太新鲜的东西了 |
b***i 发帖数: 3043 | 49 啥意思?不懂。难道还有block的?
【在 x****u 的大作中提到】 : 从DOS时代开始所有的IO都是原生非block的
|