ಪ್ರೊಹೋಸ್ಟರ್ > Блог > ಆಡಳಿತ > ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಮೆಮೊರಿ ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲಿ ಕಂಪ್ರೆಷನ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಮೆಮೊರಿ ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲಿ ಕಂಪ್ರೆಷನ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
MIT ಯ ಇಂಜಿನಿಯರ್ಗಳ ತಂಡವು ಡೇಟಾದೊಂದಿಗೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಮೆಮೊರಿ ಶ್ರೇಣಿಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ. ಅದನ್ನು ಹೇಗೆ ಜೋಡಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಲೇಖನದಲ್ಲಿ ನಾವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ.
/ Px ಇಲ್ಲಿ /ಪಿಡಿ
ನಿಮಗೆ ತಿಳಿದಿರುವಂತೆ, ಆಧುನಿಕ CPU ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯ ಬೆಳವಣಿಗೆಯು ಮೆಮೊರಿಯನ್ನು ಪ್ರವೇಶಿಸುವಾಗ ಸುಪ್ತತೆಯಲ್ಲಿ ಅನುಗುಣವಾದ ಇಳಿಕೆಯೊಂದಿಗೆ ಇರುವುದಿಲ್ಲ. ವರ್ಷದಿಂದ ವರ್ಷಕ್ಕೆ ಸೂಚಕಗಳಲ್ಲಿನ ಬದಲಾವಣೆಯ ವ್ಯತ್ಯಾಸವು 10 ಪಟ್ಟು ತಲುಪಬಹುದು (PDF, ಪುಟ 3) ಪರಿಣಾಮವಾಗಿ, ಒಂದು ಅಡಚಣೆಯು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಇದು ಲಭ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳ ಸಂಪೂರ್ಣ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ ಮತ್ತು ಡೇಟಾ ಸಂಸ್ಕರಣೆಯನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ.
ಕಾರ್ಯಕ್ಷಮತೆಯ ದಂಡವು ಡಿಕಂಪ್ರೆಷನ್ ವಿಳಂಬ ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಪ್ರಿಪರೇಟರಿ ಡೇಟಾ ಡಿಕಂಪ್ರೆಷನ್ 64 ಪ್ರೊಸೆಸರ್ ಚಕ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು.
ಹೋಲಿಕೆಗಾಗಿ: ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆಗಳ ಸೇರ್ಪಡೆ ಮತ್ತು ಗುಣಾಕಾರ ಆಕ್ರಮಿಸು ಹತ್ತು ಚಕ್ರಗಳಿಗಿಂತ ಹೆಚ್ಚಿಲ್ಲ. ಸಮಸ್ಯೆಯೆಂದರೆ ಮೆಮೊರಿಯು ಸ್ಥಿರ ಗಾತ್ರದ ಡೇಟಾ ಬ್ಲಾಕ್ಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಅಪ್ಲಿಕೇಶನ್ಗಳು ವಿವಿಧ ರೀತಿಯ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುವ ಮತ್ತು ಗಾತ್ರದಲ್ಲಿ ಪರಸ್ಪರ ಭಿನ್ನವಾಗಿರುವ ವಸ್ತುಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, MIT ಎಂಜಿನಿಯರ್ಗಳು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಮೆಮೊರಿ ಶ್ರೇಣಿಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು ಅದು ಡೇಟಾ ಸಂಸ್ಕರಣೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ.
ತಂತ್ರಜ್ಞಾನವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ಪರಿಹಾರವು ಮೂರು ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಆಧರಿಸಿದೆ: Hotpads, Zippads ಮತ್ತು COCO ಕಂಪ್ರೆಷನ್ ಅಲ್ಗಾರಿದಮ್.
ಹಾಟ್ಪ್ಯಾಡ್ಗಳು ಸ್ಕ್ರ್ಯಾಚ್ಪ್ಯಾಡ್ ರಿಜಿಸ್ಟರ್ ಮೆಮೊರಿಯ ಸಾಫ್ಟ್ವೇರ್-ಚಾಲಿತ ಶ್ರೇಣಿಯಾಗಿದೆ (ಸ್ಕ್ರಾಚ್ಪ್ಯಾಡ್) ಈ ರೆಜಿಸ್ಟರ್ಗಳನ್ನು ಪ್ಯಾಡ್ಗಳು (ಪ್ಯಾಡ್ಗಳು) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಮೂರು ಇವೆ - L1 ರಿಂದ L3 ವರೆಗೆ. ಅವರು ವಿವಿಧ ಗಾತ್ರದ ವಸ್ತುಗಳು, ಮೆಟಾಡೇಟಾ ಮತ್ತು ಪಾಯಿಂಟರ್ಗಳ ಸರಣಿಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತಾರೆ.
ಮೂಲಭೂತವಾಗಿ, ವಾಸ್ತುಶಿಲ್ಪವು ಸಂಗ್ರಹ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ, ಆದರೆ ವಸ್ತುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ತೀಕ್ಷ್ಣವಾಗಿದೆ. ವಸ್ತುವು ಇರುವ ಪ್ಯಾಡ್ನ ಮಟ್ಟವು ಅದನ್ನು ಎಷ್ಟು ಬಾರಿ ಬಳಸುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ಒಂದು ಹಂತವು "ಉಕ್ಕಿ ಹರಿದರೆ", ವ್ಯವಸ್ಥೆಯು ಜಾವಾ ಅಥವಾ ಗೋದಲ್ಲಿನ "ಕಸ ಸಂಗ್ರಹಕಾರರ" ರೀತಿಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ. ಯಾವ ವಸ್ತುಗಳನ್ನು ಇತರರಿಗಿಂತ ಕಡಿಮೆ ಬಾರಿ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ವಿಶ್ಲೇಷಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹಂತಗಳ ನಡುವೆ ಚಲಿಸುತ್ತದೆ.
ಜಿಪ್ಪ್ಯಾಡ್ಗಳು ಹಾಟ್ಪ್ಯಾಡ್ಗಳ ಆಧಾರದ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ - ಆರ್ಕೈವ್ಗಳು ಮತ್ತು ಶ್ರೇಣಿಯ ಕೊನೆಯ ಎರಡು ಹಂತಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಅಥವಾ ಬಿಡುವ ಡೇಟಾವನ್ನು ಅನ್ಜಿಪ್ ಮಾಡುತ್ತದೆ - L3 ಪ್ಯಾಡ್ ಮತ್ತು ಮುಖ್ಯ ಮೆಮೊರಿ. ಮೊದಲ ಮತ್ತು ಎರಡನೇ ಪ್ಯಾಡ್ಗಳಲ್ಲಿ, ಡೇಟಾವನ್ನು ಬದಲಾಗದೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.
Zippads 128 ಬೈಟ್ಗಳವರೆಗೆ ವಸ್ತುಗಳನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ. ದೊಡ್ಡ ವಸ್ತುಗಳನ್ನು ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ, ನಂತರ ಅವುಗಳನ್ನು ಮೆಮೊರಿಯ ವಿವಿಧ ಪ್ರದೇಶಗಳಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ. ಅಭಿವರ್ಧಕರು ಬರೆಯುವಂತೆ, ಈ ವಿಧಾನವು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಿದ ಮೆಮೊರಿಯ ಗುಣಾಂಕವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
ವಸ್ತುಗಳನ್ನು ಸಂಕುಚಿತಗೊಳಿಸಲು, COCO (ಕ್ರಾಸ್-ಆಬ್ಜೆಕ್ಟ್ ಕಂಪ್ರೆಷನ್) ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದನ್ನು ನಾವು ನಂತರ ಚರ್ಚಿಸುತ್ತೇವೆ, ಆದರೂ ಸಿಸ್ಟಮ್ ಕೆಲಸ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಬೇಸ್-ಡೆಲ್ಟಾ-ತಕ್ಷಣ ಅಥವಾ FPC. COCO ಅಲ್ಗಾರಿದಮ್ ಡಿಫರೆನ್ಷಿಯಲ್ ಕಂಪ್ರೆಷನ್ನ ಬದಲಾವಣೆಯಾಗಿದೆ (ಭೇದಾತ್ಮಕ ಸಂಕೋಚನ) ಇದು ವಸ್ತುಗಳನ್ನು "ಬೇಸ್" ಗೆ ಹೋಲಿಸುತ್ತದೆ ಮತ್ತು ನಕಲಿ ಬಿಟ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ - ಕೆಳಗಿನ ರೇಖಾಚಿತ್ರವನ್ನು ನೋಡಿ:
MIT ಇಂಜಿನಿಯರ್ಗಳ ಪ್ರಕಾರ, ಅವರ ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಮೆಮೊರಿ ಕ್ರಮಾನುಗತವು ಶಾಸ್ತ್ರೀಯ ವಿಧಾನಗಳಿಗಿಂತ 17% ವೇಗವಾಗಿರುತ್ತದೆ. ಆಧುನಿಕ ಅನ್ವಯಗಳ ವಾಸ್ತುಶಿಲ್ಪಕ್ಕೆ ಅದರ ರಚನೆಯಲ್ಲಿ ಇದು ಹೆಚ್ಚು ಹತ್ತಿರದಲ್ಲಿದೆ, ಆದ್ದರಿಂದ ಹೊಸ ವಿಧಾನವು ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ.
ಮೊದಲನೆಯದಾಗಿ, ದೊಡ್ಡ ಡೇಟಾ ಮತ್ತು ಯಂತ್ರ ಕಲಿಕೆ ಅಲ್ಗಾರಿದಮ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಕಂಪನಿಗಳು ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ. ಮತ್ತೊಂದು ಸಂಭಾವ್ಯ ದಿಕ್ಕು ಕ್ಲೌಡ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳು. IaaS ಪೂರೈಕೆದಾರರು ವರ್ಚುವಲೈಸೇಶನ್, ಶೇಖರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಕಂಪ್ಯೂಟಿಂಗ್ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.