-sdy-aggressive-propagate
ज़्यादा ज़रूरत पड़ने पर, ज़्यादा डेटा को अलग-अलग हिस्सों में बांटने का एल्गोरिदम चलाता है.
शार्डिंग का प्रचार करने के लिए एक आक्रामक कारक प्रचार की रणनीति का इस्तेमाल करें. बुनियादी रणनीति का इस्तेमाल, बिना किसी संघर्ष के शार्डिंग करती है, जबकि असरदार रणनीति से विवादों को सुलझाने में मदद मिलती है. ज़्यादा एग्रेसिव होने से, मेमोरी फ़ुटप्रिंट कम हो सकता है. हालांकि, बातचीत शुरू करने में लगने वाला समय भी कम हो सकता है.
विकल्प:
BasicPropagationPass
से शुरू होने वाले सभी विकल्प-propagation-strategy
: फ़ैक्टर प्रॉपेगेशन की कौनसी रणनीति का इस्तेमाल करना है ###-sdy-basic-propagate
शर्डिंग प्रॉपेगेशन का बुनियादी एल्गोरिदम चलाता है.
बेसिक प्रमोशन एल्गोरिदम, हैरारकी में प्रमोशन की वह सबसे कम रणनीति है जो किसी तरह के विवाद का समाधान नहीं करती. इसके बजाय, यह ऐसे ऐक्सिस तैयार करता है जो सभी ऑपरेंड और नतीजों के साथ काम करते हैं.
विकल्प:
-keep-sharding-rules
: मौजूदा और बनाए गए ऑप्टिमाइज़ेशन के लिए, डेटा को अलग-अलग हिस्सों में बांटने के नियमों को बनाए रखना है या नहीं-module-dump-directory
: डीबग करने के लिए, फिर से लिखे गए मॉड्यूल को कहां डालना है-conservative-propagation
: प्रॉपेगेशन के दौरान, स्प्लिट ऐक्स और ऐसे ऐक्स जिनके लिए शीयरिंग की सुविधा उपलब्ध नहीं है, इस्तेमाल करने की अनुमति है या नहीं ###-sdy-op-priority-propagate
ऑप्टिमाइज़ेशन की प्राथमिकता का प्रॉपेगेशन एल्गोरिदम चलाता है.
ऑपरेशन के लिए इस्तेमाल होने वाले हेयुरिस्टिक्स के सेट के आधार पर, इटरेटेशन में शर्डिंग को प्रॉपगेट करता है. हर हेयुरिस्टिक्स यह तय करता है कि किसी ऑपरेशन के लिए, डेटा को आगे, पीछे या दोनों दिशाओं में प्रॉपेगेट करना है या नहीं.
यह ऑप-प्राथमिकता 0 से शुरू होता है और तब तक बढ़ता रहता है, जब तक सभी ऑपहेंसिविटी खत्म नहीं हो जातीं और प्रोग्राम एक तय पॉइंट तक नहीं पहुंच जाता.
प्राथमिकता p के लिए, सभी ऑपरेशन के अनुभव की गणना 0 <= i < p से की जाती है. BOTH > BACKWARD == FORWARD > NONE
के साथ, हर ऑपरेशन के लिए सबसे बेहतर डायरेक्शन चुना जाता है. अगर इस बार में,
FORWARD
/BACKWARD
को पहले देखा जाता है, तो BACKWARD
/FORWARD
को देखा जाता है. इसका मतलब है कि
दिशा BOTH
है.
प्रमोशन के लिए यह रणनीति, एग्रेसिव प्रोपगेशन रणनीति को आगे बढ़ा देती है. इसका मतलब है कि हर ऑप-प्राथमिकता के बार में, पूरी तरह एग्रेसिव प्रमोशन लागू किया जाता है (AggressivePropagationPass
देखें).
विकल्प:
AggressivePropagationPass
से शुरू होने वाले सभी विकल्प-run-op-priority-propagation
: अप-प्राथमिकता को चलाना है या नहीं चलाना है ###-sdy-populate-op-sharding-rules
रजिस्टर किए गए सभी ऑपरेशन को OpShardingRuleAttr
से पॉप्युलेट करता है.
रजिस्टर किए गए सभी ऑपरेशन को OpShardingRuleAttr
से पॉप्युलेट करता है. इसका इस्तेमाल, रजिस्टर किए गए शर्डिंग नियमों को डीबग करने/जांच करने के लिए किया जाता है. प्रोपेगेशन पहले से ही, ज़रूरत के हिसाब से ऐसा करता है. हालांकि, यह पास एक साथ ऐसा करता है.
विकल्प
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
उपयोगकर्ता की प्राथमिकता के हिसाब से प्रॉपर्टी को प्रसारित करने वाला एल्गोरिदम चलाता है.
सबसे ज़्यादा प्राथमिकता (सबसे कम संख्या, आम तौर पर p0) से लेकर सबसे कम प्राथमिकता (सबसे ज़्यादा संख्या) तक, शार्डिंग को बार-बार दोहराता है. दूसरे शब्दों में, i-th बार-बार दोहराए जाने पर, सिर्फ़ प्राथमिकता वाले डाइमेंशन शार्डिंग <=i ही लागू किए जाते हैं.
प्रॉपेगेशन की यह रणनीति, ऑपरेशन की प्राथमिकता के हिसाब से प्रॉपेगेशन की रणनीति को बढ़ाती है. इसका मतलब है कि उपयोगकर्ता की प्राथमिकता के हिसाब से हर बार बदलाव करने पर, ऑपरेशन की प्राथमिकता के हिसाब से पूरा प्रॉपेगेशन लागू होता है (OpPriorityPropagationPass
देखें).
विकल्प:
OpPriorityPropagationPass
से शुरू होने वाले सभी विकल्प