बेंचमार्किंग में आपको हमेशा यह स्थापित करना चाहिए कि आपकी सीमाएं क्या हैं। क्योंकि अगर आप उस लान से 100 मीटर बाहर निकलने की उम्मीद करते हैं तो आप केवल अपने आप को बेवकूफ बना रहे हैं!
रास्पबेरीपीआई मॉडल-बी के इस ब्लॉक डिज़ाइन को देखें
इसलिए हम यहां एक बहुत महत्वपूर्ण तथ्य स्थापित करते हैं। ईथरनेट USB कंट्रोलर द्वारा टोंटी जाता है क्योंकि ब्लॉक डिग्रम जिसे हम स्थापित करते हैं वह USB हब से जुड़ा होता है। (कोई स्पष्ट संकेत नहीं है कि यह किसी अन्य बस या बस USB2 का उपयोग करता है?)
ओह देखो - एक और ब्लॉक आरेख,
अब वह स्थिति पर और भी अधिक प्रकाश डालता है। 10/100 कंट्रोलर USB हब से जुड़ा हुआ है- दुर्भाग्य से, फिर से, जहाँ कोई भी युक्ति नहीं है, यह कहता है कि हब कितनी तेजी से लैन कंट्रोलर के साथ संचार करता है - प्रमुख तथ्य के लिए उम्मीद करते हैं कि usb गति और लैन बातचीत कर रहे हैं मिश्रित गति यूएसबी वातावरण के लिए।
एसडी कार्ड कहां है?
यह पता चला है कि SD कार्ड सीधे BCM2835 (पृष्ठ 65) से जुड़ा हुआ है और वे विभिन्न विवरण स्तरों से कैसे प्रभावित होते हैं, इस बारे में बहुत विस्तार से जाते हैं। नोटिस करने के लिए एक महत्वपूर्ण बात यह है कि यदि एसडी कार्ड में एक समर्पित घड़ी है तो यह पूरी गति से कोर सीपीयू / जीपीयू से स्वतंत्र रूप से चल सकता है। (जो भी कार्ड और मानक का उपयोग किया जाता है - आप देख सकते हैं कि यह कुछ मानकों का समर्थन करता है।)
तो उसका क्या मतलब हुआ?
इसका मतलब है कि यदि आप तेज एसडी कार्ड और गंदे पेन ड्राइव (4 जीबी / 8 जीबी) को बेंचमार्क करते हैं तो आपको बड़े पैमाने पर प्रदर्शन में अंतर मिलेगा। तो अब यह सवाल उठता है कि सीपीयू / जीपीयू इस अद्भुत एम्बेडेड डिवाइस (यूएसबी / लैन चिप) के साथ संचार को कैसे संभालता है और यह किस गति पर संचार करने में सक्षम है।
आप देखते हैं कि वास्तव में कोई बेंचमार्किंग करने से पहले हम वास्तव में कितनी दूर तक जा सकते हैं? यहाँ एक और मुख्य बिंदु है - CPU डेटा के प्रवाह को कैसे नियंत्रित करता है। क्या यह अनुशंसित रूप से अलग घड़ी चैनल का उपयोग करता है?
एक आदर्श दुनिया में आपको लगता है कि यह LAN / USB इसे संभाल लेगा। लेकिन इसके लिए MCU की आवश्यकता होती है .. क्या हमें उस ब्लॉक आरेख में कहीं भी MCY दिखाई देता है .. NO!
इसलिए CPU को IO DATA को USB पोर्ट भेजने का अनुरोध करना पड़ता है, फिर वह LAN पोर्ट (उसी USB हब के माध्यम से) हां पर जाता है। इसलिए यह कहीं न कहीं स्पीड की समस्या पैदा करने वाला है।
यह भी ध्यान दें कि जब आप USB पेन ड्राइव और लैन कार्ड के माध्यम से लैन के माध्यम से कॉपी करते हैं, तो क्या होता है?
हमें विभिन्न पहलुओं को बेंचमार्क करने की आवश्यकता है
यह स्थापित करने के लिए कि हम क्या करने की कोशिश कर रहे हैं, हम वास्तविक दुनिया का सवाल पूछ सकते हैं।
- SD से आंतरिक USB डेटा कितनी तेजी से संभालता है?
- SD को LAN में पढ़ने / लिखने के लिए CPU का उपयोग कितना किया जाता है?
- USB पेन ड्राइव को पढ़ने / लिखने के लिए CPU का कितना उपयोग किया जाता है?
- क्या किसी भी डेटा को कॉपी करने से सीधे CPU उपयोग प्रभावित होता है?
- कितनी अच्छी तरह से एम्बेडेड यूएसबी / लैन चिप 2 स्रोतों से डेटा पढ़ने को लैन पोर्ट में वापस करता है और क्या यह सीपीयू को आनुपातिक रूप से प्रभावित करता है?
- यह जांचने की आवश्यकता नहीं है कि क्या लैन को पूर्ण 10mb / s मिलेगा क्योंकि इसकी अड़चन उस स्थिति से होती है जिसमें USB हब में होता है।
अब जब आप जानते हैं कि आप जो लड़ रहे हैं, मैं उन्हें चुनौती देता हूं कि आप उन्हें स्वयं जवाब दें।
आपको यह एक बहुत अच्छा शुरुआती बिंदु मिल सकता है।
संदर्भ
लेकिन ज्यादातर,
मेरे अपने तकनीकी ज्ञान और आकलन जो मैंने अपने स्वयं के एम्बेडेड अनुभव के आधार पर किए हैं। ओपी ने एक बहुत अच्छा सवाल पूछा, लेकिन यह समझने की कमी है कि एक प्रणाली की सैद्धांतिक समझ के बिना आप व्यावहारिक समस्याओं का आकलन / हल करने की कोशिश में बर्बाद हैं।
परिणाम
(४) यह उत्तर कुछ हद तक पृथ्वी के समुद्री परीक्षण को दर्शाता है। और यह साबित होता है कि गहन डेटा लेन-देन सीधे सीपीयू को प्रभावित करता है (बस यह सुनिश्चित नहीं है कि इसका एसडी कार्ड या बीसीएम चिप के अंदर डेटा को यूएसबी / लैन चिप में स्थानांतरित करने की प्रक्रिया है)
(६) यह साबित हो गया है कि एकमात्र बोतल नेक स्रोत बनने जा रहा है (उदाहरण के लिए एक धीमा एसडी कार्ड) यूएसबी हब ९ ०% + पर डेटा पंप करने का प्रबंधन करता है लेकिन ४ और ५ के सवालों के जवाब इस प्रदर्शन को सीधे प्रभावित कर सकते हैं।
इसलिए अन्य उपयोगकर्ताओं के कुछ शोध और योगदान हम प्रारंभिक परिणामों को स्थापित करने और प्राप्त करने के लिए शुरू कर रहे हैं।
यहाँ एक अच्छा चार्ट है जो यह कल्पना करने में मदद करता है कि हम किसके साथ काम कर रहे हैं।
sudo hdparm -t /dev/sdx
बेंचमार्किंग के लिए एक उपयोगी उपकरण के रूप में उपयोग कर सकते हैं ।