Linux का rseq तकनीक बिना लॉक स्केलिंग

मूल शीर्षक: Restartable Sequences

यह क्यों महत्वपूर्ण है

128+ कोर processors के युग में rseq lock-free स्केलिंग के लिए महत्वपूर्ण तकनीक है।

Linux 4.18+ में रिस्टार्टेबल सीक्वेंसेस (rseq) तकनीक बिना लॉक या एटॉमिक्स के थ्रेड-सेफ डेटा स्ट्रक्चर बनाने की अनुमति देती है। 128-कोर सिस्टम पर malloc 43x तेज़ हो जाता है।

जस्टिन का ब्लॉग पोस्ट बताता है कि Linux 4.18+ का rseq (restartable sequences) सिस्टम प्रोग्रामिंग में एक गुप्त हथियार है। यह बिना लॉक या एटॉमिक्स के थ्रेड-सेफ डेटा स्ट्रक्चर बनाने की सुविधा देता है जो कई कोर वाले प्रोसेसर पर स्केल करते हैं। वर्तमान में केवल tcmalloc, jemalloc, glibc और cosmopolitan इसका उपयोग कर रहे हैं। परफ़ॉर्मेंस परीक्षणों में 4-कोर Raspberry Pi 5 पर malloc 3x तेज़ हुआ, 128-कोर Ampere Altra पर 34x तेज़, और 96-कोर AMD Threadripper Pro 7995WX पर 43x तेज़। rseq काम करने के लिए kernel को 32 बाइट्स TLS मेमोरी देता है जो CPU नंबर ट्रैक करता है। जब thread को अलग CPU पर move किया जाता है तो kernel abort handler चलाकर operation को retry कर सकता है। लेखक का कहना है भविष्य में सभी OS इसे support करेंगे।

स्रोत

justine.lol — मूल लेख पढ़ें →