会议报告

Posted by dony on April 23, 2019

会议报告

实验部分:

1.使用pagerank算法定位出嫌疑度最大的api序列

2.根据嫌疑度api重组出52种可能的微服务部署解

3.开关仿真运行可能的微服务部署解,并进行response time 监控

4.使用演化算法找到最优的微服务部署解

优化部分:

使用演化算法:

1.染色体表现形式

每一种gateway代表一种部署方案,每种染色体编码对应一种gateway,进行了去重,但是为了满足演化算法框架输入要求,保留了部分重复解。

{'0000': 'gateway1',
 '0001': 'gateway2',
 '0002': 'gateway2',
 '0003': 'gateway2',
 '0004': 'gateway2',
 '0010': 'gateway3',
 '0011': 'gateway4',
 '0012': 'gateway5',
 '0013': 'gateway5',
 '0014': 'gateway5',
 '0020': 'gateway3',
 '0021': 'gateway5',
 '0022': 'gateway4',
 '0023': 'gateway5',
 '0024': 'gateway5',
 '0030': 'gateway3',
 '0031': 'gateway5',
 '0032': 'gateway5',
 '0033': 'gateway4',
 '0034': 'gateway5',
 '0100': 'gateway6',
 '0101': 'gateway7',
 '0102': 'gateway8',
 '0103': 'gateway8',
 '0104': 'gateway8',
 '0110': 'gateway9',
 '0111': 'gateway10',
 '0112': 'gateway11',
 '0113': 'gateway11',
 '0114': 'gateway11',
 '0120': 'gateway12',
 '0121': 'gateway13',
 '0122': 'gateway14',
 '0123': 'gateway15',
 '0124': 'gateway15',
 '0130': 'gateway12',
 '0131': 'gateway13',
 '0132': 'gateway15',
 '0133': 'gateway14',
 '0134': 'gateway15',
 '0200': 'gateway6',
 '0201': 'gateway8',
 '0202': 'gateway7',
 '0203': 'gateway8',
 '0204': 'gateway8',
 '0210': 'gateway12',
 '0211': 'gateway14',
 '0212': 'gateway13',
 '0213': 'gateway15',
 '0214': 'gateway15',
 '0220': 'gateway9',
 '0221': 'gateway11',
 '0222': 'gateway10',
 '0223': 'gateway11',
 '0224': 'gateway11',
 '0230': 'gateway12',
 '0231': 'gateway15',
 '0232': 'gateway13',
 '0233': 'gateway14',
 '0234': 'gateway15',
 '1000': 'gateway16',
 '1001': 'gateway17',
 '1002': 'gateway18',
 '1003': 'gateway18',
 '1004': 'gateway18',
 '1010': 'gateway19',
 '1011': 'gateway20',
 '1012': 'gateway21',
 '1013': 'gateway21',
 '1014': 'gateway21',
 '1020': 'gateway22',
 '1021': 'gateway23',
 '1022': 'gateway24',
 '1023': 'gateway25',
 '1024': 'gateway25',
 '1030': 'gateway22',
 '1031': 'gateway23',
 '1032': 'gateway25',
 '1033': 'gateway24',
 '1034': 'gateway25',
 '1100': 'gateway26',
 '1101': 'gateway27',
 '1102': 'gateway28',
 '1103': 'gateway28',
 '1104': 'gateway28',
 '1110': 'gateway29',
 '1111': 'gateway30',
 '1112': 'gateway31',
 '1113': 'gateway31',
 '1114': 'gateway31',
 '1120': 'gateway32',
 '1121': 'gateway33',
 '1122': 'gateway34',
 '1123': 'gateway35',
 '1124': 'gateway35',
 '1130': 'gateway32',
 '1131': 'gateway33',
 '1132': 'gateway35',
 '1133': 'gateway34',
 '1134': 'gateway35',
 '1200': 'gateway36',
 '1201': 'gateway37',
 '1202': 'gateway38',
 '1203': 'gateway39',
 '1204': 'gateway39',
 '1210': 'gateway40',
 '1211': 'gateway41',
 '1212': 'gateway42',
 '1213': 'gateway43',
 '1214': 'gateway43',
 '1220': 'gateway44',
 '1221': 'gateway45',
 '1222': 'gateway46',
 '1223': 'gateway47',
 '1224': 'gateway47',
 '1230': 'gateway48',
 '1231': 'gateway49',
 '1232': 'gateway50',
 '1233': 'gateway51',
 '1234': 'gateway52'}

2.选择(selecting)部分策略

随机选择策略

随机抽样选择实现了零偏差同时保证最小个体扩展。种群的个体被映射到区间的连续片段,每个个体所在片段的长度与其适应度成比例(这里跟轮盘赌是相同的)。用一组等距离的指针随机地指向上述区间,每个指针所指的个体即为要选择的个体。指针间的距离是1/Nsel (Nsel 为要选择的个体数),第一个指针的位置由[0; 1/Nsel) 范围内的随机数给出。

轮盘赌选择和随机抽样选择都属于轮盘赌模型(或称基于适应度比例的选择模型),但后者通常能够得到更想要得到的结果,种群多样性也得以保证。

3.重组(recombination)部分策略

双点交叉策略

两个父代个体交换染色体片段产生新个体的过程,因此也称为交叉操作。 交叉操作中,个体的染色体编码可以是实值、也可以是二进制,比如:[0 1 0 1 1 1 0 1] 和[1.1 2.0 3.4 2.7 1.6] 这些类型的染色体都可以进行交叉操作,一般更多地用在二进制或格雷码编码的个体中。 交叉有分单点、双点和多点交叉。

4.优化目标

不同部署方案的response time

优化结果:

最优的目标函数值为:24816.0
有效进化代数:20
最优的一代是第 6 
时间已过 0.026682376861572266 

提升效果:

  初始结果(未优化) 平均结果(所有可能解均值) 最优结果
Response Time(μs) 5375439 5765536 24816
提升比率   -7.25% 99.5%

优化效果(运行50次取平均值)

每次总代数 平均每次达到最优代数 平均最优结果
25 6.42 24816