ಫೇಸ್ಬುಕ್ F14 ಹ್ಯಾಶ್ ಕೋಷ್ಟಕಗಳ ಅನುಷ್ಠಾನವನ್ನು ತೆರೆಯುತ್ತದೆ

ಫೇಸ್ಬುಕ್ ಕಂಪನಿ ಘೋಷಿಸಲಾಗಿದೆ ಹ್ಯಾಶ್ ಟೇಬಲ್‌ಗಳ ಓಪನ್ ಸೋರ್ಸ್ ಅನುಷ್ಠಾನದ ಬಗ್ಗೆ F14, ಸಮರ್ಥ ಮೆಮೊರಿ ಬಳಕೆಗಾಗಿ ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ. F14 ಅನ್ನು Facebook ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ಹೆಚ್ಚಿನ ರೀತಿಯ ಹ್ಯಾಶ್ ಟೇಬಲ್‌ಗಳಿಗೆ ಬದಲಿಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ತ್ಯಾಗ ಮಾಡದೆ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು. F14 ಗಮನಾರ್ಹವಾಗಿ google::sparse_hash_map ಹ್ಯಾಶ್ ಕೋಷ್ಟಕಗಳನ್ನು ಮೀರಿಸುತ್ತದೆ, ಇದುವರೆಗೆ ಮೆಮೊರಿ ಬಳಕೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿ ಎಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು C++ ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಲೈಬ್ರರಿಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ ಫಾಲಿ.

F14 14 ನೊಂದಿಗೆ ಡಬಲ್ ಹ್ಯಾಶಿಂಗ್ ಅನ್ನು ಆಧರಿಸಿ ಘರ್ಷಣೆ ರೆಸಲ್ಯೂಶನ್ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮಾದರಿಗಳ ಅನುಕ್ರಮಗಳು (14 ಸ್ಲಾಟ್‌ಗಳ ಸರಪಳಿಯನ್ನು ಒಂದು ಹ್ಯಾಶ್ ಟೇಬಲ್ ಕೋಶದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕೋಶಗಳ ನಡುವಿನ ಮಧ್ಯಂತರವನ್ನು ಸಹಾಯಕ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ). ಸೆಲ್ ಫಿಲ್ಟರಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ವೇಗಗೊಳಿಸಲು, ಅನುಷ್ಠಾನವು x2_86 ಸಿಸ್ಟಮ್‌ಗಳಿಗಾಗಿ SSE64 ವೆಕ್ಟರ್ ಸೂಚನೆಗಳನ್ನು ಮತ್ತು Aarch64 ಗಾಗಿ NEON ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಕೀ ಚೈನ್‌ಗಳೊಂದಿಗೆ ಸ್ಲಾಟ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಮತ್ತು ಸರಪಳಿಯೊಳಗಿನ ಕೀಗಳನ್ನು ಬೇರ್ಪಡಿಸಲು ಕಾರ್ಯಾಚರಣೆಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಅನುಮತಿಸುತ್ತದೆ. 14 ಸ್ಲಾಟ್‌ಗಳ ಬ್ಲಾಕ್‌ಗಳನ್ನು ಒಂದು ಸಮಯದಲ್ಲಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ, ಇದು ಪ್ರೊಸೆಸರ್ ಸಂಗ್ರಹವನ್ನು ಬಳಸುವ ದಕ್ಷತೆ ಮತ್ತು ಘರ್ಷಣೆಗಳ ಸಂಖ್ಯೆಯ ನಡುವಿನ ಅತ್ಯುತ್ತಮ ಸಮತೋಲನವಾಗಿದೆ.

F14 ನ ವಿಶೇಷ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ವಿಭಿನ್ನ ಡೇಟಾ ಸಂಗ್ರಹಣಾ ತಂತ್ರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ:

  • F14NodeMap - ದೊಡ್ಡ ಮತ್ತು ಮಧ್ಯಮ ಗಾತ್ರದ ಕೀಗಳಿಗೆ ಕನಿಷ್ಠ ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಪ್ರತಿ ಅಳವಡಿಕೆಯಲ್ಲಿ malloc ಗೆ ಕರೆಯೊಂದಿಗೆ ಪರೋಕ್ಷವಾಗಿ ಅಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ;
  • F14ValueMap - ಸಣ್ಣ ಕೀಲಿಗಳಿಗೆ ಕನಿಷ್ಠ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅಂಶಗಳನ್ನು ಜೀವಕೋಶಗಳಲ್ಲಿಯೇ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ (ಇನ್ಲೈನ್). ಮಧ್ಯಮ ಮತ್ತು ದೊಡ್ಡ ಕೀಲಿಗಳಿಗಾಗಿ, ಈ ವಿಧಾನವು ಗಮನಾರ್ಹವಾದ ಮೆಮೊರಿ ಓವರ್ಹೆಡ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ;
  • F14VectorMap - ದೊಡ್ಡ ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಸಂಕೀರ್ಣ ಕೀಗಳಿಗೆ ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಸರಳ ಕೀಗಳು ಮತ್ತು ಸಣ್ಣ ಕೋಷ್ಟಕಗಳಿಗೆ ನಿಧಾನವಾಗಿರುತ್ತದೆ. ಅಂಶಗಳನ್ನು ನಿರಂತರವಾಗಿ ಜನಸಂಖ್ಯೆಯ ರಚನೆಯಲ್ಲಿ ಪ್ಯಾಕ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು 32-ಬಿಟ್ ಸೂಚ್ಯಂಕ ಪಾಯಿಂಟರ್ ಮೂಲಕ ಸಂಬೋಧಿಸಲಾಗುತ್ತದೆ;
  • F14FastMap ಒಂದು ಸಂಯೋಜಿತ ತಂತ್ರವಾಗಿದೆ. ಕೀಲಿಯು 24 ಬೈಟ್‌ಗಳಿಗಿಂತ ಕಡಿಮೆಯಿದ್ದರೆ, ನಂತರ F14ValueMap ಅನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚು ಇದ್ದರೆ, F14VectorMap ಅನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.

ಫೇಸ್ಬುಕ್ F14 ಹ್ಯಾಶ್ ಕೋಷ್ಟಕಗಳ ಅನುಷ್ಠಾನವನ್ನು ತೆರೆಯುತ್ತದೆ

ಮೂಲ: opennet.ru

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