ಫೇಸ್ಬುಕ್ ಹರ್ಮಿಟ್ ಅನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ, ಪುನರಾವರ್ತಿತ ಪ್ರೋಗ್ರಾಂ ಎಕ್ಸಿಕ್ಯೂಶನ್ಗಾಗಿ ಟೂಲ್ಕಿಟ್

ಫೇಸ್‌ಬುಕ್ (ರಷ್ಯನ್ ಒಕ್ಕೂಟದಲ್ಲಿ ನಿಷೇಧಿಸಲಾಗಿದೆ) ಹರ್ಮಿಟ್ ಟೂಲ್‌ಕಿಟ್‌ಗಾಗಿ ಕೋಡ್ ಅನ್ನು ಪ್ರಕಟಿಸಿತು, ಇದು ಕಾರ್ಯಕ್ರಮಗಳ ನಿರ್ಣಾಯಕ ಕಾರ್ಯಗತಗೊಳಿಸಲು ವಾತಾವರಣವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ, ವಿಭಿನ್ನ ರನ್‌ಗಳಿಗೆ ಒಂದೇ ಫಲಿತಾಂಶವನ್ನು ಸಾಧಿಸಲು ಮತ್ತು ಅದೇ ಇನ್‌ಪುಟ್ ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡು ಪುನರಾವರ್ತನೆ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು BSD ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ.

ಸಾಮಾನ್ಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ, ಫಲಿತಾಂಶವು ಪ್ರಸ್ತುತ ಸಮಯ, ಥ್ರೆಡ್ ಶೆಡ್ಯೂಲಿಂಗ್, ವರ್ಚುವಲ್ ಮೆಮೊರಿ ವಿಳಾಸಗಳು, ಸೂಡೊರಾಂಡಮ್ ಸಂಖ್ಯೆ ಜನರೇಟರ್‌ನಿಂದ ಡೇಟಾ ಮತ್ತು ವಿವಿಧ ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆಗಳಂತಹ ವಿವಿಧ ಬಾಹ್ಯ ಅಂಶಗಳಿಂದ ಪ್ರಭಾವಿತವಾಗಿರುತ್ತದೆ. ಕಂಟೇನರ್‌ನಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಚಲಾಯಿಸಲು ಹರ್ಮಿಟ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಈ ಅಂಶಗಳು ನಂತರದ ರನ್‌ಗಳಲ್ಲಿ ಸ್ಥಿರವಾಗಿರುತ್ತವೆ. ಪರಿಸರದ ನಿರಂತರವಲ್ಲದ ನಿಯತಾಂಕಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪುನರುತ್ಪಾದಿಸುವ ಪುನರಾವರ್ತಿತ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ, ದೋಷ ರೋಗನಿರ್ಣಯ, ಪುನರಾವರ್ತಿತ ರನ್‌ಗಳೊಂದಿಗೆ ಬಹು-ಹಂತದ ಡೀಬಗ್ ಮಾಡುವುದು, ಹಿಂಜರಿತ ಪರೀಕ್ಷೆಗಳಿಗೆ ಸ್ಥಿರ ವಾತಾವರಣವನ್ನು ಸೃಷ್ಟಿಸುವುದು, ಒತ್ತಡ ಪರೀಕ್ಷೆ, ಮಲ್ಟಿಥ್ರೆಡಿಂಗ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸುವುದು ಮತ್ತು ಪುನರಾವರ್ತಿತ ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಬಳಸಬಹುದು. .

ಫೇಸ್ಬುಕ್ ಹರ್ಮಿಟ್ ಅನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ, ಪುನರಾವರ್ತಿತ ಪ್ರೋಗ್ರಾಂ ಎಕ್ಸಿಕ್ಯೂಶನ್ಗಾಗಿ ಟೂಲ್ಕಿಟ್

ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸುವ ಮೂಲಕ ಪುನರುತ್ಪಾದಿಸಬಹುದಾದ ಪರಿಸರವನ್ನು ರಚಿಸಲಾಗಿದೆ, ಅವುಗಳಲ್ಲಿ ಕೆಲವು ಶಾಶ್ವತ ಫಲಿತಾಂಶವನ್ನು ನೀಡುವ ತಮ್ಮದೇ ಆದ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಿಂದ ಬದಲಾಯಿಸಲ್ಪಡುತ್ತವೆ ಮತ್ತು ಕೆಲವು ಕರ್ನಲ್‌ಗೆ ಮರುನಿರ್ದೇಶಿಸಲ್ಪಡುತ್ತವೆ, ನಂತರ ಫಲಿತಾಂಶವು ನಿರಂತರವಲ್ಲದ ಡೇಟಾದಿಂದ ತೆರವುಗೊಳಿಸಲ್ಪಡುತ್ತದೆ. ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸಲು, ರೆವೆರಿ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಅದರ ಕೋಡ್ ಅನ್ನು ಫೇಸ್‌ಬುಕ್ ಸಹ ಪ್ರಕಟಿಸುತ್ತದೆ. ಫೈಲ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ವಿನಂತಿಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪ್ರಗತಿಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದಂತೆ ತಡೆಯಲು, ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಸ್ಥಿರ ಎಫ್‌ಎಸ್ ಇಮೇಜ್ ಬಳಸಿ ಮತ್ತು ಬಾಹ್ಯ ನೆಟ್‌ವರ್ಕ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್ ಅನ್ನು ಪ್ರವೇಶಿಸುವಾಗ, ಹರ್ಮಿಟ್ ಪೂರ್ವನಿರ್ಧರಿತ ಅನುಕ್ರಮವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಅದು ಪ್ರತಿ ಬಾರಿ ಅದನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ.

ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪ್ರಗತಿಯ ಮೇಲೆ ಅತ್ಯಂತ ಸಂಕೀರ್ಣವಾದ ವೇರಿಯಬಲ್ ಪ್ರಭಾವವೆಂದರೆ ಥ್ರೆಡ್ ಶೆಡ್ಯೂಲರ್, ಇದರ ನಡವಳಿಕೆಯು ಅನೇಕ ಬಾಹ್ಯ ಅಂಶಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ CPU ಕೋರ್‌ಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಇತರ ಎಕ್ಸಿಕ್ಯೂಟಿಂಗ್ ಥ್ರೆಡ್‌ಗಳ ಉಪಸ್ಥಿತಿ. ಶೆಡ್ಯೂಲರ್‌ನ ಪುನರಾವರ್ತನೀಯ ನಡವಳಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಎಲ್ಲಾ ಥ್ರೆಡ್‌ಗಳನ್ನು ಒಂದೇ CPU ಕೋರ್‌ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಸರಣಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಥ್ರೆಡ್‌ಗಳಿಗೆ ನಿಯಂತ್ರಣವನ್ನು ವರ್ಗಾಯಿಸುವ ಕ್ರಮವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಪ್ರತಿ ಥ್ರೆಡ್‌ಗೆ ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಸೂಚನೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸಲಾಗಿದೆ, ಅದರ ನಂತರ ಮರಣದಂಡನೆ ನಿಲ್ಲುತ್ತದೆ ಮತ್ತು ಇನ್ನೊಂದು ಥ್ರೆಡ್‌ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ (ಸಿಪಿಯು PMU (ಕಾರ್ಯನಿರ್ವಹಣೆ ಮಾನಿಟರಿಂಗ್ ಯುನಿಟ್) ಅನ್ನು ಮಿತಿಗೊಳಿಸಲು, ಇದು ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಷರತ್ತುಬದ್ಧ ಶಾಖೆಗಳ ನಂತರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ).

ಓಟದ ಪರಿಸ್ಥಿತಿಗಳಿಂದಾಗಿ ಥ್ರೆಡ್‌ಗಳೊಂದಿಗಿನ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು, ಹರ್ಮಿಟ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಗುರುತಿಸುವ ವಿಧಾನವನ್ನು ಹೊಂದಿದ್ದು, ಅವರ ಮರಣದಂಡನೆಯ ಕ್ರಮವು ಕ್ರಮಬದ್ಧವಾಗಿಲ್ಲ ಮತ್ತು ಅಸಹಜ ಸ್ಥಗಿತಕ್ಕೆ ಕಾರಣವಾಯಿತು. ಅಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸಲು, ಸರಿಯಾದ ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು ಮರಣದಂಡನೆಯ ಅಸಹಜ ಮುಕ್ತಾಯವನ್ನು ದಾಖಲಿಸಿದ ರಾಜ್ಯಗಳ ಹೋಲಿಕೆಯನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ