由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教个throughput的问题
相关主题
晕了,多线程,共享内存的问题求教:c++中如何从raw data中创建对象?
问个树遍历的线程化问题如何GDB调试因pthread_cond_wait()阻塞的线程? (转载)
any php experts?Thread Priority 设为最高--窗口最小化时好像并不优先啊?
再次请教关于AIX中线程以及优先级的问题计算机供电不稳定会影响程序/线程运行吗?
Unix Multi-processor Programming请问各位工作的人,算法复杂度分析在工作中用的着吗?
拜托推荐多线程和socket的书请教cin.get()
重复利用threads的问题多线程/进程并发读文件有无开销问题?
Why Avoid array indexing. Use pointers.怎么 kill 一个 thread 啊
相关话题的讨论汇总
话题: throughput话题: 节点话题: 缓冲区话题: 问题话题: 连接
进入Programming版参与讨论
1 (共1页)
g*****g
发帖数: 34805
1
在一个可靠的网络里,一个节点里有几百个线程同时产生数据往另一个
节点写。通常的做法就是写到一个缓冲区,然后由一个线程往另一个节点
写。两个节点间用多个连接跟单个连接比,throughput会有很大区别吗?
w***g
发帖数: 5958
2
如果bottleneck在网络带宽,那么这种pipeline对提高throughput不会有明显的区别。
但是pipeline作为一种经典的并行化方法有它自己的好处。就你这个应用而言,我能想
到的一个明显的好处是可以把lock contention限制在读写缓冲区那段代码里。相比于操
作系统处理多个连接而言,你针对特定应用写的缓冲区代码会简单很多,这样有助于提
高并行度。如果哪天你们把带宽这个bottleneck给优化掉了,那么这种好处就会体现出
来了。 一般而言,pipeline在performance上的好处主要是提高并行度和增加cache
locality。

【在 g*****g 的大作中提到】
: 在一个可靠的网络里,一个节点里有几百个线程同时产生数据往另一个
: 节点写。通常的做法就是写到一个缓冲区,然后由一个线程往另一个节点
: 写。两个节点间用多个连接跟单个连接比,throughput会有很大区别吗?

g*****g
发帖数: 34805
3
其实我不确定的就在这里,用一个connection pool显然可以达到网络
bottleneck上限。用单连接,在缓冲区的lock contention是否会太大
以至于影响性能。特别是单个写数据量不大只有几K。

于操

【在 w***g 的大作中提到】
: 如果bottleneck在网络带宽,那么这种pipeline对提高throughput不会有明显的区别。
: 但是pipeline作为一种经典的并行化方法有它自己的好处。就你这个应用而言,我能想
: 到的一个明显的好处是可以把lock contention限制在读写缓冲区那段代码里。相比于操
: 作系统处理多个连接而言,你针对特定应用写的缓冲区代码会简单很多,这样有助于提
: 高并行度。如果哪天你们把带宽这个bottleneck给优化掉了,那么这种好处就会体现出
: 来了。 一般而言,pipeline在performance上的好处主要是提高并行度和增加cache
: locality。

1 (共1页)
进入Programming版参与讨论
相关主题
怎么 kill 一个 thread 啊Unix Multi-processor Programming
怎么知道一个线程结束没有?拜托推荐多线程和socket的书
多线程下的gdb core dump问题重复利用threads的问题
[合集] 问个多线程的问题Why Avoid array indexing. Use pointers.
晕了,多线程,共享内存的问题求教:c++中如何从raw data中创建对象?
问个树遍历的线程化问题如何GDB调试因pthread_cond_wait()阻塞的线程? (转载)
any php experts?Thread Priority 设为最高--窗口最小化时好像并不优先啊?
再次请教关于AIX中线程以及优先级的问题计算机供电不稳定会影响程序/线程运行吗?
相关话题的讨论汇总
话题: throughput话题: 节点话题: 缓冲区话题: 问题话题: 连接