Page 115 - 《软件学报》2020年第9期
P. 115

2736                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

         器中.本文分别对读/写头数量为 2,4,8 时的磁畴壁存储器进行了设计空间的探索实验.
             对于 ILP 模型,使用 python3 调用 Gurobi 中的接口     [28] 对 ILP 模型进行编写,并运行 ILP 程序.对于某些测试
         程序,ILP 不能在可接受的时间范围内找到最优解,所以本文设定在 ILP 模型被执行 12 小时(43 200 秒)之后便停
                                               *
         止执行,并将当前的结果输出.其中,最优解使用“ ”标记.其他的算法均是可以在几百毫秒时间内完成的.
         5.2   实验结果与分析

             本节对我们的实验结果进行展示与分析.
             表 2 是在配备 2 个读/写头的磁畴壁存储器上不同算法产生的实验结果.其中:“SSDP”列表示 SSDP 算法得
         到的移动次数;“S-DBC-P”列是 Chen 等人       [20] 提出的算法得到的移动次数,以及相较于 SSDP 算法移动次数减少
         的百分比;“GISDP”列是本文所提出的启发式算法求得的移动次数,以及分别相较于 SSDP 算法和 S-DBC-P 算
         法移动次数减少的百分比;“ILP”列是整数线性规划在 12 小时内求得的移动次数,以及分别相较于 SSDP 算法和
         S-DBC-P 算法移动次数减少的百分比.从表 2 可以看出:本文所提的 GISDP 算法相较于 SSDP 算法,移动次数平
         均减少了 86.7%,相较于 S-DBC-P 算法,移动次数平均减少了 79.6%;本文所提出的 ILP 模型虽然没有在 12 小时
         内求出最优解,但是相较于 SSDP 算法,移动次数平均减少了 75.0%,相较于 S-DBC-P 算法,移动次数平均减少了
         61.8%.
                                    Table 2  Performance comparison for 2-port
                                          表 2  2 个 port 的性能比较
                             SSDP    S-DBC-P           GISDP                  ILP
                     基准      移动    移动    相对     移动     相对      相对    移动     相对      相对
                     测试      操作    操作    SSDP   操作    SSDP   S-DBC-P  操作    SSDP   S-DBC-P
                     程序      次数    次数   减少(%)   次数   减少(%)   减少(%)   次数    减少(%)   减少(%)
                     epic    8 394  3 492   58.4   630   92.5   81.9   1 648  80.3   52.8
                   ghostscript   3 308  2 116   36.0   208   93.7   90.2   642   80.6   69.6
                     jpeg    4 152  2 459   40.7   525   87.4   78.6   1 288  68.9   47.6
                     mesa    5 248  2 601   50.4   883   83.2   66.1   1 121  78.6   56.9
                    mpeg     8 944  4 726   47.1   1 630  81.8   65.5   2 364  73.6   49.9
                    pegwit   1 721  1 487   13.6   217   87.4   85.4   390   77.3   73.8
                     pgp     3 043  3 503   −15.1   495  83.7  85.9   973   68.0    72.2
                     rasta   3 253  2 117   4.1   519   84.0   83.3   887   72.7    71.5
                  平均减少(%)     −     −     29.4   −     86.7    79.6    −    75.0    61.8

             表 3 是在配备 4 个读/写头的磁畴壁存储器上不同算法产生的实验结果.从表 3 可以看出:本文所提的
         S-DBC-P 算法相较于 SSDP 算法移动次数平均减少了 93.7%,相较于 S-DBC-P 算法移动次数平均减少了 80.7%;
         本文所提出的 ILP 模型在 12 小时内求出的局部最优解,相较于 SSDP 算法,移动次数平均减少了 82.6%,相较于
         S-DBC-P 算法,移动次数平均减少了 46.3%.
                                    Table 3  Performance comparison for 4-port
                                          表 3  4 个 port 的性能比较
                             SSDP    S-DBC-P           GISDP                 ILP
                     基准      移动    移动     相对    移动    相对      相对     移动     相对      相对
                     测试      操作    操作    SSDP   操作    SSDP   S-DBC-P  操作    SSDP   S-DBC-P
                     程序      次数    次数   减少(%)   次数   减少(%)   减少(%)   次数    减少(%)   减少(%)
                     epic    8 359  1 912   77.1   404  95.2   78.9   1 482  82.3   22.5
                   ghostscript   3 286  1 124   65.8   124  96.2   88.9   466   85.8   58.5
                     jpeg    4 125  1 188   71.2   247  94.0   79.2   865   79.0    27.2
                     mesa    5 221  1 424   72.7   367  92.9   74.2   851   83.7    40.2
                     mpeg    8 907  2 515   71.7   679  92.4   73.0   974   89.0    61.3
                    pegwit   1 699  778   54.2  136    91.9   82.5    274   83.9    64.8
                     pgp     3 008  1 087   63.9   192  93.6   82.3   742   75.3    31.7
                     rasta   3 223  1 634   49.3   225  93.0   86.2   583   81.9    64.3
                  平均减少(%)     −     −     65.7   −     93.7   80.7    −     82.6    46.3
             表 4 是在配备 8 个读/写头的磁畴壁存储器上不同算法产生的实验结果,从表 4 可以看出:本文的 S-DBC-P
   110   111   112   113   114   115   116   117   118   119   120