close

Вход

Забыли?

вход по аккаунту

?

Курсовой отчет Осипов А.В

код для вставкиСкачать
???????????? ??????????? ? ????? ?????????? ?????????
???????????? ????????????????? ??????????? "???"
??????? ????
???????? ??????
?? ?????????? "????????? ?????????????? ?????????????? ??????"
?? ????: "?????????? ??????????? ?????????? ?????????????? ???????"
????????: ?????? ?.?.
??????: ?-7?-08
???????????? ???: ??????? ?.?.
???????????? ??: ?????????? ?.?.
??????, 2012
??????????
????????03
???????????? ????????? ??????04
??????? ???????? ?????? ????????? ???????05
2.1 ?????????? ? ???????? ?????? 05
2.2 ???????? ???? ?????? ? ????????? ???????? ???????? ?????014
2.3 ?????????? ??????? ??????022
???? ???????????? ??????027
????????? ????? ???????????? ?????? 071
3.2 ?????? ?????? ????? ???????????? ?????? 030
???????? ???????? ???????? ????? 031
??????????044
??????????045
?????????? ?. ??????????? ???????046
?????????? ?. ??????? ????????? ????? ???????????? ??????049
????????
? ?????? ????? ??????? ?????????????? ????????? ?????????????? ?????????? ?????????????? ??????? (???) ? ?????????????? ???????? ???????? ?????. ???????? ???????? ????? (???) - ??? ?????? ??????????, ?????????? ?????????????? ??????? ? ?????? ???????? ?????? ????????? ?????? ?????? ? ??????????????? ?????????? ?????????????? ??????, ? ?????? ?????? ??????????. ???????? ???????? ????????????? ?? ?????? ?????????? ???????. ??????????? ???? ?????? ???????? ????? ???? ???????????? ?????????? ?????????? ? ?? ?????????? ????????. ? ?????? ???? ?????? ?????? ???? ??????????? ??????????, ? ?????, ???? ??????, ?????????? ??????? ??????? ? ????????? ????????? ???????. ??????? ????? ????????????? ????????????? ????? ?????????? ???????? ?????????? ??????????. ?? ????????? ????????? ?????? ???????? ???????? ????? ?????????????? ?????? ??????? ??????? ??????????? ????????? ?? ???? ??????????????, ? ??????????? ????????.
??? ?????? ???? ??????? ?? ?????? ????? ??????? ??????????????? ???? ???????????? ?????? (???), ??????? ??????????? ??? ????????????, ?????????? ????????? ???????? ?????, ????????.
???????????? ????????? ??????
?? ??????????? ???? ???????? ?????????? ???????? ???????? ?????? ????????????????? ?????????? ???????? ????????????? ??????? ??????????? ???????????, ? ??? ????? ???????????? ???????????, ? ??????? ????????? ????????????????????? ???????????? ????????? ?????. ???? ????????? ????? ???? ?????? ????????? ?????? ????? ??????????? ??????????? ????? ????????? ??????? ??????? ??????????????? ???????????? ? ???????????? ???????????. ????????????? ????????? ????????? ??????? ???????????? ? ?????????????? ?????, ? ????????? ? ??????? ?????????????. ??? ?????????????? ????????? ????????????? ???????????? ???????? ??????? ?????????????????? ?????????? ? ????????? ??? ??????? ? ????????? ?????? ? ?????? ??????????? ???????????? ????, ? ????? ????????????? - ???????? ???????? ?????-??????. ?????????????? ???????? ????????? ????????? ????? ????????, ?? ????????? ? ????????? ???????????, ???????? ?????? ?? ??????????? ????????????? ?????, ??????? ???????????? ??????? ?? ????????? ????. ???? ?????????? ?????????? ??????? - ????? ??????? ??????. ?? ??????? ??????? ?? ?????? ?????? ???? ??????????, ???????????????? ????? ? ?????????? ???????????? ???????????, ??????? ???????? ?? ?????????????? ???????????? ????????????????. ????? ??? ??????????? ?????? ????????? ?????????? ??????????? ?????????? ????????? ??? ?? ??????????, ??? ???????? ?????????, ??? ??? ????? ??????????? ?? ? ???????????? ???? ? ??????? ?? ??????????????? ????? ????????????? ????????????????. ??????? ? ????????? ????? ??? ?????? ???????? ????????? ?? ??????? ????????????????? ?????????? ????????? ???????????, ??????? ???????????? ?????????-??????????? ???????. ??????? ??????????? ??????????? ?????????? ?????????????????? ?? ???? ????? ????????? ??? ? ??????????????????? ?????????????? ????? (??) ????????.
??????? ???????? ?????? ????????? ???????
2.1 ?????????? ? ???????? ??????
?????????? ???????? ??????? ????????? ??????? ???????? ?????????? ??????????? ???. ?????????? ????????? ? ?????? ???????? ?????? ?????? ?????????? ???????????? ??????????????? ???????? ? ??????????? ???????? ???????? ????? (???).
??? ??????? ?????? ????? ??????????? ????????? ??????????: ?????????? ?????????????? ????? ? ????????
?????????? ??????????? ? ?????????????? ????
??? ??????????, ?? ??????? ???????? ???????
??????? ??????????
????, ?? ??????? ????????? ???
??????? ???????? ?????
??????? ??????????? ??????
???????????? ???????
????? ?????? ???? ????? ????? ?????, ?? ??????? ????? ????????????? ???????. ?????????? ?????? ????? ????????: ?????????????????? ???, ????????? ???.
???????, ?????????? ? ?????????? ?????????? ??????????????, ???????? ?? ??????? ????? ?????? ?????????. ???????? ?? ??, ??? ??? ??????? ??????? ? ??????? ????????? ?????, ????????? ????????? ??? ??????? ?????????:
?????????????? ??????;
??????????????? ??????;
??????????????? ??????.
????? ??????????????? ???????? ????????????? ?????. ????? ????? ??? ???????? ??????, ? ????????? ???????????? ?????? ?????????? ????? ????? ( t ? ) ? ???????? ?????? ( t ?). ? ???????????? ? ???? ???????????? ??? ?????????????? ?????? t ? >> t ? (???. 2.1), ??? ??????????????? t ? ? t ? (???. 2.2), ??? ??????????????? t ? << t ? (???. 2.3) [1].
?? ???????? 1, 2, 3 ?????? ?? ?????? ??????? ????? ??????? ????? ????????????? ?? ?????????? ?????? ??????? (t ?). ??????? ?? ?????? ????? ?????? ????? ??????? ????? ??????? ?????? (t ?). ????? ???????????? ????? ? ???????? ????????.
???. 2.1
???. 2.2
???. 2.3
??????????? ??? ????? ?????????? ? ???????????? ? ??????? ?????. ???, ??? ????????????? ????? ?????????? ????? ??????????? ? ????????????????? ????, ?? ??????? ???????? ???. ?????, ?????????? ??`????? ??????? ??????????? ?????? ? ?????? ????, ?????? ? ???, ???????????????? ??? ????????? ???????????? ?????. ????? ???????, ??????? ?????????? ???????? ? ????? ???? ?????? ? ????? ??????????? ???????????? ???????: ????????? ???? ? ???????? ??????????? ??????. ? ????????? ??????? ??????????? ?????? ??? ?? ??? ??????. ??? ?????? ?? ???????, ??? ?????? ??????? ???????? ?? ??????????????? ??????. ???????, ?? ??????? ???????? ?????? ??????, ????????? ????????? ??????????? ????????? ? ???????????? ???????????? ???????????, ??? ????? ???????? ?? ???????.
??? ????, ?? ??????? ???????? ??? ?????????? ??????? ?????????. ???? ? ??????? 2.1 ???????????? ????, ??????? ????? ???????????? ? ????????? ??????????????.
??????? 2.1:
??????????????? ?????????????? ???????????Fast Ethernet100 ????/?Myrinet250 ????/?SCI325 ????/?cLAN400 ????/?Gigabit Ethernet1 ????/?QsNetII7 ????/?Infiniband40 / 32 ????/? ??????, ? ?????? ?? ?????????? ?????????? ????? ????????.
Fast Ethernet (100BASE-T) - ????? ?????????? ???????? ?????? ? ???????????? ?????, ?? ????????? ?? 100 ????/?, ? ??????? ?? ???????? Ethernet (10 ????/?). ????? ???????? ?????? 100BASE-T ?????????? 100 ??????? (328 ?????). ? ???????? ????????????, 100BASE-TX ?????????? ??? ???????? ?????? ?? ????? ???? ?????????? (?????) ???????? ? ?????? ???????????, ??????????? ?? 100 ????/? ?????????? ??????????? ? ?????? ??????????? (???????).
Myrinet (ANSI/VITA 26-1998) - ?????? ??????????? ??? ?????????? ????????? ??? ???????????????? ?????. ????? ?? 28 % (???? 2005) ?????????? ????????? ?? ?????? Top500 ????? ???????????????? ??????????? ???? ???? ????????? ? ??????????? Myrinet. ?????? ???? ?????????? ???? ?? 2 % (2009 ???).
SCI (????. Scalable Coherent Interface, ?????????????? ????????????? ???????????) - ???????????? ????, ???????????? ??? ?????????? ?????????. SCI-???????? ????? ???????????? ??? ??????? ?????, ????????? ???????? ?????????? ????????? ???????? ????????? ????? ??????, ??? ??? ? ????? ??????? ????? ???????? (???????????) ?????? ???????? ????.
cLAN c??? ???????????? ????? ???? ??????? ?????? ??????? ?????? OSI, ?????????, ??????? ???????????? ????? ? ??????? ?????????? ????????? ? ????????, ??????? ?????????? ???????????, ? ??????????? ? ?????? ?????????????.
Gigabit Ethernet. ?????????? ??????????? ?????????????? ??????? ???????? ??????????? ? ?????????? ???????? ???????? ????????? Ethernet. ???? ?????????? ???????????? Gigabit Ethernet, ???????? ? ?????????? ????????? IEEE 802.3. 29 ???? 1998 ???? ??? ?????? ???????? IEEE 802.3z. ?? ????????? ? ????????? ??? ????????? ?????????? ??????????? ???????????? ???? ??? ?????? ????????, ??? ???????????? ????????? ? ?? ????????? ? ?????????? ???????????, ??? ???????? ? ????? ???????? ???????? ??????, ??????? ??????????????? ???????????? ? ??????????. ?????????? ?????? ??????? ??????????, ?????????????? ????? ???????????? Gigabit Ethernet.
?????????? ? ?????????? ????????? ????????? Ethernet ???????????? 802.3ab (????????? 1000Base-T), ?????????? ????????????? ???????????????? ????? ???? UTP ????????? 5 ? ???????????? ?????? ???????? 100 ??????. ? ??????? ?? 100Base-T, ??? ??? ???????? ?????? ????????????? ?????? ??? ????, ????? ???????????? ??? ?????? ????. ???????? ???????? ?? ????? ???? ?????????? 125 ????/?, ??? ? ????? ???? 500 ????/?. ??? ?????????? ???????? 1 ????/? ???? ???????????? ?????????? "??????? ???????" (dual duplex). ???? ?? ??????? ? ?????????. ?????? ??? ???????? ?????????? ?? ????? ???? ???????????? ???? ?? ??????? ??????????????????? ?? ???? ????? ???????. ??? ????????, ??? ???????? ?????????? ????? ???? ?????? ? ????? ???????????, ?? ???? ???? ???? ????? ???? ???????????? ?????? ??? ?????? ??? ???????? ??????????. ??????? ??????? ????????????? ????????????? ????? ??????? ???????, ?? ???? ???????? ?????????? ?? ????? ???? ?????????? ???????????? ? ???? ????????????, ?????????????, ?????????? ??????????? ????? ???? ?????????? ?? 250 ????/?. [2]
QsNet (Quadrics) - ???????????????? ????? ?? ???????? Quadrics, ?????????????? ???????? ?? ?????? SCI ? ?????????? ??????????? ?? 900 ????????/??? (QsNet II). ????? ??????? ????????? ???????????? QsNet, ??? ???????, ??????????? ??? ?????????? ????? ??????? ????????? ???????????? ?????????.
? QsNet ??????????? ?????????? ????? ??????????????????? ? ????????? ?????????????. ??????????????? ?????????? ?????? ? ?????????? ??????????? ?????? ? ??????? ????????????? ???????? DMA ? ?????????? ?????????????????? ???? ? ??????? ?????????? ?????? (???????? ????????? ???????? ???????).
Infiniband - ???????????????? ????????????? ???????????????? ????, ????????????? ??? ??? ?????????? (???????????????), ??? ? ??? ???????????? ??????????.
Infiniband ?????????? ??????????????? ???????????????? ????. ??????? ???????? - 2,5 ????/? ? ?????? ???????????, ??????????? ?????, ????????? ?? ????? ? 1x, 4x ? 12x ??????? ??????????????? ??? (????. lanes). ?????????? ?????? Single Data Rate (SDR) - ?????? ? ??????? ?????????, Double Data Rate (DDR) - ??????? ???????? ????? ????????? ??????? ? Quad Data Rate (QDR) - ??????????????, ????????????. ?????? SDR, DDR ? QDR ?????????? ??????????? 8B/10B. ? ????????? ?????? (2011 ?.) ???? ????? ??????????? ????? 4x QDR.
???????? ??????
????? ?????????? ??????? ? ????????? ?????? ???. ?????????? ???????? ????????? ? ?????????????????? ???.
??? ???????????????? ??????????, ?????? ?? ??????? ?????? ??????????? ?????? ? ??????? ???? ??? ???????????????? ?????????? ?????? ?????????????? ???? ???????. ?? ??? ???? ??? ??????? ?????????? ? ??????. ???????, ? ??????? ??????? ?? ????????? ??????? ?????? ?????????? ?????????????? ????? ?? ??????? ??????? ???. ??? ?? ?????? ??? ????? ??? ??????????????????, ?? ??? ???? ????.
??? ???? ????? ????????? ???? ?????? ? ???????????? ? ?????????????? ??????????, ?????????? ?????????? ? ???????? ??????.
?????????? ???????? ? ???, ??? ? ?????????? ??????? 20% ????????? ???????????? ????? 80% ??????????. ??? ???????? ???????????? ?? ??? ?????????? ???????? ??????, ??????? ??? ???????? ??????????? ??????????? ???????? ?????? (1848-1923) ? ??????????, ??? ? ???????? ???????? ?????? ??? ???????????? ????????? ??????? ????? ??????? ??????? ????????, ??? ??, ??????? ????????????? ?? ???? ? ??????????? ???? ??????. ? ???????????? ? ???? ????????? ???????? ??????, ??????? ??????????? ?? ??????? 2.4.
???. 2.4
?? ???????, ???????????? ?? ??????? 2.4, ?????????? ????????? ??????????? ?????????????????? ??????? ?? ?? ?????????. ??? ???? ?????????, ??? ???? ?????????????????? ? ????????. ?????????????? ????????? ??????, ????????? ?? ???????????? ???????, ?????????????????? ? ????????? ???????, ??????? ??????? (?????????? ??????? 1), ? ????? ??????? ?????????????????? ? ????????? ??????? ??????? ?????? (?????????? ??????? 2). ? ??????????, ??????? ?????? ???????, ?????????? ? ???????? ???????, ??????? ????? ???????? ????? ????????? ?????? ???.
? ???? ?????? ???? ??????? ?????????, ??????????????? ??????????????? ???????????? ????????????, ?????? ???, Intel, AMD, IBM ? ?. ? [3 - 5]. ???? ??????? ??????????? ????????? ??? ??????? ?????????????? ????? [6 - 8]. ?? ?????? ?????????? ??????????, ???? ?????????? ?????????????? ????????????, ????????????? ??? ?????????? ???. ??? ?????????????? ????????? ????????? ?????? ? ???????? ??????????, ??????? ?????????????? ? ????????? ?????????????? ? ??????????? ???????? ???????? ?????.
???????? ???? ?????? ? ????????? ???????? ???????? ?????
? ????????? ?????????? ???????? ???????? ????? ????????? ?????? ??????????, ?? ??????? ????? ??????????? ??????, ? ????? ???????? ????????? ???????? ???? ??????????. ?? ??????? 2.5 ???????????? ???? ????????? ??????????. ? ??????? 2.2 ???????? ??? ????????? ? ?? ????????, ????????? ? ???? ??????.
???. 2.5
????????
? ??????????????-???? ??????????????? ??????????? ? ??????? ????????????????? ????????????????????? ???????? ???????????? ??????????? ?????????????????? ???????????? ?????141Intel Xeon1.2GHzMyrinet20GB4GBUnix????????-??????282Intel Itanium 21.3GHzcLAN80GB12GBWindows NT??????????-??????3164Intel Pentium 41.4GHzGigabit Ethernet120GB24GB?????????-??????4328AMD Athlon1.7GHzFast Ethernet250GB48GB564AMD Opteron1.8GHzInfiniband512GB64GB61002.0GHzQsNetII768GB96GB73002.2GHzSCI1000GB85002.4GHz2000GB98002.6GHz1010002.66GHz1120002.8GHz1240003.06GHz1350003.2GHz143.4GHz??????? 2.2:
????? ????????, ??? ??? ???? ?????? ?? ?????????? ???????????, ??? ??? ???? ? ??????? ???? ?? ?? ?????????????????? ?????????? ??????????, ? ?? ?????????????? ??????????. ?????, ????? ?????? ????????? ??????? ????????????????? ???????, ??? ? ???? ????? ???????? ?????????. ?????????? "??????????" ?????????? ??????????? ???????? ?????????? ???? ??????? ? ????????? ???????? ??????????? ??????????????. ??????????, ????????? ????? ?????? ??????????? ????, ??? ???????? ??? ????? ?????? ? ?? ??????.
?????????? ?????????? ??????????, ??????? ?? ?????????? ? ??????????. ? ?????? ?????? ??? ???????? ?????????? "??? ??????????" ? "??????? ??????????". ??? ?????????? ?????????? ???????????? ? ???????? ? ???????? ? ???? "???????? ??????????? ??????????", ?????????????? ?? ??????? 2.6. ??????? ??????????? ?????????? ???????????? ? ??????? 2.3.
???. 2.6
????????
? ????. ????.??? ????????????????? ??????????1Intel Itanium 21.7GHz2Intel Itanium 21.8GHz3Intel Itanium 22.0GHz4Intel Itanium 22.2GHz5Intel Itanium 22.4GHz6Intel Itanium 22.6GHz7Intel Itanium 22.66GHz8Intel Itanium 22.8GHz9Intel Itanium 23.06GHz10Intel Itanium 23.2GHz11Intel Itanium 23.4GHz12AMD Opteron1.2GHz13AMD Opteron1.7GHz14AMD Opteron2.6GHz15AMD Opteron2.66GHz16AMD Opteron2.8GHz17AMD Opteron3.06GHz18AMD Opteron3.2GHz19AMD Opteron3.4GHz20AMD Athlon3.06GHz21AMD Athlon3.2GHz22AMD Athlon3.4GHz ??????? 2.3:
???????? ???????? ????? ????????? ???????? ?????????? ????????? ????????? ???????: ?????? ?????? ?????????? ?????? ? ?? ????????, ? ????? ??????? ?? ?????????? ??????? ? ????????? ?????????. ????? ???????, ??????????? ????????? ???? ??????, ????? ???? ???????? ? ???????? ?????????????? ?????? ???????? ???????? ????? [9].
???? ??????? ??????? ? ????????? ?????????? ???????? ???????? ????? ????????? ?? ???????? 2.7 ? 2.8, ??????????????.
??????? ????? ???????????? ?? ?????? ??????? ???????????? ?????? [3 - 8]. ??? ????????? ? ??????? 2.4.
????????? ????? ???????????? ?? ?????????? ?? ?????? ???? ???????????. ???, ?? ????? ?????? ????????????? ???????????????? ???? ? ???????, ??? ????? ?????? ???? ????????????. ?????, ??? ?????? ??????? ?????? ??????????? ?????? ??????? ???????, ??? ???, ??? ????? ?????????? ?????, ?? ???????? ??????? ???????? ?????????? ???????????? ??????. ?????????? ? ?????? ??????????????????? ?? ???????? ?????? ???????????? ??????? ?????? ??????????, ? ??????, ??????? ??????????? ?????? ??????? ??????? ????? ? ????, ????? ?? ????? ??????. ?? ?????? ?????????????? ?????????? ????????? ?????, ??????? ???????????? ? ??????? 2.5.
????? ????????, ??? ????????? ?????? ?? ????????? ????? ?????????? ?????????????? ?? ??? ?????. ?????????????? ? ?????? ???????????? ??????, ???????? ??????? ? ???? ????????? ?????? ????? ?????, ??????????????? ????????? ????????.
???. 2.7
???. 2.8
??????? 2.4:
????????
? ??????????????-???? ??????????????? ??????????? ? ??????? ????????????????? ????????????????????? ???????? ???????????? ??????????? ?????????????????? ???????????? ?????1H - ???????5002Intel Xeon3.2GHzQsNetII512GB48GBWindows NT?????????-??????1L - ???????1002AMD Athlon2.4GHzSCI250GB24GBUnix????????-??????1M - ???????3002Intel Xeon2.4GHzcLAN250GB24GBUnix?????????-??????2H - ???????8004Intel Xeon3.4GHzInfiniband768GB64GBUnix?????????-??????2L - ???????3004Intel Itanium 21.4GHzMyrinet120GB12GBWindows NT????????-??????2M - ???????5004Intel Pentium 42.6GHzGigabit Ethernet512GB48GBWindows NT?????????-??????3H - ???????1002Intel Xeon3.2GHzQsNetII512GB64GBUnix?????????-??????3L - ???????3004AMD Opteron2.4GHzMyrinet250GB24GBWindows NT????????-??????3M - ???????3004Intel Pentium 42.4GHzcLAN250GB64GBUnix?????????-??????
??????? 2.5:
????????
? ??????????????-???? ??????????????? ??????????? ? ??????? ????????????????? ????????????????????? ???????? ???????????? ??????????? ?????????????????? ???????????? ?????1H - ?????????41Intel Itanium 21.2GHzFast Ethernet20GB4GBWindows NT?????????-??????1L - ?????????41AMD Athlon1.2GHzFast Ethernet20GB4GBWindows NT????????-??????1M - ?????????81AMD Opteron1.3GHzFast Ethernet80GB4GBUnix?????????-??????2H - ?????????81AMD Opteron1.3GHzSCI80GB12GBWindows NT?????????-??????2L - ?????????41Intel Itanium 21.3GHzQsNetII20GB4GBUnix????????-??????
?????????? ??????? ??????
????? ???????? ???? ?????????? ? ?? ????????, ???????? ???? ??????? ? ????????? ??????, ?????????? ?????????? ??????? ??????.
?? ????????? ?????????? ??????? ?????? ???????? ?????????????? ????, ?????????? ? ?????????? ????????? ??????????, ????????? ? ?????????? ????????? (??????? 2.9). ???. 2.9
??????? ?????? ????????? ????????? ??? (??????? 2.10):
???. 2.10
?? ??? ??????? ?????? ???????????? ????????? ?????????, ?????? - ????????? ????????. ????? ?????? ???????????? ????????? ?????, ??????? - ???????. ??? ?????? ?????????? ??????????? ????? ???????? ??????????.
??????? ?? ???? ?? ??????, ????? ??????? ????? ???????? ??????????. ?? ???????? 2.11, 2.12 ???????????? ???????? ?????????? ??? ???? ?? ??????? ????????? ??????????. ?? ??????? 2.13 - ?????????? ????????.
???. 2.11
???. 2.12
???. 2.13
??? ????? ?? ???????, ??????????? ????????? ????????? ? ???????? ????????????? ????????????, ?????? ?? ???????, ?? ????????? ???? ??????? ? ????????? ??????. ??????? ???????? ?? ????????? ???????. ?? ???? ????, ? ??????? ??? ??????? ?? ?????? ?????????? ?????????????? ?????. ? ?????? ???? ????? ?? ?????? ?????????? ? ?????? ???????????????????, ??????? ??????????? ?????? ? ??????? ????? ????? ?????????? ????????. ??? ????????????? ???????? ?????? ????????? ?????????? ???????.
????????, ???????? ?? ????????? ?????????, ?????, ??? ?????????????? ???????, ????????? ? ???? ??????, ????? ??????? ???????? ?????????? ? ?????? ??????????????. ??? ??? ??? ?????????? ??, ??? ???????? ???????? ????? ????? ????????? ???? ?????????, ?????? ?? ???? ??????? ? ????????? ??????. ??? ?????????? ??????? ??????, ??? ???????? ?????????? ??? ???????? ???? ???. ??????? ????? ???????? ?????????? ????????? ? ??????? 2.6.
????? ?????????? ??????? ?????? ?????????? ????????? ???????? ????? ???? ???????? ????, ?????????? ?? ??????? 2.14. ?????????? ???????? ???????????? ?? ???? ???????????? ??????, ??? ????? ??????? ????????????, ????????????, ???? ????????? ????????????. ?? ?????? ????? ??????? ? ????????? ?????????? ?? ?????? ????????? ????? ??????? ??????. ????? ????????, ??? ???????? ???????? ????? ?????? ????????, ?????????? ??????????? ??????????. ??? ????? ?????? ? ????? ???????????? ??????, ??????? ?????? ??? ???????? ?????????? ??????????? ?????????? ????????????.
???. 2.14
??????? 2.6:
????????
? ??????????????-???? ??????????????? ??????????? ? ??????? ????????????????? ????????????????????? ???????? ???????????? ??????????? ?????????????????? ???????????? ?????1-27-45-18-1810-27-36-1-32-1820-13-2710-18-4-7-243025-155515-3400-40-27201050-380515156-101507200-40810-4095510001100120013010145 ???? ???????????? ??????
3.1 ????????? ????? ???????????? ??????
???? ???????????? ?????? ??????? (???) - ??? ??????????? ??????????? ??????? ? ???? ??????????? ???????????? ??????????. ? ????? ???????????? ?????? ??? ?????????? ????????? ? ????????? ???????? ?????. ??? ????????? ???????? ???????????? ?? ???????? ?????? ????????? ??????? ? ???? ??????? ? ????????? ??????.
??????????? ??? ?????????????? ? ???? "?????????" -> "????????? ??????" -> ??????? "???? ???????????? ??????". ???? ??? ??????? ?????????, ????? ????????? ??????? ? ??????? ?? ?????? "OK" ? ????, ??????? ???????????? ?? ??????? 2.13, ?? ?????? ?????????? ???? ????????? ????? ???????????? ??????. ??? ???????????? ?? ??????? 3.1.
???. 3.1
??????? ????? ???? ???????? ???????, ??? ???????????? ?????? ?????????? ???????. ??? ???? ??????? ???????? ???????? ??????? ?? ??????????, ? ??? ?? ???????? ???????? ? ?? ???.
? ?????? ????? ?????? ????????? ?????? ?????????? ??????? ???????. ? ??????? "????????? ????????" ????? ???????, ????????? ??? ????????, ???? ????????? ?????? ?????????.
???? ????????????, ??????? ??????? ??????? ????????????, ??????? ????????????, ??????? ?????? ?????????????, ?.?. ??????? ? ?????????????? ???????? ???????? ????? (?????? "?????????????"), ? ?????, ??????? ?? ????????????? (?????? "????????????").
????? ??????? ?? ?????? "???????", ???????? ???????? ?????? ?????? ???????????? ?????? ? ?????? ??? ?? ???, ??????? ???? ??????? ????????????, ???????????? ? ??????? ????. ??, ??????? ??????? ????????????, ???????????? ? ????? ????. ??? ???????????? ?? ??????? 3.2.
???. 3.2
????? ????, ??? ???????? ???????, ???????? ?????? "OK" ? ??? ???????????? ? ???????? ???????? ?????, ??? ??? ??????????? ? ??????? ???? ????????? ?????, ? ??????????? ?? ?????????? ? ??? ??????. ???????? ???????? ????? ?????? ????, ?????????? ?? ??????? 3.3.
???. 3.3
3.2 ?????? ?????? ????? ???????????? ??????
???? ???????????? ?????? ????????? ???????? ? ???????????? ?? ????? ???????? ???????????? ????????.
??????? ????????? ??????????? ? "?????????? ?".
?????????? ????????, ??? ? ???? ???????????? ?????? ????? ???????? ????????, ?????????? ??????????? ??????????. ????? ?????????? ????? ?????? ??????? ????????????.
???????? ???????? ???????? ?????
???????? ???????? ???????? ???????? ?????. ??? ????? ?????????? ? ???? ???? ???????????? ??????. ????????? ????? ??? ????????. ??? ???????? ?? "????????" ???????? ???????? ?????.
?? ????? ??????? ?????? ???? ??????????? 43 ????????. ???????? ???????? ???????? ???????? ????? ??????????? ? ??????? 4.1. ? ???, ?????????? "??????. ??", ???????? ?????????? ??????????????? ???????, ?????????? ??????????? ?????????? (??). "?????." ? "?????." ???????? ?????????? ???????????? ? ???????????? ????????? ???????, ??????????????.
?? ??????? 4.1 ?????????? ??????? ????????? ?????????? ?????????????, ?????????? ?????????? ??????? ? ?????????? ???????, ?????????? ??????????? ??????????.
?? ??????? 4.2 ?????????? ??????? ????????? ?????????? ????????????? ? ???????????? ?????? ??????? ????? ????????? ???????? ????? ? ?????? ???????????? ??????.
??????? 4.1:
? ??????????????????????????????
???????????????????
????????????-?? ??????????????? ????????? ???????? ????? ?????????????? ?????? ???????????? ?????????????????????????????????????????.?????.??????. ???????.?????.10411521213124514726126221162313191613032351162313115062313146131223191192210073495201162313189534022620311229131261510746767285221214963154416891121846116231311706231319535118215131845512786961052483621212415842320249113119511623131192602933121011162313115755362613110321529161621313974781413416212311815616196177351512212926131280926131161502212261611219103804217145162123118144181491634918144373029121141552462059719184221226161243389725020182221226161482597804221193511821513115869610775 ??????? 4.1 (???????????):
? ??????????????????????????????
???????????????????
????????????-?? ??????????????? ????????? ???????? ????? ?????????????? ?????? ???????????? ?????????????????????????????????????????.?????.??????. ???????.?????.222163833291241986326925874232043112231913822100972524229116231311615474418252126224218161386018210513726219463021211816426276175127272761930231271349820421191282621621231181903018215161292814424212112135771651469630314131223191143983744831320512512151361852202922672453236821036261301611162462491133334231122913133527075473433554272151121641341381471253533614152311218916136111413632911623131827353626374021518231151326311912260384021621231181317513712488394061162313103329382440372117542315111991693733881544142521926131124052415142456129231610504241514341812923161046464547???. 4.1
???. 4.2
??? ????? ?? ??????? ? ????????, ?????????????? ????, ?????????? ???????, ??????????????? ????????? ???????? ?????, ????????????? ????????? ?? 18 ???????? ? ???????? ???????? 302. ?????, ????? ????????? ? ????????? ???????? ????????? ?? ?????? 122, 182. ?? 22 ???????? ????????? ?????? ?? ???????? 332, ? ?????, ???? ?? ?????????? 122 ? ???? 62 ???????. ?? ????? ?????????? ??????????????? ??????? ????? ????? ? ? 31 ???????? ???????? ???????? 512. ?? ????????? ????????? ????? ???????????? ???????? ????? 122, 182, ? ?? 39 ???????? ????? ????? ?? 62 ???????. ????? ?? 40 ???????? ????????? ?????? ?????? ?? ???????? 542, ?? ??? ?? ????????? ???????? ????? ???????????? ?????? ???????? - 92 ????????, ????? ???? ? ??????? ???? ??????????? ???????? ??? ?? ????????. ?????????? ??????????? ?????????? ? ??????????????? ????????? ??????? ? ????.
?????????? ????????????? ????? ? ? 38 ?????????? ???????????? ?? ?????? 402, ????? ???? ????????????? ????????? ? ????? ????????? ?? ?????????????? ???????. ?? 43 ?????????? ????????????? ????????? 418.
?????????? ???????????? ?????????? ? ???????? ?? 20 ?? 100, ?? ????????? ????????? ?????????? ?????? ?? 121, 137. ????????? ?????? ?????? ???????? ?? 31 ????????, ???????? ????? ???????? 245. ?? ????????? ????????? ??????? ???????? ?????????? ???????????? ???? ????? 50, ? ?? 39 ???? ???????? ???????? 24. ?????, ?? 40 ???????? ????????? ?????? ?? 154 ? ???????????? ???????? 51, ????? ???? ????????? ?? ???? ?????? ??? ???? ???????? ? ?? 43 ???????? ????????? ?? 47. ??? ???????? ??????? ???????????, ??? ??? ?????????? ????? 50% ?? ?????????? ???????.
?????? ?????????? ??????????? ???????, ???????????? ? ????????????? ??? ???????? ?? ????????? ?????????, ?? ????? ??? ???????? ? ??????? ???????????? ????? ???????????? ?? ??????? ?????????????? ? ?????? ??????. ?? ????? ?????????? ????? ??????? ????? ? ???, ??? ???????? ??????? ???????? ? ? 41 ???????? ??? ??????????? ???? ??????. ??? ???????? ? ????? ????? ?????????????.
?? ??????? 4.3 ??????? ????????? ????????, ?????????? ?? 41 ????????. ?? ???????? 4.4, 4.5 ? 4.6 ???????? ??? ??? ??????? ?????????? ?????? ?? ?????????????? ???? ??????.
???.4.3
???. 4.4
???. 4.5
???. 4.6
??????? ???????? ?? ????????? ????????, ?????????????? ?? ??????? 4.3. ??? ??? ????????? ?????????? ??????, ???????????? ? ??????? ?????????, ?? ???????????, ? ??? ????????????? ? ??????? ????????????????? ??????? ????? ??????? ??????? ??????????????, ? ??????? ?? ???????????????? ????, ??? ?????????? ????? ??????? ? ????????? ??????????? ? ??????????? ???????????? [7]. ?????????? ? ????? ????? ??????? ???????? ? ???????? ????????? ??????, ???????????? ???? ????.
??????? ?????????? ?? 2000 ?????????????? ?????, ??? ???????????? ??????? ?????????????????? ? ??? ???? ?? ???????? ?? ?????????, ??? ? ?????? ???? ?? ??? ???????? ?? 4000 ??? 5000 ?????. ??????? ?????? ?????? 24GB ? ???? cLAN ? ?????????, ?? ??????????? ????????? ??? ?????????? ????? ?????? ???????. ? ?????? ?????????????? ???? ??????????? ?? 8 ??????????? Intel Pentium 4, ??? ???????????? ?? ????????? ??????????????????.
??????? ?????? ?????????????? ? ???????? ???? ??????????? ?????????.
??? ?? ??????? 4.4 ????? ??????? ?????????? ?????????????? ?????. ??????????? ?????????? ?? ?????? ?????? ?????????? Intel Xeon ??????? ??????????????????. ??????????? ???? cLAN ? ??????? ??????? ??????????? ?????? ? ??????? ?????? ????????? ?????? ?? ??? ?????? ?????? ???????, ? ?????????, ??? ???????? ? ??? ??????? ??????????????? ?????.
? ???????, ????????? ??????? ???????????? ?? ??????? 4.5, ?????????? ???? SCI, ??????? ???????? ??? ??????? ?? ??? ?????????????? ?????. ??? ????????? ????????????? ????????????, ?????????? ? ?????? 2.1. ? ?????? ?????????????? ???? ?????? ??????? ????? ?? 2 ?????????? Intel Xeon, ??????? ????? ???????? ??? ??? ???????? ??????? 2.8GHz. ?????, ??????????? ??????????? ?????? ? ??????? ????? ??????? ???????. ????? ??????? ????? ? ???, ??? ??????? ????? ??????? ??????????????????, ?????? ??????????????, ? ????? ???????? ???????? ????????? ???????, ??? ??? ????? ? ????? ??????? 32 ?????????????? ????.
????????? ??????? ?? ??????? 4.6 ????? ? ??????????? ??????? ?? ??????? 4.3, ?? ? ?????? ?????? ? ?????? ?????????????? ???? ???? ??????????? ????? ?? 2 ??????????. ??? ?????????? Intel Pentium 4. ????? ?????????? ??????????? ???????????????? ?? ????? ???????, ?? ????????? ? ?????? ????????, ??????????????????? 3.4GHz. ? ????? ??????? ??? ?? ?????? ?????????????? ? ???????? ???? ?????????, ??????????? ? ?????? ??????.
???????, ??? ??? ??????????? ?????????????? ??????, ??????? ???? cLAN, ??????? ????????? ????????? ?????? ??? ??????, ??? ? ??????? ??????????? ??? ?????? ???????? ??? ?????????.
??? ????? ?? ?????????????? ????????, ??????? ???????????? ???????, ??????? ?????? ?????????????? ? ??? ???? ???????? ????????? ????????? ? ??????????????????. ????? ????????, ??? ?? ???? ???????? ??????????? ???????? ?????????? ?????????????? ????? ? ??????? ????? ??????? ???????, ??? ????????? ??????? ????????? ???. ? ?????????????? ????? ??? ?????????? ?????????? ??????????? ? ?????? ????????????????????, ??? ???????? ???????? ??????????????????. ???????? ? ???????????? ?????????? ?????????, ?????????? ??? ??????????? ???? ??????. ?? 41 ???????? ?? ?????????? ????????? 418, ?? ?? ?????????? ???? ????????? ?? ???. ? ??????? 4.2 ???????????? 5 ?????????? ????????? ? ????????? ????????? ? ???.
? ??????? 4.3 ??????? ???? ???????? ??????????, ??????? ????????? ? 41 ????????. ?? ??????? ?????, ??? ???????? ???????? ????? ????? ??????????????? ???? ?????????, ?????????????? ??????? ??????? ? ????????? ??????, ? ????? ?????????? ?????? ???????????? ?????? ??????????, ??????? ????????? ?????? ??????.
??????? 4.2:
? ??????????????????????????????????????1-6690137??????? ??????????? ??????24GB??????? ???????????????? ???? QsNetII ??? ???? ???????.????? ??????????????????????????????? ???????Windows NT????QsNetII??? ??????????Intel Xeon????? ??????????? ? ????82-6058559??????? ???????? ?????2000GB??????? ???????? ????? ??????? ??????. ??? ???????? ???????? ???????.??????? ??????????? ??????24GB????? ??????????????????????????????? ???????Windows NT????cLAN????? ??????????? ? ????83-7414421??????? ???????? ?????512GB??????? ?????????????????????? ???? Gigabit Ethernet ??? ???????, ?? ??????? ????? ???????? ?????????????? ??????.??????? ??????????? ??????24GB????? ??????????????????????????????? ???????Windows NT????Gigabit Ethernet????? ??????????? ? ????84-6694457??????? ???????? ?????512GB??????? ??????? ?????????? ?????????????? ?????. ????????? ??????? ????? ????????? ??????.????? ????????????????????????????? ?????5000???????????? ???????Windows NT????cLAN??? ??????????Intel Xeon??????? ??????????2.4GHz????? ??????????? ? ????87-4999515??????? ???????? ?????20GB??????? ????????? ??????? ???????? ?????. ??? ????????? ?????? ???????.??????? ??????????? ??????24GB????? ??????????????????????????????? ???????Windows NT????cLAN??? ??????????Intel Xeon????? ??????????? ? ????8 ??????? 4.3:
????????
? ??????????????-???? ??????????????? ??????????? ? ??????? ????????????????? ????????????????????? ???????? ???????????? ??????????? ?????????????????? ???????????? ?????1-447564-9893521113758-599772220214-1431480-71211610099302072422173666-344524-1501748-54541276344012994815482-1009930-2865263-226076-477260135482602138165252325798978496-10664041222561675370-172252-10467240676-619839591056219812768232530-6066001171234-2313466214438186140-55903278970-53004479674147362-2395028890088783296384-6305769642642260010162068-3673611247236-6711612-543600-11418013-597960-3540014-33572
?????????? ??????? ??????????? ????????????? ?????????? ? ??????? ???????? ??????.
??????? ?????????????:
h_???=(n-I)/L,
???:
n - ?????????? ??????? ??????????;
L - ?????????? ??????? ??????????? ????????;
I - ?????????? ??????????, ??????????????? ????????? ? ???????? ???????????? ????????.
h_???=(8-5)/2=1,5
h_???>1, ??? ???????? ??????? ???????????.
??????????? ?????????????:
D=1-|H_0 |/H_? ,
???:
|H_0 | - ?????????? ??????????????? ??????? ?? ????????? ????;
H_? - ???????????? ???? ??????????????? ??????? ? ???????? ???????.
D=1-51/7474=0,993
D�1, ??? ??????? ? ??????? ????????????? ???????.
??????????? ???????:
K_new=v(?_(i=1)^n�((p_i-t^(*[1]))/(k_i-1))^2 ,) ??? ? p?_i=1/|T^((1)) | �?_(q=1)^(r^((1) ))�t_i^q ,
???:
n - ?????????? ??????????,
i - ????? ?????????,
|T(1)| - ?????????? ??????? ?????? ? ????????? ????,
q - ????? ???????? ????? ? ????????? ????,
tiq - ???????? i-?? ????????? ? q-?? ??????? ?????,
Ki - ?????????? ???????? i-?? ????????? ? ????????? ????.
K_new=v(�(((65/9-11)/(13-1))^2+((23/9-4)/(4-1))^2+((21/9-4)/(5-1))^2+((84/9-3)/(14-1))^2+((33/9-2)/(7-1))^2@+((40/9-5)/(8-1))^2+((34/9-3)/(6-1))^2+((13/9-1)/(2-1))^2+((18/9-2)/(3-1))^2 )) K_new=0,772
??? ??????? ? ??????? ??????? ??????? ?????????? ???????.
??????????? ???????? ??????????:
W=(3�S(d^2))/(N�(N^2-1)), S(d^2 )=?_(i=1)^N�?[(a_i+�_i )-(N+1)]?^2 ? ?????????? ??????? ??????? ?????????????? ???????? "?????????? ?????". ???????? ???, ?????????? ??????????? ???????? ??????????.
S(d^2 )=149
W=(3�149)/(9�80)=0,7<1
??? ???????? ?????????? ??????? ???????????. ? ??????? ? ??????? ??????? ??????????? ????????.
?? ????????? ?????????????? ?????? ? ?????????, ????? ??????? ????? ? ???, ??? ???????? ??????? ????????, ? ???? ???????? ??????? ??????????.
??????????
? ?????????? ??????????? ??????, ??? ????????? ?????????? ??????? ???? ?????????? ? ?????? ???????? ?????? ?????? ??????????? ?????????? ?????????????? ???????, ? ??????????? ???????? ???????? ?????. ? ???? ????????? ??????? ?????????? ???? ???????????? ?????? ??????????? ??????? ???????? ???????? ?????. ?????? ???????????? ?????? ???????? ?????????? ?????????? ???????? - ???? ???????????? ??????. ??? ???????? ???????????, ??????? ?????????? ??????????? ??????????? ???????? ???????? ?? ???????? ?????????? ???????.
??????????
???????????? ???????? ? ?????????? ???????????? ????? ?? ????? "?????????????? ???????" ??????? ?.?.
?????? - ?????????????? ??????, ?????????? ? ????????? ?????
http://www.connect-portal.info/pr_gb_ethernet%20.html
"AMD" - ???????? ? ??????????
http://www.amd.com/RU/PRODUCTS/Pages/Products.aspx
"Intel" - ????????? ?????????
http://www.intel.ru/content/www/ru/ru/servers/server-products.html
"IBM" - ????????? ????????
http://www-03.ibm.com/systems/ru/
??????? ????????????? "Intel"
http://ark.intel.com/products/series/53495
"Server-Unit" - ????????? ???????????? ?????? ?????? (???????)
http://www.server-unit.ru/
"Team-computers" - ????????????? ???????????? ???????
http://www.team.ru/server/serv_main_business.php
???????????? ??????? "?????????? ???????? ???????? ?????" ?????????? ?.?., ?????????? ?.?. ?????? ?.?. - ?.: ???-?? ???, 2012. - 49 c.
?????????? ?
??????????? ???????
?????????? ?
??????? ????????? ????? ???????????? ??????
library BKO;
{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }
uses
SysUtils,
Classes,
BKOExportUnit in 'BKOExportUnit.pas',
BKOMainForm in 'BKOMainForm.pas' {fmBKOMain},
BKOOptionsForm in 'BKOOptionsForm.pas' {fmBKOOptions},
slClasses in 'units\slClasses.pas',
slConst in 'units\slConst.pas',
slFunction in 'units\slFunction.pas',
slLibs in 'units\slLibs.pas',
slNetTypes in 'units\slNetTypes.pas',
slTypes in 'units\slTypes.pas';
{$R *.res}
exports
GetRateModuleFunc name 'GetRateModuleFunc', //?????????????? ????????? ???????
GetRateModuleForm name 'GetRateModuleForm'; //?????????????? ??????? ????????? ???????
begin
end.
unit BKOMainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, slConst, slClasses, slLibs, StdCtrls, ComCtrls;
type
TfmBKOMain = class(TForm)
lvSolverHipothesis: TListView;
pnLeft: TPanel;
btnAppreciate: TButton;
rgAppreciate: TRadioGroup;
pnBottom: TPanel;
ButtonPanel: TPanel;
btnOK: TButton;
btnCancel: TButton;
Good: TLabel;
Bad: TLabel;
GoodCount: TLabel;
BadCount: TLabel;
ApCount: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure rgAppreciateClick(Sender: TObject);
procedure lvSolverHipothesisClick(Sender: TObject);
procedure btnAppreciateClick(Sender: TObject);
procedure lvSolverHipothesisCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
private
FSolverBase: TSolverBase;
FRateFuncInfo: rRateFuncInfo;
procedure MarkHipothesisForAppreciate;
function AppreciateHipothesis(ASolverBase: TSolverBase): boolean;
function MarkedHipothesisCount: integer;
public
property HipSolverBase: TSolverBase read FSolverBase write FSolverBase;
function GetRateFuncInfo: rRateFuncInfo;
constructor Create(AOwner: TComponent; var ASolverBase: TSolverBase); reintroduce; overload;
end;
implementation
{$R *.dfm}
{ TfmBKOMain }
//??????? ?????? ???????
function TfmBKOMain.AppreciateHipothesis(ASolverBase: TSolverBase): boolean;
var
i,nS,nUS: integer;
proc, freq, nump, nodes, net, os, ram, rom, task : string;
NoBadComb, criter, light, medium, hard : boolean;
begin
with lvSolverHipothesis do begin
Items.BeginUpdate;
//???????? ????? ????????? ???????
FRateFuncInfo.iSuccess:=0;
FRateFuncInfo.iUnSuccess:=0;
//? ???????? ???????????? ? ?????????????
nS:=0; nUS:=0;
try
//???????? ???????? ?????? ???????
for i := 0 to Items.Count - 1 do
if Items[i].Checked then begin
proc := Items[i].SubItems.ValueFromIndex[1]; // ????? ??????????
freq := Items[i].SubItems.ValueFromIndex[2]; //??????? ??????????
nump := Items[i].SubItems.ValueFromIndex[3]; //???-?? ???????????
nodes := Items[i].SubItems.ValueFromIndex[4]; //???-?? ?????
net := Items[i].SubItems.ValueFromIndex[5]; //????
os := Items[i].SubItems.ValueFromIndex[6]; //???????????? ???????
ram := Items[i].SubItems.ValueFromIndex[7]; //??????? ????. ??????
rom := Items[i].SubItems.ValueFromIndex[8]; //??????? ???????? ?????
task := Items[i].SubItems.ValueFromIndex[9]; //????????? ?????
//ShowMessage(task);
//????????? ??????? ??????????? ??????????
if ( (proc = 'Intel Itanium 2') and (freq = '1.7GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '1.8GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '2.0GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '2.2GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '2.4GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '2.6GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '2.66GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '2.8GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '3.06GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '3.2GHz') ) or
( (proc = 'Intel Itanium 2') and (freq = '3.4GHz') ) or
( (proc = 'AMD Opteron') and (freq = '1.2GHz') ) or
( (proc = 'AMD Opteron') and (freq = '1.7GHz') ) or
( (proc = 'AMD Opteron') and (freq = '2.6GHz') ) or
( (proc = 'AMD Opteron') and (freq = '2.66GHz') ) or
( (proc = 'AMD Opteron') and (freq = '2.8GHz') ) or
( (proc = 'AMD Opteron') and (freq = '3.06GHz') ) or
( (proc = 'AMD Opteron') and (freq = '3.2GHz') ) or
( (proc = 'AMD Opteron') and (freq = '3.4GHz') ) or
( (proc = 'AMD Athlon') and (freq = '3.06GHz') ) or
( (proc = 'AMD Athlon') and (freq = '3.2GHz') ) or
( (proc = 'AMD Athlon') and (freq = '3.4GHz') )
then NoBadComb := false //??????????? ?????????? ????
else NoBadComb := true; //??????????? ?????????? ???
//???????? ?? ????????? ????????? ? ?????????????????? ???
if (not(freq = '1.2GHz') and not(freq = '1.3GHz')) and
(not(nump = '1')) and
(not(nodes = '4') and not(nodes = '4000') and not(nodes = '5000')) and
(not(ram = '4GB')) and
(not(rom = '20GB') and not(rom = '2000GB'))
then criter := true
else criter := false;
//???????? ??? ?? ???????????? ??????????????? ?????? ?????
if (task = '??????????????') and
((net = 'Fast Ethernet') or (net = 'Myrinet') or (net = 'SCI') or (net = 'cLAN')) and
((ram = '12GB') or (ram = '24GB') or (ram = '48GB'))
then light := true
else light := false;
//???????? ??? ?? ???????????? ???????????????? ?????? ?????
if (task = '???????????????') and
((net = 'Myrinet') or (net = 'SCI') or (net = 'cLAN') or (net = 'Gigabit Ethernet')) and
((ram = '12GB') or (ram = '24GB') or (ram = '48GB') or (ram = '64GB'))
then medium := true
else medium := false;
//???????? ??? ?? ???????????? ???????????????? ?????? ?????
if (task = '???????????????') and
((net = 'cLAN') or (net = 'Gigabit Ethernet') or (net = 'QsNetII') or (net = 'Infiniband')) and
((ram = '24GB') or (ram = '48GB') or (ram = '64GB') or (ram = '96GB'))
then hard := true
else hard := false;
//???? ???????? ????????????? ??????????? ????????, ?? ??????? ?? ?????????????
if (NoBadComb = true) and (criter = true) and ((light = true) or (medium = true) or (hard = true))
then begin
//? ??????????? ?? ???? ???????? ? ?? ?????? ??? ???????????? ????????
//???????????? ? ?????????????
if (TSolverObject(Items[i].Data).ObjectWeight < 0) then
nUS:=nUS+1
else
nS:=nS+1;
//?????? ????????????
TSolverObject(Items[i].Data).ObjectName := Format('???.????.???#%d.??', [i]);
//??????? ??? ??? ???????? ????? ??????
TSolverObject(Items[i].Data).ObjectClass := ocFact;
//?????? ???????
TSolverObject(Items[i].Data).ObjectType := sotSuccess;
//??????????? ??????? ????????????? ???????
Inc(FRateFuncInfo.iSuccess);
end
//???? ???????? ?? ???????? ?? ??????????, ?? ??????? ?? ?????????????
else begin
//? ??????????? ?? ???? ???????? ? ?? ?????? ??? ???????????? ????????
//???????????? ? ?????????????
if (TSolverObject(Items[i].Data).ObjectWeight < 0) then
nS:=nS+1
else
nUS:=nUS+1;
//?????? ????????????
TSolverObject(Items[i].Data).ObjectName := Format('???.????.???#%d.????', [i]);
//??????? ??? ??? ???????? ????? ??????
TSolverObject(Items[i].Data).ObjectClass := ocFact;
//?????? ?????????
TSolverObject(Items[i].Data).ObjectType := sotUnSuccess;
//??????????? ??????? ????????????? ???????
Inc(FRateFuncInfo.iUnSuccess);
end
end;
finally
Items.EndUpdate;
end;
//????? ????????? ????????????? ? ????????????
Label1.Caption := IntToStr (nS);
Label3.Enabled := true;
Label2.Caption := IntToStr (nUS);
Label4.Enabled := true;
//??????? ????? ????????? ???????
GoodCount.Caption := IntToStr(FRateFuncInfo.iSuccess);
GoodCount.Visible := true;
BadCount.Caption := IntToStr(FRateFuncInfo.iUnSuccess);
BadCount.Visible := true;
//?????????? ???????
ApCount.Enabled := true;
Bad.Enabled := true;
Good.Enabled := true;
end;
Result := True;
end;
{*----------------------------------------------------------------------------
??????????? ??? ???????? ?????
????????? ????????????:
AOwner: TComponent; - ??????-???????? ??? ?????
var ASolverBase: TSolverBase; - ???? ???
----------------------------------------------------------------------------*}
constructor TfmBKOMain.Create(AOwner: TComponent; var ASolverBase: TSolverBase);
var
i, j: integer;
begin
inherited Create(AOwner); //????? ???????????? ? ????????
FSolverBase := ASolverBase;
with FRateFuncInfo do begin //????????? ?????????
iSuccess := 0;
iUnsuccess := 0;
end;
//??????????? ????? ???????
with lvSolverHipothesis, FSolverBase do begin
Items.BeginUpdate;
try
{1. ???????? ?????? ??????????}
for i := 0 to ParamList.Count - 1 do
with Columns.Add do Caption := ParamList.Param[i].ParamName;
{2. ???????? ?????? ???????}
for i := 0 to ObjectList.Count - 1 do
if ObjectList.Objects[i].ObjectClass in [ocHipothesis] then //!!??????????? ?????? ????????!!
with Items.Add do begin
Caption := ObjectList.Objects[i].ObjectName;
{3. ??? ?????? ???????? ???????? ?????? ??????????}
SubItems.Add(FloatToStr(ObjectList.Objects[i].ObjectWeight));
for j := 0 to ParamList.Count - 1 do
SubItems.Add(' '+ParamList.Param[j].ValueByID[ObjectList.Objects[i].ParamById(ParamList.Param[j].ParamID).fValueID]);
Data := pointer(ObjectList.Objects[i]);
end;
Selected := TopItem;
ItemFocused := Selected;
finally
Items.EndUpdate;
end;
end;
rgAppreciateClick(rgAppreciate);
//rgCrit.ItemIndex:=0;
end;
{*----------------------------------------------------------------------------
??????? ???????? ???????(??????? ?????? ??? ???????) ???????????? ???-??
?????????? ?? ?????? ??????? ? lvSolverHipothesis
----------------------------------------------------------------------------*}
function TfmBKOMain.MarkedHipothesisCount: integer;
var
i: integer;
begin
Result := 0;
with lvSolverHipothesis do
for i := 0 to Items.Count - 1 do if Items[i].Checked then Inc(Result);
end;
{*----------------------------------------------------------------------------
????????? ???????? ??? ?????? ? lvSolverHipothesis ? ??????????? ? ??????????
??????? ????
----------------------------------------------------------------------------*}
procedure TfmBKOMain.MarkHipothesisForAppreciate;
var
i: integer;
_maxWeight, _minWeight: Integer;
begin
with lvSolverHipothesis do begin
Items.BeginUpdate;
try
case rgAppreciate.ItemIndex of
0: for i := 0 to Items.Count - 1 do Items[i].Checked := True; //???
1: begin//????-???
_maxWeight := TSolverObject(Items[0].Data).ObjectWeight;
_minWeight := TSolverObject(Items[0].Data).ObjectWeight;
for i := 1 to Items.Count - 1 do begin
if TSolverObject(Items[i].Data).ObjectWeight > _maxWeight then _maxWeight := TSolverObject(Items[i].Data).ObjectWeight;
if TSolverObject(Items[i].Data).ObjectWeight < _minWeight then _minWeight := TSolverObject(Items[i].Data).ObjectWeight;
end;
for i := 1 to Items.Count - 1 do
Items[i].Checked := (TSolverObject(Items[i].Data).ObjectWeight = _minWeight) or (TSolverObject(Items[i].Data).ObjectWeight = _maxWeight);
end;
2: for i := 0 to Items.Count - 1 do Items[i].Checked := False; //?? ??????
end;
finally
Items.EndUpdate;
end;
end;
end;
{*----------------------------------------------------------------------------
?????? ?????? ?? RadioGroup
----------------------------------------------------------------------------*}
procedure TfmBKOMain.rgAppreciateClick(Sender: TObject);
begin
with (Sender as TRadioGroup) do
lvSolverHipothesis.Checkboxes := (ItemIndex = 2);
MarkHipothesisForAppreciate;
btnAppreciate.Enabled := (MarkedHipothesisCount <> 0);
end;
{*----------------------------------------------------------------------------
?????? ?????? ?? ListView
----------------------------------------------------------------------------*}
procedure TfmBKOMain.lvSolverHipothesisClick(Sender: TObject);
begin
with TListView(Sender) do Selected := ItemFocused;
btnAppreciate.Enabled := (MarkedHipothesisCount <> 0);
end;
{*----------------------------------------------------------------------------
?????? ?????? ?? ???????? "???????"
----------------------------------------------------------------------------*}
procedure TfmBKOMain.btnAppreciateClick(Sender: TObject);
begin
AppreciateHipothesis(FSolverBase);
end;
{*----------------------------------------------------------------------------
????????? ??????? ? lvSolverHipothesis ?????? ? ??????????? ? ?????????
???????\?????????\???????
----------------------------------------------------------------------------*}
procedure TfmBKOMain.lvSolverHipothesisCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
_Brush: TBrush;
begin
with (Sender as TListView).Canvas do begin
_Brush := Brush; //????????? ??????? ????????? ?????
try
if Item.Data <> nil then begin //? Data ???????-??????? ???-????? ?????????
with TSolverObject(Item.Data) do
if ObjectClass = ocFact then begin //???? ?? ??? ??? ???????? ??? ???? ?????? ??
case ObjectType of //? ??????????? ?? ???? ???????? ??????
sotSuccess: Brush.Color := _scvSuccessFact;
sotUnsuccess: Brush.Color := _scvUnSuccessFact;
sotIndefinite: Brush.Color := _scvIndefiniteFact;
sotNone: Brush.Color := _scvHipothesis;
end;
FillRect(Item.DisplayRect(drLabel)); //?????????? ???? ????
end;
end;
finally
Brush := _Brush; //??????? ?? ????? ?????
end;
end;
end;
{*----------------------------------------------------------------------------
?????????? ???????? ?????
----------------------------------------------------------------------------*}
function TfmBKOMain.GetRateFuncInfo: rRateFuncInfo;
begin
Result := FRateFuncInfo; //
end;
end.
1
Документ
Категория
Без категории
Просмотров
20
Размер файла
1 418 Кб
Теги
осипов, курсовой, отчет
1/--страниц
Пожаловаться на содержимое документа