Performance 利用神经网络进行软件性能自动调整
我目前正在测试两个不同消息传递系统的性能,有许多独立的调优和加载参数会影响消息速率。我想开发一种自动化方法,在给定硬件上每秒生成最大消息速率 常数:Performance 利用神经网络进行软件性能自动调整,performance,optimization,neural-network,messaging,ibm-mq,Performance,Optimization,Neural Network,Messaging,Ibm Mq,我目前正在测试两个不同消息传递系统的性能,有许多独立的调优和加载参数会影响消息速率。我想开发一种自动化方法,在给定硬件上每秒生成最大消息速率 常数: #CPU、内存、网络和其他硬件参数都是常数(或者至少有一个已知的最大值) 操作系统和消息传递产品的版本是一个常量(例如WebSphere MQ 7.5) 消息大小 3分钟完成一次测试测量 预期结果: 每秒消息的最大速率 变量: 操作系统调优选项(内核、TCP和其他网络和内存) 消息传递软件优化设置—其中有几十种(各种类型的缓冲区大小、线程
- #CPU、内存、网络和其他硬件参数都是常数(或者至少有一个已知的最大值)李>
- 操作系统和消息传递产品的版本是一个常量(例如WebSphere MQ 7.5)
- 消息大小
- 3分钟完成一次测试测量
- 每秒消息的最大速率
- 操作系统调优选项(内核、TCP和其他网络和内存)
- 消息传递软件优化设置—其中有几十种(各种类型的缓冲区大小、线程数、队列管理器数、队列数、客户端的不同绑定、安全设置、日志类型、日志和数据文件的数量和大小等…)
- 消息生产者和消费者的数量(比如从1到10000)
我找到了一些关于这类事情的研究论文,但没有找到任何真正的实现。有人做过吗?有关于如何进行的建议吗?我没有研究过神经网络,但在大学里做过数学规划(优化),通常的优化方法要花很长时间才能解决这个问题。这种问题听起来不太适合神经网络。神经网络可能最常用作有监督学习的分类器。通常,您必须有一个包含已分类示例的培训集。也有一些无监督的方法,最近最显著的可能是。但这是一个活跃的研究领域,我怀疑是否有现成的工具来满足你的需要 在参数空间中存在组合爆炸问题。这类问题通常非常适合用进化算法来解决。例如或 有了遗传算法,问题的解决就转向了寻找问题
- 一个很好的问题表示,允许您进行交叉和变异
- 一个合适的适应度函数
- 单个解决方案表示法:参数列表
i=[p_1,p_2,…,p_n]
和i_1
的交叉:在i_2
和1
之间选择一个分割点,并交换个人列表的各个部分n
- 突变:选择一个参数并进行调整
- 适应度函数:每秒消息的速率
虽然不能保证通过这种方式获得最佳解决方案,但它可以帮助您非常有效地应对组合爆炸。这种问题听起来不太适合神经网络。神经网络可能最常用作有监督学习的分类器。通常,您必须有一个包含已分类示例的培训集。也有一些无监督的方法,最近最显著的可能是。但这是一个活跃的研究领域,我怀疑是否有现成的工具来满足你的需要 在参数空间中存在组合爆炸问题。这类问题通常非常适合用进化算法来解决。例如或 有了遗传算法,问题的解决就转向了寻找问题
- 一个很好的问题表示,允许您进行交叉和变异
- 一个合适的适应度函数
- 单个解决方案表示法:参数列表
i=[p_1,p_2,…,p_n]
和i_1
的交叉:在i_2
和1
之间选择一个分割点,并交换个人列表的各个部分n
- 突变:选择一个参数并进行调整
- 适应度函数:每秒消息的速率
虽然不能保证通过这种方式获得最佳解决方案,但它可以帮助您非常有效地应对组合爆炸。这种问题听起来不太适合神经网络。神经网络可能最常用作有监督学习的分类器。通常,您必须有一个包含已分类示例的培训集。也有一些无监督的方法,最近最显著的可能是。但这是一个活跃的研究领域,我怀疑是否有现成的工具来满足你的需要 在参数空间中存在组合爆炸问题。这类问题通常非常适合用进化算法来解决。例如或 有了遗传算法,问题的解决就转向了寻找问题
- 一个很好的问题表示,允许您进行交叉和变异
- 一个合适的适应度函数