首页
论坛
未名存档
话题女王
小圈子
马甲追踪
版面排名
流量曲线
水枪排名
发帖量曲线
发帖版面饼图
发帖时间柱图
关于本站
帮助
boards
本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字
访问原贴
Programming版
- 请教个throughput的问题
相关主题
●
晕了,多线程,共享内存的问题
●
问个树遍历的线程化问题
●
any php experts?
●
再次请教关于AIX中线程以及优先级的问题
●
Unix Multi-processor Programming
●
拜托推荐多线程和socket的书
●
重复利用threads的问题
●
Why Avoid array indexing. Use pointers.
●
求教:c++中如何从raw data中创建对象?
●
如何GDB调试因pthread_cond_wait()阻塞的线程? (转载)
相关话题的讨论汇总
话题: 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版参与讨论
相关主题
●
如何GDB调试因pthread_cond_wait()阻塞的线程? (转载)
●
Thread Priority 设为最高--窗口最小化时好像并不优先啊?
●
计算机供电不稳定会影响程序/线程运行吗?
●
请问各位工作的人,算法复杂度分析在工作中用的着吗?
●
请教cin.get()
●
多线程/进程并发读文件有无开销问题?
●
怎么 kill 一个 thread 啊
●
怎么知道一个线程结束没有?
●
多线程下的gdb core dump问题
●
[合集] 问个多线程的问题
相关话题的讨论汇总
话题: throughput
话题: 节点
话题: 缓冲区
话题: 问题
话题: 连接