int main(int argc, char *argv[]) {
int Taskl[20]; int Task2[50]; int Task3[30]; //...
pvm_spawn (Β«pvm_generic_combinationΒ», NULL, 1,
Β«hostlΒ»,20,Taskl); pvm_spawn (Β«generate_plansΒ», argv, 0, "", 50, Task2) ; pvm_spawn(Β«agent_filtersΒ»,argv++,l, Β«host 3Β»,30,&Task3) ; //.. .
}
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 6.7, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ 100 Π·Π°Π΄Π°Ρ. ΠΠ΅ΡΠ²ΡΠ΅ 20 Π·Π°Π΄Π°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ. Π‘Π»Π΅Π»ΡΡΡΠΈΠ΅ 50 ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΠΏΠ»Π°Π½Ρ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 30 Π·Π°Π΄Π°Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π½Ρ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΏΠ»Π°Π½ΠΎΠ², ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈ ΠΌ ΠΈ 50 Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. Π£ΠΆΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠΈΡΡ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ MPMD ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ SPMD, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ pvm_spawn (), Π±ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΡ, Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌΡΡ PVM-Π·Π°Π΄Π°ΡΠ° ΠΌ, Β«ΠΎΡΠ²Π΅ΡΠ°ΡΡΒ» ΠΏΡΠΎΠ³ΡΠ° ΠΌΠΌ Ρ pvm_generic_combination, generate_plans ΠΈ agent_filters. ΠΡΠ΅ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Ρ ΠΌ ΠΈ Π½Π°Π±ΠΎΡΠ° ΠΌ ΠΈ Π΄Π°Π½Π½ΡΡ , Π½Π΅Ρ ΠΌ ΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΎΠ΄Π½ΠΈ Π½Π°Π±ΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎ ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΡ Π³ ΠΈΡ . ΠΡΠΎ Π³ ΡΠ° ΠΌΠΌ Π° pvm_generic_combination ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ²ΠΎΠΉ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ Π² Π½Π°Π±ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° generate_plans. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° generate_plans, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ Π² Π½Π°Π±ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° agent_filters. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌ ΠΈ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈ ΠΌ ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 6.7 ΡΡΠ½ΠΊΡΠΈΡ pvm_spawn () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ 20 Π·Π°Π΄Π°Ρ pvm_generic_combination Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ hostl. ΠΠ°Π΄Π°ΡΠ° generate_plans Π±ΡΠ»Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° Π½Π° 50 Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ , Π½ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ 50 Π·Π°Π΄Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΏΡΠΈ ΡΡΠΎ ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°ΡΠ³Ρ ΠΌ Π΅Π½Ρ ΠΊΠΎ ΠΌ Π°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎ ΠΌ ΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° argv. ΠΠ°Π΄Π°ΡΠΈ agent_filters ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎ ΠΌ ΠΏΡΡΡΠ΅Ρ (Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ host 3), ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° argv. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ β Π»ΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈ ΠΌΠΎ Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PVM. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ MPMD Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Π΄Ρ PVM ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π° ΡΠΈΡ. 6.5.
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡ Ρ Π΅ΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅Ρ Π½ ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΆΠ΅ Β«ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡΡΡ Π½Π° ΡΡΠ΄ΡΠ±ΡΒ» Π² Π²ΠΈΠ΄Π΅ Β«Π·Π°ΠΊΠ°Π·Π°Β» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΠ°Π°Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠ°Π±ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ° ΡΠΈΡ. 6.5 ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ ΠΌΠ°ΡΡΠΎΠ²ΡΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ (ΠΠ-ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ), Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π ΠΎΡΠ½Π° Ρ Π΅Π½ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ PVM-ΡΡΠ΅Π΄Π° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΠΊΠ°ΠΊ PowerPCs, Spares, Crays ΠΈ Ρ.Π΄. Π ΠΎΠ΄Π½ΠΈΡ ΡΠ»ΡΡΠ°Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π² PVM-ΡΡΠ΅Π΄Π΅, Π° Π² Π΄ΡΡ Π³ ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ pvm_spawn () ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π‘++-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΎΡΠ½Π° Ρ Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, ΡΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡ Ρ ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ pvm_spawn ().
Π ΠΈΡ. 6.5. ΠΠ΅ΠΊΠΎ Ρ ΠΎΡΡΠ΅ Π²Π°ΡΠΈΠ°Π½ Ρ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ MPMD Π΄ΠΎΡ Ρ ΡΠΏΠ½Ρ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄Ρ PVM
Β§ 6.1. ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌ Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π½Π°Π±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌ ΠΌ ΠΈΡΡΠΎΠ² (Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π²ΠΎΡΡΠΌΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ) ΠΈΠ· 24 ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ². Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎ ΠΌ Π°Π½Π΄ ΠΈΠ· Π²ΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ²? ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΡΠΈΠΊΠΈ, Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡ Ρ Π΅ΡΡΠ²ΡΠ΅ Ρ 735 471 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎΡΡΠΎΡ Ρ ΠΈΡ ΠΈΠ· Π²ΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΡ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½Ρ ΠΈΠ· 24 ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ². ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ C(n,r) ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΈΠ· n ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ Π³(ΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎ ΠΌ Π±ΠΈΠ½Π°ΡΠΈΠΉ ΠΈΠ· n ΡΠ»Π΅ ΠΌ Π΅Π½ΡΠΎΠ² ΠΏΠΎ r). Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ C(n,r) Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
6.3. ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅Ρ Π° Π½ ΠΈΠ·ΠΌΡ PVM 233
n\
r\(n-r)\
ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌ Π½ ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ {a,b,C}, ΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ {b,a,c} ΠΈΠ»ΠΈ {c,b,a}. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π½Π΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π½ΠΎΠ² Π² ΡΡΠΎΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅, Π° ΡΠ°ΠΌΠΈ ΡΠ»Π΅Π½Ρ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΡ ΠΠ«, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Ρ ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°, ΡΠ²ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΈ ΠΈΡ Π±Π»ΠΈΠ·ΠΊΠΈΡ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ PVM
Π‘ΡΠ΅Π΄Π° PVM ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²: PVM-Π΄Π΅ΠΌΠΎΠ½Π° (pvmd) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pvmd. ΠΠ΄ΠΈΠ½ PVM-Π΄Π΅ΠΌΠΎΠ½ pvmd Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡΠΎΡ Π΄Π΅ΠΌΠΎΠ½ ΡΠ»ΡΠΆΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ° ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅ΠΌΠΎΠ½ pvmd ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΊΠΎΠΌ PVM-Π·Π°Π΄Π°Ρ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ΅ΠΌΠΎΠ½ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π΄Π΅ΠΌΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ Π΄Π΅ΠΌΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ. Π ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ Π΄Π΅ΠΌΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π΄Π΅ΠΌΠΎΠ½.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° pvmd ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ PVM-Π·Π°Π΄Π°ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ PVM-Π·Π°Π΄Π°ΡΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ pvmd. ΠΠ°Π·ΠΎΠ²Π°Π» Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° PVM-ΡΡΠ΅Π΄Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡ. 6.6.
Π Π£ΠΡΡΠ΅Π΄Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ PVM-Π·Π°Π΄Π°Ρ. ΠΠ°ΠΆΠ΄Π°Π» Π·Π°Π΄Π°ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΡΠ΅ΡΠΎΠ² ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ, Π½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΡΡΠ΅Ρ (ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ). ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΈΠΌΠ΅Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ Π±ΡΡΠ΅Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ (ΡΠΌ. ΡΠΈΡ. 6.6) Π½Π° ΡΠΎ, ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ PVM-Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π’Π‘Π -ΡΠΎΠΊΠ΅ΡΠΎΠ². Π€ΡΠ½ΠΊΡΠΈΠΈ pvm_send () Π΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠΊΠ΅ΡΠ°ΠΌ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ. ΠΡΠΎΡΡΠ°ΠΌΠΌΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π’Π‘Π ΡΡΠΊΠ΅ΡΠΎΠ² Π½Π°ΠΏΡΡΠΌΡΡ. ΠΠ° ΡΠΈΡ. 6.6 ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ PVM-Π·Π°Π΄Π°Ρ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ pvmd Ρ ΠΏΠΎΠΌΠΎ Ρ ΡΡ TCP-ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΌΠΈΠΌΠΈ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎ Ρ ΡΡ UDP-ΡΠΎΠΊΠ΅ΡΠΎΠ². Π ΡΠ½ΠΎΠ²Π°-ΡΠ°ΠΊΠΈ, ΠΎΠ±ΡΠ° Ρ Π΅Π½ΠΈΡ ΠΊ ΡΠΎΠΊΠ΅ΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ PVM-ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΎΠ³ΡΠ° ΠΌΠΌ ΠΈΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. PVM-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΠ΅ΡΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
β’Β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ;
β’Β ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠ°;
β’Β ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅;
β’Β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡ Ρ Π΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΡ Π³ ΠΈΡ ΠΊΠ°ΡΠ΅ Π³ ΠΎΡΠΈΠΉ Π Π£ΠΡ^ΡΠ½ΠΊΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠΎΡ ΠΌ Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ), ΡΠ΅ΠΊΠΎ ΠΌ Π΅Π½Π»ΡΠ΅ ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ± Ρ Π΅Π½ΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΡ Π³ ΠΈΠ΅ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ»ΡΡ ΡΠ°ΡΡ ΠΌ ΠΎΡΡΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ° ΠΌΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
Π ΠΈΡ. 6.6. ΠΠ°Π·ΠΎΠ²Π°Ρ Π°ΡΡ ΠΈ Ρ Π΅ΠΊ Ρ ΡΡΠ° PVM-ΡΡΠ΅Π΄Ρ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° PVM ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ ΠΌ ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π€ΡΠ½ΠΊΡΠΈΡ pvm_spawn () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ PVM-Π·Π°Π΄Π°Ρ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌ ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ ΠΌ ΡΡ Π·Π°Π΄Π°Ρ, ΠΌ Π΅ΡΡΠΎ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π°ΡΠ³Ρ ΠΌ Π΅Π½ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ ΠΌ ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, Π½Π°ΠΏΡΠΈ ΠΌ Π΅Ρ: