Distributed lock manager
ಸಂಪನ್ಮೂಲಗಳ ಪ್ರವೇಶವನ್ನು ಸಂಘಟಿಸಲು ಮತ್ತು ಕ್ರಮಬದ್ಧಗೊಳಿಸಲು ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಲಾಕ್ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಬಳಸುತ್ತವೆ. ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಲಾಕ್ ಮ್ಯಾನೇಜರ್ (ಡಿಎಲ್ಎಂ) ಕ್ಲಸ್ಟರ್ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಯಂತ್ರದಲ್ಲೂ ಕ್ಲಸ್ಟರ್-ವೈಡ್ ಲಾಕ್ ಡೇಟಾಬೇಸ್ನ ಒಂದೇ ರೀತಿಯ ನಕಲನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಈ ರೀತಿಯಲ್ಲಿ ಡಿಎಲ್ಎಂ ಸಾಫ್ಟ್ವೇರ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅವುಗಳನ್ನು ಹಂಚಿದ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ತಮ್ಮ ಪ್ರವೇಶವನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುವ ವಿಧಾನದೊಂದಿಗೆ ಅನೇಕ ಯಂತ್ರಗಳಲ್ಲಿ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಡಿಎಲ್ಎಂಗಳನ್ನು ಹಲವಾರು ಯಶಸ್ವಿ ಕ್ಲಸ್ಟರ್ಡ್ ಕಡತ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಅಡಿಪಾಯವಾಗಿ ಬಳಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿರುವ ಯಂತ್ರಗಳು ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಲಭ್ಯತೆಗೆ ಗಮನಾರ್ಹ ಪ್ರಯೋಜನಗಳೊಂದಿಗೆ ಏಕೀಕೃತ ಕಡತ ವ್ಯವಸ್ಥೆಯ ಮೂಲಕ ಪರಸ್ಪರರ ಸಂಗ್ರಹಣೆಯನ್ನು ಬಳಸಬಹುದು. ಭಾಗವಹಿಸುವ ಕಂಪ್ಯೂಟರ್ಗಳ ನಡುವೆ ಡಿಸ್ಕ್ ಕ್ಯಾಶ್ ಕೊಹೆರೆನ್ಸಿಯ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವುದರಿಂದ ಮುಖ್ಯ ಕಾರ್ಯಕ್ಷಮತೆಯ ಪ್ರಯೋಜನವು ಬರುತ್ತದೆ. ಡಿಎಲ್ಎಂ ಅನ್ನು ಫೈಲ್ ಲಾಕಿಂಗ್ಗೆ ಮಾತ್ರವಲ್ಲದೆ ಎಲ್ಲಾ ಡಿಸ್ಕ್ ಪ್ರವೇಶದ ಸಮನ್ವಯಕ್ಕೂ ಬಳಸಲಾಗುತ್ತದೆ. ವ್ಯಾಪಕ ಬಳಕೆಗೆ ಬಂದ ಮೊದಲ ಕ್ಲಸ್ಟರಿಂಗ್ ವ್ಯವಸ್ಥೆಯಾದ ವಿಎಂಎಸ್ಕ್ಲಸ್ಟರ್, ಈ ರೀತಿಯಲ್ಲಿ ಓಪನ್ವಿಎಂಎಸ್ ಡಿಎಲ್ಎಂ ಅನ್ನು ಅವಲಂಬಿಸಿದೆ. ಸಂಪನ್ಮೂಲಗಳು ಡಿಎಲ್ಎಂ ಸಂಪನ್ಮೂಲದ ಸಾಮಾನ್ಯೀಕೃತ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಹಂಚಿಕೆಯ ಪ್ರವೇಶವನ್ನು ನಿಯಂತ್ರಿಸಬೇಕಾದ ಕೆಲವು ಘಟಕವಾಗಿದೆ. ಇದು ಫೈಲ್, ರೆಕಾರ್ಡ್, ಶೇರ್ಡ್ ಮೆಮೊರಿಯ ಪ್ರದೇಶ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ಡಿಸೈನರ್ ಆಯ್ಕೆ ಮಾಡುವ ಬೇರೆ ಯಾವುದಕ್ಕೂ ಸಂಬಂಧಿಸಿರಬಹುದು. ಸಂಪನ್ಮೂಲಗಳ ಶ್ರೇಣಿಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು, ಇದರಿಂದಾಗಿ ಹಲವಾರು ಹಂತದ ಲಾಕಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಒಂದು ಕಾಲ್ಪನಿಕ ದತ್ತಸಂಚಯವು ಸಂಪನ್ಮೂಲ ಶ್ರೇಣಿವ್ಯವಸ್ಥೆಯನ್ನು ಈ ಕೆಳಗಿನಂತೆ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದುಃ ಡೇಟಾಬೇಸ್ ಟೇಬಲ್ ರೆಕಾರ್ಡ್ ಫೀಲ್ಡ್ ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ನಂತರ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಒಟ್ಟಾರೆಯಾಗಿ ಮತ್ತು ನಂತರ ಡೇಟಾಬೇಸ್ನ ನಿರ್ದಿಷ್ಟ ಭಾಗಗಳಲ್ಲಿ ಲಾಕ್ಗಳನ್ನು ಪಡೆಯಬಹುದು. ಅಧೀನ ಸಂಪನ್ಮೂಲವನ್ನು ಲಾಕ್ ಮಾಡುವ ಮೊದಲು ಮೂಲ ಸಂಪನ್ಮೂಲದಲ್ಲಿ ಲಾಕ್ ಅನ್ನು ಪಡೆಯಬೇಕು. ಲಾಕ್ ಮೋಡ್ಗಳು ವಿ. ಎಂ. ಎಸ್. ಸಿ. ಕ್ಲಸ್ಟರ್ನೊಳಗೆ ಚಾಲನೆಯಲ್ಲಿರುವ ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ಸಂಪನ್ಮೂಲದ ಮೇಲೆ ಲಾಕ್ ಅನ್ನು ಪಡೆಯಬಹುದು. ಮಂಜೂರು ಮಾಡಬಹುದಾದ ಆರು ಲಾಕ್ ಮೋಡ್ಗಳಿವೆ, ಮತ್ತು ಇವುಗಳು ನೀಡಲಾಗುವ ಪ್ರತ್ಯೇಕತೆಯ ಮಟ್ಟವನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ, ಲಾಕ್ ಅನ್ನು ಹೆಚ್ಚಿನ ಅಥವಾ ಕೆಳಗಿನ ಹಂತದ ಲಾಕ್ ಮೋಡ್ಗೆ ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಿದೆ. ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳು ಸಂಪನ್ಮೂಲವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿದಾಗ, ಸಂಪನ್ಮೂಲದ ಬಗ್ಗೆ ವ್ಯವಸ್ಥೆಯ ಮಾಹಿತಿಯು ನಾಶವಾಗುತ್ತದೆ. ನಲ್ (ಎನ್ಎಲ್). ಸಂಪನ್ಮೂಲದಲ್ಲಿ ಆಸಕ್ತಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಆದರೆ ಇತರ ಪ್ರಕ್ರಿಯೆಗಳು ಅದನ್ನು ಲಾಕ್ ಮಾಡುವುದನ್ನು ತಡೆಯುವುದಿಲ್ಲ. ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಗಳು ಅದನ್ನು ಲಾಕ್ ಮಾಡದಿದ್ದರೂ ಸಹ, ಸಂಪನ್ಮೂಲ ಮತ್ತು ಅದರ ಲಾಕ್ ಮೌಲ್ಯದ ಬ್ಲಾಕ್ ಅನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ ಎಂಬ ಅನುಕೂಲವಿದೆ. ಸಮವರ್ತಿ ಓದುವಿಕೆ (ಸಿಆರ್). ಸಂಪನ್ಮೂಲವನ್ನು ಓದುವ (ಆದರೆ ನವೀಕರಿಸದ) ಬಯಕೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಇದು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಸಂಪನ್ಮೂಲವನ್ನು ಓದಲು ಅಥವಾ ನವೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಆದರೆ ಇತರರು ಅದಕ್ಕೆ ವಿಶೇಷ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಉನ್ನತ ಮಟ್ಟದ ಸಂಪನ್ಮೂಲಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅಧೀನ ಸಂಪನ್ಮೂಲಗಳ ಮೇಲೆ ಹೆಚ್ಚು ನಿರ್ಬಂಧಿತ ಲಾಕ್ಗಳನ್ನು ಪಡೆಯಬಹುದು. ಸಮವರ್ತಿ ಬರವಣಿಗೆ (ಸಿಡಬ್ಲ್ಯೂ). ಸಂಪನ್ಮೂಲವನ್ನು ಓದುವ ಮತ್ತು ನವೀಕರಿಸುವ ಬಯಕೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಇದು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಸಂಪನ್ಮೂಲವನ್ನು ಓದಲು ಅಥವಾ ನವೀಕರಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ, ಆದರೆ ಇತರರು ಅದಕ್ಕೆ ವಿಶೇಷ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಉನ್ನತ ಮಟ್ಟದ ಸಂಪನ್ಮೂಲಗಳಲ್ಲಿಯೂ ಬಳಸಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅಧೀನ ಸಂಪನ್ಮೂಲಗಳ ಮೇಲೆ ಹೆಚ್ಚು ನಿರ್ಬಂಧಿತ ಲಾಕ್ಗಳನ್ನು ಪಡೆಯಬಹುದು. ಸಂರಕ್ಷಿತ ಓದುವಿಕೆ (ಪಿಆರ್). ಇದು ಸಾಂಪ್ರದಾಯಿಕ ಶೇರ್ ಲಾಕ್ ಆಗಿದ್ದು, ಇದು ಸಂಪನ್ಮೂಲವನ್ನು ಓದುವ ಬಯಕೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ ಆದರೆ ಅದನ್ನು ನವೀಕರಿಸದಂತೆ ಇತರರನ್ನು ತಡೆಯುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಇತರರು ಸಹ ಸಂಪನ್ಮೂಲವನ್ನು ಓದಬಹುದು. ಸಂರಕ್ಷಿತ ಬರಹ (ಪಿ. ಡಬ್ಲ್ಯೂ.). ಇದು ಸಾಂಪ್ರದಾಯಿಕ ಅಪ್ಡೇಟ್ ಲಾಕ್ ಆಗಿದ್ದು, ಇದು ಸಂಪನ್ಮೂಲವನ್ನು ಓದುವ ಮತ್ತು ನವೀಕರಿಸುವ ಬಯಕೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಇತರರು ಅದನ್ನು ನವೀಕರಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಸಮವರ್ತಿ ರೀಡ್ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುವ ಇತರರು ಸಂಪನ್ಮೂಲವನ್ನು ಓದಬಹುದು. ಎಕ್ಸ್ಕ್ಲೂಸಿವ್ (EX). ಇದು ಸಾಂಪ್ರದಾಯಿಕ ಎಕ್ಸ್ಕ್ಲೂಸಿವ್ ಲಾಕ್ ಆಗಿದ್ದು, ಇದು ಸಂಪನ್ಮೂಲವನ್ನು ಓದಲು ಮತ್ತು ನವೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಇತರರು ಅದನ್ನು ಪ್ರವೇಶಿಸದಂತೆ ತಡೆಯುತ್ತದೆ. ಈ ಕೆಳಗಿನ ಸತ್ಯ ಕೋಷ್ಟಕವು ಪ್ರತಿ ಲಾಕ್ ಮೋಡ್ನ ಹೊಂದಾಣಿಕೆಯನ್ನು ಇತರರೊಂದಿಗೆ ತೋರಿಸುತ್ತದೆಃ ಲಾಕ್ ಎ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪಡೆಯುವುದು ಲಾಕ್ ವಿನಂತಿಯನ್ನು ನಮೂದಿಸುವ ಮೂಲಕ ಸಂಪನ್ಮೂಲದ ಮೇಲೆ ಲಾಕ್ ಅನ್ನು ಪಡೆಯಬಹುದು. ಇದು ಐ/ಒ ನಿರ್ವಹಿಸಲು ಬಳಸುವ ಕ್ಯೂಐಒ ತಂತ್ರವನ್ನು ಹೋಲುತ್ತದೆ. ಎನ್ಕ್ಯೂ ಲಾಕ್ ವಿನಂತಿಯು ಏಕಕಾಲದಲ್ಲಿ ಪೂರ್ಣಗೊಳ್ಳಬಹುದು, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯು ಲಾಕ್ ಅನ್ನು ನೀಡುವವರೆಗೆ ಕಾಯುತ್ತದೆ, ಅಥವಾ ಅಸಿಂಕ್ರೊನಸ್ ಆಗಿ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಲಾಕ್ ಅನ್ನು ಪಡೆದಾಗ ಎ. ಎಸ್. ಟಿ ಸಂಭವಿಸುತ್ತದೆ. ತಡೆಗಟ್ಟುವ ಎ. ಎಸ್. ಟಿ. ಯನ್ನು ಸ್ಥಾಪಿಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ, ಇದು ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯಿಂದ ಸಂಪನ್ಮೂಲಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ತಡೆಯುವ ಲಾಕ್ ಅನ್ನು ಪಡೆದಾಗ ಪ್ರಚೋದಿಸಲ್ಪಡುತ್ತದೆ. ಮೂಲ ಪ್ರಕ್ರಿಯೆಯು ನಂತರ ಇತರ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಲು ಐಚ್ಛಿಕವಾಗಿ ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳಬಹುದು (ಉದಾ. ಲಾಕ್ ಅನ್ನು ಕೆಳಗಿಳಿಸುವ ಅಥವಾ ಬಿಡುಗಡೆ ಮಾಡುವ ಮೂಲಕ). ಲಾಕ್ ಮೌಲ್ಯ ಬ್ಲಾಕ್ ಒಂದು ಲಾಕ್ ಮೌಲ್ಯ ಬ್ಲಾಕ್ ಪ್ರತಿ ಸಂಪನ್ಮೂಲದೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದೆ. ಸಂಪನ್ಮೂಲದ ಮೇಲೆ ಲಾಕ್ ಅನ್ನು ಪಡೆದ ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ಇದನ್ನು ಓದಬಹುದು (ಶೂನ್ಯ ಲಾಕ್ ಅನ್ನು ಹೊರತುಪಡಿಸಿ) ಮತ್ತು ಅದರ ಮೇಲೆ ಸಂರಕ್ಷಿತ ನವೀಕರಣ ಅಥವಾ ವಿಶೇಷ ಲಾಕ್ ಅನ್ನು ಪಡೆದ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ನವೀಕರಿಸಬಹುದು. ಅಪ್ಲಿಕೇಶನ್ ವಿನ್ಯಾಸಕರು ಆಯ್ಕೆ ಮಾಡುವ ಸಂಪನ್ಮೂಲದ ಬಗ್ಗೆ ಯಾವುದೇ ಮಾಹಿತಿಯನ್ನು ಹಿಡಿದಿಡಲು ಇದನ್ನು ಬಳಸಬಹುದು. ಸಂಪನ್ಮೂಲದ ಆವೃತ್ತಿ ಸಂಖ್ಯೆಯನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದು ಒಂದು ಸಾಮಾನ್ಯ ಬಳಕೆಯಾಗಿದೆ. ಪ್ರತಿ ಬಾರಿಯೂ ಸಂಬಂಧಿತ ಘಟಕ (ಉದಾ. ಡೇಟಾಬೇಸ್ ರೆಕಾರ್ಡ್) ಅನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ, ಲಾಕ್ನ ಧಾರಕನು ಲಾಕ್ ಮೌಲ್ಯ ಬ್ಲಾಕ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತಾನೆ. ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯು ಸಂಪನ್ಮೂಲವನ್ನು ಓದಲು ಬಯಸಿದಾಗ, ಅದು ಸೂಕ್ತವಾದ ಲಾಕ್ ಅನ್ನು ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಪ್ರಸ್ತುತ ಲಾಕ್ ಮೌಲ್ಯವನ್ನು ಕೊನೆಯ ಬಾರಿಗೆ ಪ್ರಕ್ರಿಯೆಯು ಸಂಪನ್ಮೂಲವನ್ನು ಲಾಕ್ ಮಾಡಿದ ಮೌಲ್ಯದೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ. ಮೌಲ್ಯವು ಒಂದೇ ಆಗಿದ್ದರೆ, ಸಂಬಂಧಿತ ಘಟಕವನ್ನು ಕೊನೆಯ ಬಾರಿಗೆ ಓದಿದಾಗಿನಿಂದ ನವೀಕರಿಸಲಾಗಿಲ್ಲ ಎಂದು ಪ್ರಕ್ರಿಯೆಗೆ ತಿಳಿದಿದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಅದನ್ನು ಮತ್ತೆ ಓದುವುದು ಅನಗತ್ಯವಾಗಿದೆ. ಆದ್ದರಿಂದ, ಈ ತಂತ್ರವನ್ನು ಡೇಟಾಬೇಸ್ ಅಥವಾ ಅಂತಹುದೇ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ವಿವಿಧ ರೀತಿಯ ಕ್ಯಾಶ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಳಸಬಹುದು. ಡೆಡ್ಲಾಕ್ ಡಿಟೆಕ್ಷನ್ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಪ್ರಕ್ರಿಯೆಗಳು ಸಂಪನ್ಮೂಲಗಳ ಮೇಲೆ ಲಾಕ್ಗಳನ್ನು ಪಡೆದಾಗ, ಪ್ರತಿಯೊಂದೂ ಇನ್ನೊಬ್ಬರನ್ನು ಲಾಕ್ ಪಡೆಯುವುದನ್ನು ತಡೆಯುವ ಪರಿಸ್ಥಿತಿಯನ್ನು ಸೃಷ್ಟಿಸಲು ಸಾಧ್ಯವಿದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಮುಂದುವರಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇದನ್ನು ಡೆಡ್ಲಾಕ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ (ಇ. ಡಬ್ಲ್ಯೂ. ಡಿಜ್ಕ್ಸ್ಟ್ರಾ ಮೂಲತಃ ಇದನ್ನು ಮಾರಣಾಂತಿಕ ಆಲಿಂಗನೆ ಎಂದು ಕರೆದರು). ಒಂದು ಸರಳ ಉದಾಹರಣೆಯೆಂದರೆ, ಪ್ರಕ್ರಿಯೆ 1 ಸಂಪನ್ಮೂಲ ಎ ಮೇಲೆ ವಿಶೇಷ ಲಾಕ್ ಅನ್ನು ಪಡೆದಾಗ, ಮತ್ತು ಪ್ರಕ್ರಿಯೆ 2 ಸಂಪನ್ಮೂಲ ಬಿ ಮೇಲೆ ವಿಶೇಷ ಲಾಕ್ ಅನ್ನು ಪಡೆದಾಗ. ಪ್ರಕ್ರಿಯೆ 1 ನಂತರ ಸಂಪನ್ಮೂಲ ಬಿ ಅನ್ನು ಲಾಕ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ಅದನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಪ್ರಕ್ರಿಯೆ 2 ರವರೆಗೆ ಕಾಯಬೇಕಾಗುತ್ತದೆ. ಆದರೆ ಪ್ರಕ್ರಿಯೆ 2 ನಂತರ ಸಂಪನ್ಮೂಲ ಎ ಅನ್ನು ಲಾಕ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ಎರಡೂ ಪ್ರಕ್ರಿಯೆಗಳು ಒಂದಕ್ಕೊಂದು ಶಾಶ್ವತವಾಗಿ ಕಾಯುತ್ತವೆ. ಓಪನ್ ವಿಎಂಎಸ್ ಡಿಎಲ್ಎಂ ನಿಯತಕಾಲಿಕವಾಗಿ ಡೆಡ್ಲಾಕ್ ಸನ್ನಿವೇಶಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಒಂದು ಪ್ರಕ್ರಿಯೆಯ ಎರಡನೇ ಲಾಕ್ ಎನ್ಕ್ಯೂ ವಿನಂತಿಯು ಡೆಡ್ಲಾಕ್ ಸ್ಥಿತಿಯೊಂದಿಗೆ ಹಿಂತಿರುಗುತ್ತದೆ. ನಂತರ ಬಿಕ್ಕಟ್ಟನ್ನು ಪರಿಹರಿಸಲು ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳುವುದು ಈ ಪ್ರಕ್ರಿಯೆಗೆ ಬಿಟ್ಟದ್ದು-ಈ ಸಂದರ್ಭದಲ್ಲಿ ಅದು ಪಡೆದ ಮೊದಲ ಲಾಕ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡುವ ಮೂಲಕ. ಲಿನಕ್ಸ್ ಕ್ಲಸ್ಟರಿಂಗ್ ರೆಡ್ ಹ್ಯಾಟ್ ಮತ್ತು ಒರಾಕಲ್ ಎರಡೂ ಲಿನಕ್ಸ್ಗಾಗಿ ಕ್ಲಸ್ಟರಿಂಗ್ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿವೆ. ಒರಾಕಲ್ ಕ್ಲಸ್ಟರ್ ಕಡತ ವ್ಯವಸ್ಥೆಯಾದ ಒಸಿಎಫ್ಎಸ್2ಅನ್ನು 2006ರ ಜನವರಿಯಲ್ಲಿ ಅಧಿಕೃತ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ಗೆ ಆವೃತ್ತಿ 2.6.16 ನೊಂದಿಗೆ ಸೇರಿಸಲಾಯಿತು. ಒಸಿಎಫ್ಎಸ್2 ನಲ್ಲಿನ ಆಲ್ಫಾ-ಗುಣಮಟ್ಟದ ಸಂಕೇತ ಎಚ್ಚರಿಕೆಯನ್ನು 2.6.19 ನಲ್ಲಿ ತೆಗೆದುಹಾಕಲಾಗಿದೆ. ಅವರ ಡಿಎಲ್ಎಂ ಮತ್ತು ಜಿಎಫ್ಎಸ್2 ಸೇರಿದಂತೆ ರೆಡ್ ಹ್ಯಾಟ್ನ ಕ್ಲಸ್ಟರ್ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ನವೆಂಬರ್ 2006 ರಲ್ಲಿ ಅಧಿಕೃತವಾಗಿ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ಗೆ ಆವೃತ್ತಿ 2.6.19 ನೊಂದಿಗೆ ಸೇರಿಸಲಾಯಿತು. ಎರಡೂ ವ್ಯವಸ್ಥೆಗಳು ಪೂಜ್ಯ ವಿಎಂಎಸ್ ಡಿಎಲ್ಎಂ ಮಾದರಿಯ ಡಿಎಲ್ಎಂ ಅನ್ನು ಬಳಸುತ್ತವೆ. ಒರಾಕಲ್ನ ಡಿಎಲ್ಎಂ ಸರಳವಾದ ಎಪಿಐ ಅನ್ನು ಹೊಂದಿದೆ. (ಕೋರ್ ಫಂಕ್ಷನ್, ಡಿಎಲ್ಎಂಲಾಕ್ (), ಎಂಟು ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ವಿಎಂಎಸ್ ಎಸ್. ವೈ. ಎಸ್ $ಇಎನ್ಕ್ಯೂ ಸೇವೆ ಮತ್ತು ರೆಡ್ ಹ್ಯಾಟ್ನ ಡಿಎಲ್ಎಂ _ ಲಾಕ್ ಎರಡೂ 11 ಅನ್ನು ಹೊಂದಿವೆ.) ಇತರ ಅನುಷ್ಠಾನಗಳು ಇತರ ಡಿಎಲ್ಎಂ ಅನುಷ್ಠಾನಗಳು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಿವೆಃ ಗೂಗಲ್ ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ವಿತರಣಾ ವ್ಯವಸ್ಥೆಗಳಿಗಾಗಿ ಲಾಕ್ ಸೇವೆಯಾದ ಚಬ್ಬಿಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ. ಇದನ್ನು ಒರಟಾದ-ಧಾನ್ಯದ ಲಾಕಿಂಗ್ಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಸೀಮಿತ ಆದರೆ ವಿಶ್ವಾಸಾರ್ಹ ವಿತರಿಸಿದ ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ. ಗೂಗಲ್ ಫೈಲ್ ಸಿಸ್ಟಮ್, ಬಿಗ್ಟೇಬಲ್ ಮತ್ತು ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ ಸೇರಿದಂತೆ ಗೂಗಲ್ನ ಮೂಲಸೌಕರ್ಯದ ಪ್ರಮುಖ ಭಾಗಗಳು ಹಂಚಿಕೊಂಡ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಪ್ರವೇಶಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲು ಚಬ್ಬಿಯನ್ನು ಬಳಸುತ್ತವೆ. ಚುಬ್ಬಿಯನ್ನು ಲಾಕ್ ಸೇವೆಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದ್ದರೂ, ಈಗ ಇದನ್ನು ಗೂಗಲ್ನಲ್ಲಿ ಡಿಎನ್ಎಸ್ ಬದಲಿಗೆ ನೇಮ್ ಸರ್ವರ್ ಆಗಿ ಹೆಚ್ಚು ಬಳಸಲಾಗುತ್ತಿದೆ. ಯಾಹೂದಲ್ಲಿ ರಚಿಸಲಾದ ಅಪಾಚೆ ಝೂಕೀಪರ್, ಓಪನ್ ಸೋರ್ಸ್ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದೆ ಮತ್ತು ಇದನ್ನು ವಿತರಿಸಿದ ಲಾಕ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಹ ಬಳಸಬಹುದು. ಇತ್ಯಾದಿಗಳು ಓಪನ್ ಸೋರ್ಸ್ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದ್ದು, ಅಪಾಚೆ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಕೋರೆಓಎಸ್ನಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಇದನ್ನು ವಿತರಿಸಿದ ಬೀಗಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಹ ಬಳಸಬಹುದು. ರೆಡಿಸ್ ಒಂದು ಮುಕ್ತ ಮೂಲ, ಬಿಎಸ್ಡಿ ಪರವಾನಗಿ ಪಡೆದ, ಸುಧಾರಿತ ಕೀ-ಮೌಲ್ಯದ ಕ್ಯಾಶ್ ಮತ್ತು ಸ್ಟೋರ್ ಆಗಿದೆ. ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಲಾಕ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ಗಾಗಿ ರೆಡ್ಲಾಕ್ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ರೆಡಿಸ್ ಅನ್ನು ಬಳಸಬಹುದು. ಹ್ಯಾಶಿಕಾರ್ಫ್ ರಚಿಸಿದ ಹ್ಯಾಶಿಕಾರ್ಫ್ನ ಕಾನ್ಸುಲ್ ಓಪನ್ ಸೋರ್ಸ್ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದೆ ಮತ್ತು ಇದನ್ನು ವಿತರಿಸಿದ ಲಾಕ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಹ ಬಳಸಬಹುದು. ಟೌಕಾ ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಲಾಕ್ ಮ್ಯಾನೇಜರ್ ಡೆಡ್ಲಾಕ್ಗಳನ್ನು ತಪ್ಪಿಸಲು "ಟ್ರೈ ಲಾಕ್" ವಿಧಾನಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಪ್ರತಿ ಲಾಕ್ಗೆ ನ್ಯಾನೊಸೆಕೆಂಡ್ ನಿಖರತೆಯೊಂದಿಗೆ ಟಿಟಿಎಲ್ ಅನ್ನು ಸಹ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಡಿಎಲ್ಎಂ ಸಹ ಓಪನ್ಎಸ್ಎಸ್ಐನಂತಹ ಹೆಚ್ಚು ಮಹತ್ವಾಕಾಂಕ್ಷೆಯ ಸಿಂಗಲ್ ಸಿಸ್ಟಮ್ ಇಮೇಜ್ (ಎಸ್ಎಸ್ಐ) ಯೋಜನೆಗಳ ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ. HP ಓಪನ್ ವಿಎಂಎಸ್ ಸಿಸ್ಟಮ್ಸ್ ಸರ್ವೀಸಸ್ ರೆಫರೆನ್ಸ್ ಮ್ಯಾನ್ಯುಯಲ್-$ENQ ಆಫೀಸರ್-ರೂಬಿ ಎಫ್ಎಲ್ಓಎಂನಲ್ಲಿ ಬರೆಯಲಾದ ಸರಳ ವಿತರಿಸಿದ ಲಾಕ್ ಮ್ಯಾನೇಜರ್-ಶೆಲ್ ಕಮಾಂಡ್ಗಳು, ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಕಸ್ಟಮ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಸಿ, ಸಿ + +, ಜಾವಾ, ಪಿಎಚ್ಪಿ ಮತ್ತು ಪೈಥಾನ್ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲು ಬಳಸಬಹುದಾದ ಉಚಿತ ಓಪನ್ ಸೋರ್ಸ್ ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಲಾಕ್ ಮ್ಯಾನೇಜರ್ ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಕಂಪ್ಯೂಟಿಂಗ್ ಆರ್ಕಿಟೆಕ್ಚರ್