एवरनोट सेवा में चित्रों में पाठ की मान्यता पर
पिछला लेख मुख्य रूप से कार्यक्षमता के मुद्दों के लिए समर्पित था - यह क्या है, यह कैसे काम करता है और समग्र रूप से एवरनोट मंच को क्या देता है। इस बार हम मुद्दे के तकनीकी पक्ष के बारे में बात करेंगे।
हार्डवेयर
छवियों में पाठ की मान्यता एवरनोट कंप्यूटिंग क्लस्टर को महत्वपूर्ण रूप से लोड करती है, इसलिए उपकरण के मूल्यांकन में प्रदर्शन और दक्षता प्रमुख भूमिका निभाते हैं। कई अलग-अलग प्लेटफार्मों का परीक्षण करने के बाद, हम iX1204-563UB पर iX
सिस्टम से बस गए। संक्षेप में, यह
815TQ-563UB चेसिस पर सुपरमाइक्रो
X8DTU है । क्लस्टर में 37 मान्यता प्रणालियों में से प्रत्येक में निम्नलिखित लोहा होते हैं:
- CPU: दो Intel Xeon CPU L5630 @ 2.13 MHz (रेटेड बिजली अपव्यय - 40 वाट)
- मदरबोर्ड: सुपरमाइक्रो X8DTU
- सिस्टम यूनिट: सुपरमाइक्रो 815TQ-563UB
- बिजली की आपूर्ति: 560 वाट (80Plus गोल्ड का प्रदर्शन रेटिंग)
- डेटा वेयरहाउस: 5.25-इंच, कम-शक्ति हार्ड ड्राइव
- RAM: 12 GB PC3-8500 (1066 MHz)
सीपीयू, रैम और अन्य घटकों को बैंडविड्थ और दक्षता के बीच एक समझौते के आधार पर चुना गया था। इससे पहले, हमने कुछ परिष्कृत 2 यू ट्विन सिस्टम का मूल्यांकन किया, लेकिन पाया कि निरंतर भारी भार के तहत काम करने पर वे कम विश्वसनीय हैं, जिनसे उन्हें निपटना होगा। पारंपरिक ब्लेड सर्वर पर भी विचार किया गया था, लेकिन अंत में यह पता चला कि वे मौजूदा बुनियादी ढांचे में चिपकना बहुत मुश्किल था - विशेष रूप से इन सर्वरों के लिए विशिष्ट 100% लोड पर विचार करना।
ऑपरेटिंग सिस्टम
अंतर्निहित ऑपरेटिंग सिस्टम एक डेबियन "स्क्वीज़" (एएमडी 64) का निर्माण होता है, जिसमें से सब कुछ शानदार रूप से फेंक दिया जाता है। अपग्रेड की स्थिरता और सुविधा के कारण विकल्प डेबियन पर गिर गया। ओएस कुछ बिंदुओं के अपवाद के साथ लगभग प्राचीन रहा:
- संशोधित कर्नेल 3.0.4 को हमारी उच्च बैंडविड्थ आवश्यकताओं को पूरा करने के लिए कॉन्फ़िगर किया गया था, और cflags को हमारे द्वारा उपयोग किए जाने वाले विशिष्ट प्रोसेसर प्रकार के लिए ट्यून किया गया था।
- हमने एक्सएफएस फाइल सिस्टम को उसके अपेक्षाकृत बड़े बफर स्पेस और 'बैरियर' और 'एनीमे' जैसी चीजों के साथ अक्षम कर दिया।
- नेटवर्क घटकों के सेट को कई समवर्ती फ़ाइल लेनदेन के साथ अधिक सख्ती से काम करने के लिए कॉन्फ़िगर किया गया था।
- कर्नेल 'स्वप्नशीलता' पैरामीटर शून्य पर सेट होता है (डिफ़ॉल्ट रूप से 60 के बजाय)।
- ओएस स्तर पर, 802.1Q ट्रंक नेटवर्क प्रोटोकॉल सक्षम है।
यह विचार था कि जितना संभव हो उतने अड़चनों को कम से कम किया जाए और छवि पहचान उपकरणों के सेट को शांति से अपने व्यवसाय के बारे में जाने दिया जाए। अप्रत्याशित रूप से, कर्नेल ट्यूनिंग का बहुत प्रभाव था, जिसके कारण विभिन्न स्थितियों के आधार पर उत्पादकता में 7-30% की वृद्धि हुई। XFS के लिए, इसने हमें एक सिंगल-डिस्क वॉल्यूम पर I / O टकराव को कम करने का अवसर दिया, क्योंकि थोड़ी अधिक रैम, साथ ही साथ फ्लाई पर फ़ाइल सिस्टम को फिर से असाइन करने की क्षमता।
सॉफ्टवेयर
एवरनोट छवि पहचान के लिए उपकरणों के सेट में सॉफ्टवेयर शामिल है, जो पहचान और छवि प्रसंस्करण के लिए कतारों के साथ काम करने के लिए आंतरिक रूप से विकसित है, साथ ही साथ विभिन्न प्रकार के पाठ पर केंद्रित मान्यता तंत्रों का एक सेट भी शामिल है। इनमें हमारे अपने विकास और
आईआरआईएस से सर्वश्रेष्ठ-इन-क्लास तृतीय-पक्ष प्रौद्योगिकी दोनों हैं हमारे स्वयं के सॉफ़्टवेयर में एएमपी (एसिंक्रोनस मीडिया प्रोसेसर, एसिंक्रोनस मीडिया प्रोसेसर) और ENRS (एवरनोट रिकॉग्निशन सर्विस, एवरनोट रिकॉग्निशन सर्विस) शामिल हैं। हमने पहले से ही
पिछले लेख में इस सॉफ़्टवेयर के बारे में विस्तार से लिखा है, इसलिए हम खुद को एक संक्षिप्त विवरण तक सीमित कर लेंगे:
- ENRS अपनी बाल प्रक्रियाओं के माध्यम से AIR / ANR वह तंत्र है जो छवि की वास्तविक मान्यता के लिए जिम्मेदार है।
- एएमपी एवरनोट सेवा समूह और ईएनआरएस के बीच एक मध्यस्थ के रूप में काम करता है, कच्ची छवियों को स्वीकार करता है और उन्हें ईएनआरएस तक पहुंचाता है।
एएमपी सर्वरों के संपर्क से लोड को अपने स्वयं के अनुवाद डोमेन की उपस्थिति से कम किया जाता है, जिसे उपरोक्त 802.1Q टैग किए गए वीएलएएन के माध्यम से मजबूर अलगाव के साथ किया जाता है। यह मान्यता सर्वरों को एक दूसरे को यह बताने की अनुमति देता है कि वे किस तरह के शार्द के साथ पहले से काम कर रहे हैं, और दोहराव से बचने के लिए, जिसके कारण मुख्य एवरनोट सेवा पर भार काफी कम हो गया है।
हम आशा करते हैं कि हमारी कहानी ने इच्छुक पाठकों के लिए एवरनोट सेवा के सबसे असामान्य घटकों में से एक को आसान बना दिया है। विषय ऐसा है कि इस विषय के बारे में विस्तार से बात करना मुश्किल है, लेकिन एक ही समय में माध्यमिक विवरण में फिसलने के बिना।