ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ iMPE для Π°Π½Π°Π»ΠΈΠ·Π° процСссов взаимодСйствия Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° срСдств — ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ собраниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚ΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡƒΡ‚Π΅ΠΌ размСщСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ МР1 ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠœΠ Π•, ΠΈΠ»ΠΈ автоматичСски ΠΏΡ€ΠΈ установлСнии связи с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠœΠ Π•-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ mpich2mpe. lib), ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ этих Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ Π½Π°ΡΡ‚оящСС… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ iMPE для Π°Π½Π°Π»ΠΈΠ·Π° процСссов взаимодСйствия Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠœΠ Π• содСрТит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² Jumpshot-4 ΠΈ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эти Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π½ΠΈΡ… «Ρ‚рассу» исполнСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ МР1-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Jumpshot-4 позволяСт ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для восприятия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π²ΠΈΠ΄Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Jumpshot-4 — это срСдство для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ трассы ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Врасса — это ΠΆΡƒΡ€Π½Π°Π», содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π΅Π»Π°Π΅Ρ‚ это ΠΎΠ½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ². Π›ΠΎΠ³-Ρ„Π°ΠΉΠ» — это Ρ„Π°ΠΉΠ» трассы ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ событий. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Jumpshot-4, называСтся SLOG2.

Основная Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Jumpshot-4 — ΠΊΠ°Π½Π²Π° с Π΄Π²ΡƒΠΌΡ измСрСниями: ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ откладываСтся врСмя, Π° ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ — процСссы ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; ΠΊΠ°Π½Π²Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π² Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ направлСниях.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, каТдая Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΊΠ°Π½Π²Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎ Π΄Π²ΡƒΠΌ числам — ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ID-Π»ΠΈΠ½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ГрафичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТатся Π² SLOG-2 Ρ„Π°ΠΉΠ»Π΅, Ρ€ΠΈΡΡƒΡŽΡ‚ΡΡ Π½Π° ΠΊΠ°Π½Π²Π΅ этой ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ систСмы. Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: простыС ΠΈ ΡΠΎΡΡ‚Π°Π²Π½Ρ‹Π΅. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ SLOG-2 Ρ„Π°ΠΉΠ»Π°. Π•ΡΡ‚ΡŒ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², основанноС Π½Π° ΠΈΡ… Ρ‚опологичСской структурС.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ SLOG-2 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ: состояниС, стрСлка ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅. БостояниС ΠΈ ΡΡ‚Ρ€Π΅Π»ΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠ°Π½Π²Π΅ — это соотвСтствСнно ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹: ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ID) Π»ΠΈΠ½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ID Π»ΠΈΠ½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для состояния совпадаСт с ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ID (Ρ‚. Π΅. этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ относится ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ процСссу), Π° Π΄Π»Ρ стрСлки Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ID ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ состоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΊΠ°Π½Π²Π΅, Ρ‚. Π΅. ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ линию Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ состояниС — это ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя событиями.

БоставныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° простых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π›ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠœΠ Π• Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Jumpshot содСрТатся Π² Π»ΠΎΠ³Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠœΠ Π• (Multi-Processing Environment). Она содСрТит ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ написаниС, ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ эффСктивности MPI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Рассмотрим структуру этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠœΠ Π•-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ дСлятся Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ.

  • β€’ ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (Parallel X graphics). Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ доступ всСм процСссам ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΌΡƒ Π₯-дисплСю. Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ тСкст, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΊΡ€ΡƒΠ³ΠΈ, Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚. Π΄.
  • β€’ РСгистрация (Logging). Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠœΠ Π• создаСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ процСссС ΠΈ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΡ… Π²ΠΌΠ΅ΡΡ‚Π΅ ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Она Ρ‚Π°ΠΊΠΆΠ΅ автоматичСски ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ рассогласованиС ΠΈ Π΄Ρ€Π΅ΠΉΡ„ часов Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… процСссорах, Ссли систСма Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ часов. Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΆΠ΅Π»Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС события ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ состояния.
  • β€’ ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСкции (Sequential Sections). Иногда сСкция ΠΊΠΎΠ΄Π°, которая выполняСтся Π½Π° Ρ€ΡΠ΄Π΅ процСссов, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ процСссу Π·Π° Ρ€Π°Π· Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² этих процСссов. ΠœΠ Π• ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • β€’ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок (Error Handling). MPI ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ошибок.

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ прСимущСствСнно рассмотрСны срСдства рСгистрации (logging) для Π°Π½Π°Π»ΠΈΠ·Π° эффСктивности ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² рСгистрации производится послС выполнСния вычислСний. БрСдства рСгистрации ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ряд ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Ρ€ΡΠ΄ графичСских срСдств.

ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° срСдств — ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ собраниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚ΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡƒΡ‚Π΅ΠΌ размСщСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ МР1 ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠœΠ Π•, ΠΈΠ»ΠΈ автоматичСски ΠΏΡ€ΠΈ установлСнии связи с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠœΠ Π•-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ mpich2mpe. lib), ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ этих Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ Π½Π°ΡΡ‚оящСС врСмя ΠœΠ Π• ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

  • 1. Tracing Library (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° трассирования) — трассируСт всС MPI-Π²Ρ‹Π·ΠΎΠ²Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² прСдваряСтся строкой, которая содСрТит Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ процСсса Π² MPI COMM WORLD ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅Ρ‚ся Π΄Ρ€ΡƒΠ³ΠΎΠΉ строкой, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ SEND ΠΈ RECIEVE Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count, tag ΠΈ ΠΈΠΌΠ΅Π½Π° процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅.
  • 2. Animation Libraries (анимационная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°) — простая Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π₯-ΠΎΠΊΠ½Π°.
  • 3. Logging Libraries (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° рСгистрации) — самыС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠœΠ Π•. Они Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ базис для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ², допустимых Π² ΠœΠ Π•. Π€ΠΎΡ€ΠΌΠ°Ρ‚ CLOG содСрТит ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ событий с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ALOG большС Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ся ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся для обСспСчСния совмСстимости с Ρ€Π°Π½Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. И Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ являСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ SLOG (для Scalable Logfile), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈΠ· ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ CLOG-Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ прямо ΠΈΠ· Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды MPELOGFORMAT Π² SLOG).

Набор ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠœΠ Π• Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€Ρ‹ Π»ΠΎΠ³Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, clog2slog), ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² (slog_print), ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ срСдств Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ графичСскиС срСдства для прСдставлСния Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΠΎΡ‚вСтствии с ΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ.

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ рСгистрации Logging Libraries. ΠžΡ†Π΅Π½ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния взаимодСйствий Π΄Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставлСниС ΠΎΠ± ΡΡ„фСктивности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Но Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ²Π° Π±Ρ‹Π»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ событий, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Ρ‹Π»ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΡΡ‚Π°Π΄ΠΈΡŽ вычислСния ΠΈ ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ каТдая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ опСрация ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π²ΠΎΡΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π³Ρ€Π°Ρ„ичСской Ρ„ΠΎΡ€ΠΌΠ΅.

Но Π΄Π»Ρ этого сначала Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ событий со ΡΠ²ΡΠ·Π°Π½Π½Ρ‹ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΡΠ»Π΅ окончания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π³Ρ€Π°Ρ„ичСски Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции. Π’Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π½Π΅Π΅ ΡƒΠΆΠ΅ Π½Π°Π·Π²Π°Π½Ρ‹ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΉ всСх срСдств для Π°Π½Π°Π»ΠΈΠ·Π° эффСктивности ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ОпишСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ простыС ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства для создания Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π°. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π° ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями MPI. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π»ΠΎΠ³Ρ„Π°ΠΉΠ»ΠΎΠ² нСзависим ΠΎΡ‚ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания Π»ΠΎΠ³Ρ„Π°ΠΉΠ»ΠΎΠ² ΠœΠ Π• Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π»ΡŽΠ±ΠΎΠΉ MPI-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚раняСтся наряду с ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсиСй MPI.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» рСгистрации, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ MPE Log event. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ MPE_Init_log, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ MPE_Finish_log, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, сохраняСмыС локально ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ процСссС Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ». MPE Stop log ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ, хотя Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. MPE Start log возобновляСт Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ для Ρ‚ΠΈΠΏΠΎΠ² событий; систСма Π½Π΅ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… частных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ°ΠΌ событий. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ свой Π½ΠΎΠΌΠ΅Ρ€, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ MPE_Log_get_event_number. Бобытия Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ°Ρ€Π° событий ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ»Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ состояния. БостояниС опрСдСляСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ MPE_Describe_state, которая описываСт Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² событий. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° MPE_Describe_state Ρ‚Π°ΠΊΠΆΠ΅ добавляСт Π½Π°Π·Π²Π°Π½ΠΈΠ΅ состояния ΠΈ Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚ Π½Π° Π³Ρ€Π°Ρ„ичСском прСдставлСнии. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° MPE Dcscribc cvcnt обСспСчиваСт описаниС события ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ описанных Π²Ρ‹ΡˆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ iMPE для Π°Π½Π°Π»ΠΈΠ·Π° процСссов взаимодСйствия Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π°Π²Ρ‚оматичСски, ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ mpich2mpe. lib (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли ΠΏΡ€ΠΈ написании использовалась рСализация MPICH2, аналогичная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π² MPICH, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, нСизвСстна). Π’ ΡΡ‚ΠΎΠΌ случаС Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° создаСтся Ρ„Π°ΠΉΠ» *.clog2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всю трассу ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, Ссли программист Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ «ΠΊΡƒΡΠΎΠΊ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΠΆΠ΅ просто ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой Π»ΠΎΠ³-Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠœΠ Π• нСпосрСдствСнно Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рассмотрим, ΠΊΠ°ΠΊ это дСлаСтся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π°Π½Π°Π»ΠΎΠ³ «HelloWorld!»), которая ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Ρ€Π°Π½Π³ΠΈ всСх процСссов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ.

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ iMPE для Π°Π½Π°Π»ΠΈΠ·Π° процСссов взаимодСйствия Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ (MPE_Imt_log), послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся Π±Π»ΠΎΠΊ описаний. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ всСго Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MPI — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° систСмы ΠΈ Ρ€Π°Π½Π³Π° процСсса; ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±Π΅.

Для этого сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ события. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ состояниС (Ρ‚. Π΅. функция MPI) — это врСмя ΠΌΠ΅ΠΆΠ΄Ρƒ двумя событиями, Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ события. Для удобства Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ названия событий, относящихся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, Π½Π΅ ΡΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΈΡΡŒ (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… Π½Π°Π·Π²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, eventla ΠΈ eventlb). Ѐункция MPE_Log_get_event_number присваиваСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€.

Π”Π°Π»Π΅Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ состояния: Π² Π΄Π°Π½Π½ΠΎΠΌ случаС состояниС с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «GetSize» располоТСно ΠΌΠ΅ΠΆΠ΄Ρƒ событиями event 1Π° ΠΈ event lb ΠΈ Π½Π° ΠΊΠ°Π½Π²Π΅ Π² Jumpshot-4 Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π‘ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ — Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

РСгистрация начинаСтся ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MPEStartlog. БчитаСтся, Ρ‡Ρ‚ΠΎ события eventXa относятся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ состояния, eventXb — ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ. РСгистрируСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° систСмы (количСства процСссов). Для этого Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вызываСтся функция MPE_Log_event.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, вызываСтся функция MPE_Finish_log, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» logfile. clog2.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ созданный Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Jumpshot-4, Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² logfile. slog2. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠΎΡΡ‚Π°Π² прилоТСния Jumpshot-4.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ