ACE(C ++库)仍然用于高性能计算吗?

时间:2011-12-03 14:56:24

标签: c++ boost tcp ace

对高频交易/高性能计算感兴趣,我遇到了'ACE':

http://www.cs.wustl.edu/~schmidt/ACE-overview.html

然而,我注意到网站上的很多论文都是从1995年开始的,我想知道这个框架是否还在使用,如果没有,它还有什么替代品呢?

还是有提升取代了这个? ACE是否包含所需的库以增强不?

3 个答案:

答案 0 :(得分:4)

如果您查看他们的subversion repository,那么ACE现在似乎并没有经历太多的发展,可能只是修复错误或次要扩展。另一方面,ACE是同一组中确实更活跃的其他框架的基础。无论如何,discussion forum显示了ACE的相关活动和持续兴趣。

至于你关于ACE与boost的问题,我认为这两个库并不相同。 ACE旨在实现跨平台高级网络(甚至在实时和嵌入式系统上),提供特定模式,如reactor,服务配置器,完成令牌,内存管理等。 “可移植性”层(ACEOS,如果我没有错)只是一个基本层,但在我看来,它不是现在ACE的真正价值主张,而是它可以启用其他子系统。

总的来说,我认为对于高级网络模式,如POSA2中所述,ACE是一个不错的选择。如果你只需要操作系统上的抽象层,就可以采用提升方式(更现代化和广泛采用)。

答案 1 :(得分:0)

虽然ACE很久以前就引起了人们的兴趣,但最近的服务器设计提供了更高的速度(更低的延迟)和多核可扩展性(更高的并发性)。

如果您担心延迟(高频交易运营商每微秒都要争夺),那么就做自己的基准测试。 weighttp(ApacheBench兼容)压力工具是我见过的最有效的工具(使用“-t 4”选项来使用4个工作线程而不是像AB那样的4秒测试)。

由于Apachebench是一个单线程工具,它将无法使SMP服务器饱和(多线程或多进程)。

答案 2 :(得分:0)

我知道这是一个老帖子,但对于那些想知道ACE的人还在开发中:

https://github.com/DOCGroup/ATCD/tree/master/ACE