GCC ಗೆ ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯ ಸಮಾನಾಂತರಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುವ ಯೋಜನೆ

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

ಪರೀಕ್ಷೆಗಾಗಿ ತಯಾರಾದ GCC ಯ ಪ್ರತ್ಯೇಕ ಸಮಾನಾಂತರ ಶಾಖೆ, ಇದು ಥ್ರೆಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸಲು "—param=num-threads=N" ಹೊಸ ನಿಯತಾಂಕವನ್ನು ನೀಡುತ್ತದೆ. ಆರಂಭಿಕ ಹಂತದಲ್ಲಿ, ನಾವು ಇಂಟರ್ಪ್ರೊಸೆಡರಲ್ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳ ವರ್ಗಾವಣೆಯನ್ನು ಪ್ರತ್ಯೇಕ ಥ್ರೆಡ್‌ಗಳಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ್ದೇವೆ, ಇವುಗಳನ್ನು ಪ್ರತಿ ಕಾರ್ಯಕ್ಕೆ ಆವರ್ತಕವಾಗಿ ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಸುಲಭವಾಗಿ ಸಮಾನಾಂತರಗೊಳಿಸಬಹುದು. ಪರಸ್ಪರ ಕ್ರಿಯೆಗಳ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಹಾರ್ಡ್‌ವೇರ್-ಸ್ವತಂತ್ರ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳಿಗೆ ಜವಾಬ್ದಾರರಾಗಿರುವ GIMPLE ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಥ್ರೆಡ್‌ಗಳಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ.

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

ಕಾರ್ಯಕ್ಷಮತೆಯ ಬದಲಾವಣೆಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು, gimple-match.c ಫೈಲ್ ಅನ್ನು ಒಟ್ಟುಗೂಡಿಸುವ ಪರೀಕ್ಷಾ ಸೂಟ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ, ಇದು 100 ಸಾವಿರಕ್ಕೂ ಹೆಚ್ಚು ಸಾಲುಗಳ ಕೋಡ್ ಮತ್ತು 1700 ಕಾರ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. 5 ಭೌತಿಕ ಕೋರ್‌ಗಳು ಮತ್ತು 8250 ವರ್ಚುವಲ್ (ಹೈಪರ್‌ಥ್ರೆಡಿಂಗ್) ಹೊಂದಿರುವ Intel Core i4-8U CPU ಹೊಂದಿರುವ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿನ ಪರೀಕ್ಷೆಗಳು 7 ಥ್ರೆಡ್‌ಗಳನ್ನು ಚಲಾಯಿಸುವಾಗ 4 ರಿಂದ 2 ಸೆಕೆಂಡುಗಳವರೆಗೆ ಮತ್ತು 3 ರನ್ ಮಾಡುವಾಗ 4 ಸೆಕೆಂಡುಗಳವರೆಗೆ ಇಂಟ್ರಾ ಪ್ರೊಸೀಜರಲ್ GIMPLE ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದಲ್ಲಿ ಇಳಿಕೆಯನ್ನು ತೋರಿಸಿದೆ. ಎಳೆಗಳು, ಅಂದರೆ. ಪರಿಗಣನೆಯಡಿಯಲ್ಲಿ ಅಸೆಂಬ್ಲಿ ಹಂತದ ವೇಗವನ್ನು ಕ್ರಮವಾಗಿ 1.72 ಮತ್ತು 2.52 ಪಟ್ಟು ಹೆಚ್ಚಿಸಲಾಗಿದೆ. ಹೈಪರ್‌ಥ್ರೆಡಿಂಗ್‌ನೊಂದಿಗೆ ವರ್ಚುವಲ್ ಕೋರ್‌ಗಳನ್ನು ಬಳಸುವುದರಿಂದ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಕಾರಣವಾಗುವುದಿಲ್ಲ ಎಂದು ಪರೀಕ್ಷೆಗಳು ತೋರಿಸಿವೆ.

GCC ಗೆ ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯ ಸಮಾನಾಂತರಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುವ ಯೋಜನೆ

ಒಟ್ಟಾರೆ ನಿರ್ಮಾಣ ಸಮಯವನ್ನು ಸರಿಸುಮಾರು 10% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಮುನ್ಸೂಚನೆಗಳ ಪ್ರಕಾರ, RTL ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಸಮಾನಾಂತರಗೊಳಿಸುವುದರಿಂದ ಹೆಚ್ಚು ಸ್ಪಷ್ಟವಾದ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಏಕೆಂದರೆ ಈ ಹಂತವು ಸಂಕಲನದ ಸಮಯದಲ್ಲಿ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಸರಿಸುಮಾರು RTL ಸಮಾನಾಂತರೀಕರಣದ ನಂತರ, ಒಟ್ಟು ಜೋಡಣೆಯ ಸಮಯವನ್ನು 1.61 ಪಟ್ಟು ಕಡಿಮೆಗೊಳಿಸಲಾಗುತ್ತದೆ. ಇದರ ನಂತರ, ಐಪಿಎ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಸಮಾನಾಂತರಗೊಳಿಸುವ ಮೂಲಕ ನಿರ್ಮಾಣ ಸಮಯವನ್ನು ಮತ್ತೊಂದು 5-10% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

GCC ಗೆ ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯ ಸಮಾನಾಂತರಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುವ ಯೋಜನೆ

ಮೂಲ: opennet.ru

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