उच्चतम प्रदर्शन हार्डवेयर कॉन्फ़िगरेशन क्या है?


35

मुझे पता है कि सटीक बेंचमार्क संख्या निर्माताओं के बीच अलग-अलग होगी, लेकिन सामान्य तौर पर अगर आप केवल उच्च अंत फ्लैश ड्राइव, एसडी कार्ड, और यूएसबी एचडीडी पर विचार करते हैं और आपका रास्पबेरी पाई एक ईथरनेट स्विच के माध्यम से एक नेटवर्क से जुड़ा हुआ है जो एक नेटवर्क से सबसे तेज़ कॉन्फ़िगरेशन है डेटा ट्रांसफर का दृष्टिकोण? मैं केवल उन उत्तरों की तलाश कर रहा हूं जिनमें लोगों ने वास्तव में नीचे सूचीबद्ध कॉन्फ़िगरेशन की कोशिश की है और वास्तविक परिणाम हैं, सिद्धांत नहीं।

स्पष्ट रूप से एक एसडी कार्ड का उपयोग किया जाना चाहिए क्योंकि यह बूट चक्र के कम से कम हिस्से के लिए आवश्यक है, लेकिन यह मान लें कि आपके पास नीचे सूचीबद्ध प्रत्येक डिवाइस पर एक अतिरिक्त डेटा विभाजन है, जिसमें रास्पबेरी पाई पर उच्चतम नेटवर्क स्थानांतरण गति है?

  1. एसडी कार्ड
  2. एक USB फ्लैश ड्राइव
  3. एक USB एचडीडी

यह प्रश्न गैर-तुच्छ है क्योंकि ईथरनेट संचार के साथ युग्मित भंडारण उपकरणों में से एक के साथ जुड़े कुछ बिंदु पर ओवरहेड हस्तांतरण दर को प्रभावित कर सकता है, साथ ही रास्पबेरी पाई पर ईथरनेट पोर्ट को यूएसबी बस द्वारा नियंत्रित किया जाता है ताकि सामान्य थ्रूपुट द्वारा प्रभावित किया जाए। ईथरनेट डाटा ट्रांसफर और USB मीडिया डेटा ट्रांसफर का समन्वय। मुझे नहीं पता कि एसडी कार्ड यूएसबी पोर्ट और ईथरनेट पोर्ट के रूप में एक ही साझा यूएसबी बस पर है या नहीं, लेकिन अगर मुझे नहीं लगता कि यह एक बहुत बड़ा लाभ प्रदर्शन बुद्धिमान होगा।

बेंचमार्क के लिए आवश्यकता के रूप में नेटवर्क ट्रांसफर को शामिल करने के लिए संपादित किया गया


1
FYI करें, उत्तरदाता sudo hdparm -t /dev/sdxबेंचमार्किंग के लिए एक उपयोगी उपकरण के रूप में उपयोग कर सकते हैं ।
जीवों

2
मेरे पास बेंचमार्क नहीं है, लेकिन यह सामान्य ज्ञान है: ssd> hdd> फ़्लैश> sd> ऑप्टिकल मीडिया
अलेक्जेंडर - बहाल मोनिका

+1 - SD पोर्ट के बारे में अच्छी बात - क्या यह USB / ईथरनेट के समान बस पर है? क्या SD और संलग्न USB संग्रहण पर लोड साझा करना बेहतर है?
जॉन एगर्टन

@XAleXOwnZX यकीन है कि अगर busses कि उन उपकरणों पर कर रहे हैं डिवाइस के अधिकतम प्रदर्शन से मेल कर सकते हैं तो वह आदेश है, लेकिन मैं शर्त लगा रहा हूँ कि चूंकि रास्पबेरी पाई केवल USB है आपके आदेश ss = hdd = फ़्लैश> ऑप्टिकल जैसे अधिक होगा और SD उस सूची में कहीं भी स्थित हो सकता है जो इस आधार पर हो कि उसकी अपनी बस USB पोर्ट से अलग हो।
दान बी

यह एक अच्छी बात है, लेकिन सुनिश्चित करने के लिए HDD> फ्लैश। मेरी फ्लैश ड्राइव के 5-10 की तुलना में मेरे यूएसबी हार्ड ड्राइव को 30 एमबी / एस मिलता है
अलेक्जेंडर - पुनः स्थापित मोनिका

जवाबों:


35

बेंचमार्किंग में आपको हमेशा यह स्थापित करना चाहिए कि आपकी सीमाएं क्या हैं। क्योंकि अगर आप उस लान से 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 पेन ड्राइव और लैन कार्ड के माध्यम से लैन के माध्यम से कॉपी करते हैं, तो क्या होता है?

हमें विभिन्न पहलुओं को बेंचमार्क करने की आवश्यकता है

यह स्थापित करने के लिए कि हम क्या करने की कोशिश कर रहे हैं, हम वास्तविक दुनिया का सवाल पूछ सकते हैं।

  1. SD से आंतरिक USB डेटा कितनी तेजी से संभालता है?
  2. SD को LAN में पढ़ने / लिखने के लिए CPU का उपयोग कितना किया जाता है?
  3. USB पेन ड्राइव को पढ़ने / लिखने के लिए CPU का कितना उपयोग किया जाता है?
  4. क्या किसी भी डेटा को कॉपी करने से सीधे CPU उपयोग प्रभावित होता है?
  5. कितनी अच्छी तरह से एम्बेडेड यूएसबी / लैन चिप 2 स्रोतों से डेटा पढ़ने को लैन पोर्ट में वापस करता है और क्या यह सीपीयू को आनुपातिक रूप से प्रभावित करता है?
  6. यह जांचने की आवश्यकता नहीं है कि क्या लैन को पूर्ण 10mb / s मिलेगा क्योंकि इसकी अड़चन उस स्थिति से होती है जिसमें USB हब में होता है।

अब जब आप जानते हैं कि आप जो लड़ रहे हैं, मैं उन्हें चुनौती देता हूं कि आप उन्हें स्वयं जवाब दें।

आपको यह एक बहुत अच्छा शुरुआती बिंदु मिल सकता है।

संदर्भ

लेकिन ज्यादातर,

मेरे अपने तकनीकी ज्ञान और आकलन जो मैंने अपने स्वयं के एम्बेडेड अनुभव के आधार पर किए हैं। ओपी ने एक बहुत अच्छा सवाल पूछा, लेकिन यह समझने की कमी है कि एक प्रणाली की सैद्धांतिक समझ के बिना आप व्यावहारिक समस्याओं का आकलन / हल करने की कोशिश में बर्बाद हैं।

परिणाम

(४) यह उत्तर कुछ हद तक पृथ्वी के समुद्री परीक्षण को दर्शाता है। और यह साबित होता है कि गहन डेटा लेन-देन सीधे सीपीयू को प्रभावित करता है (बस यह सुनिश्चित नहीं है कि इसका एसडी कार्ड या बीसीएम चिप के अंदर डेटा को यूएसबी / लैन चिप में स्थानांतरित करने की प्रक्रिया है)

(६) यह साबित हो गया है कि एकमात्र बोतल नेक स्रोत बनने जा रहा है (उदाहरण के लिए एक धीमा एसडी कार्ड) यूएसबी हब ९ ०% + पर डेटा पंप करने का प्रबंधन करता है लेकिन ४ और ५ के सवालों के जवाब इस प्रदर्शन को सीधे प्रभावित कर सकते हैं।

इसलिए अन्य उपयोगकर्ताओं के कुछ शोध और योगदान हम प्रारंभिक परिणामों को स्थापित करने और प्राप्त करने के लिए शुरू कर रहे हैं।

यहाँ एक अच्छा चार्ट है जो यह कल्पना करने में मदद करता है कि हम किसके साथ काम कर रहे हैं।

यहाँ छवि विवरण दर्ज करें


1
+1 महान जवाब। हालांकि आप कृपया अपनी छवियों के लिए स्रोत प्रदान कर सकते हैं?
जिविंग्स

1
यह उत्तर इस सवाल के विवरण को जोड़ने का एक उत्कृष्ट काम करता है कि क्यों अलग-अलग भंडारण मीडिया में से प्रत्येक में बहुत अलग प्रदर्शन संख्या हो सकती है। अतिरिक्त जानकारी के लिए धन्यवाद, जो मुझे पहली बार में सवाल में जोड़ना चाहिए था।
दान बी

1
USB अभी भी लगभग 30 एमबी / सेकेंड का है, यानी 100 Mbit नेटवर्क के लिए बहुत कुछ।
थोरबजर्न रेवन एंडरसन

@ ThorbjørnRavnAndersen हाँ यह सच है। लेकिन मेरा एक सवाल एम्बेडेड यूएसबी हब के प्रदर्शन से संबंधित है। हव व्रत वास्तव में है? और क्या यह एआरएम सीपीयू पर निर्भर करता है- यह तब भी होता है जब आप लैन के माध्यम से फॉर्म 2 स्रोतों की नकल करते हैं .. जो कि बेंचमार्किंग के लायक है। मैं यह नहीं कह रहा हूं कि वह ऐसा नहीं करेगा- लेकिन निश्चित रूप से कुछ स्थितियों में समस्या हो सकती है।
पायोत्र कुला

लगता है जैसे आपको क्षेत्र में अनुभव है। क्या आप वास्तविक माप कर सकते हैं?
थॉर्बजोरन रेव एंडरसन

3

जाहिर है, उच्चतम प्रदर्शन एक रैमडिस्क के साथ होगा।

नेटवर्क-अटैच-स्टोरेज डिवाइस के लिए यह ज्यादा उपयोग नहीं होगा, लेकिन फिर, पीआई उस निश्चित एप्लिकेशन के लिए सबसे अच्छा विकल्प नहीं है।

कुछ चीजों के लिए जहां पीआई का लचीलापन विशिष्ट रूप से अनुकूल है, वास्तविक भंडारण आवश्यकताओं को एक रैमडिस्क से स्पष्ट रूप से चलाने के लिए पर्याप्त हो सकता है, या शायद डिस्क कैशिंग तंत्र के माध्यम से रैम से स्पष्ट रूप से (लिनक्स रैमडिसक्स वैसे भी बैकिंग डिस्क के बिना डिस्क डिस्क हैं)।

आपको बूट करने के लिए अभी भी एक कार्ड की आवश्यकता होगी, लेकिन राम से चलने के एक साइड बेनिफिट के रूप में आप कार्ड को केवल पढ़ सकते हैं और इसे दूषित करने के जोखिम को कम कर सकते हैं।


आपको बूट करने के लिए कार्ड की आवश्यकता नहीं है। ऑपरेटिंग सिस्टम / बूट लोडर को इसकी आवश्यकता होती है! यदि आप ऐसा करने के लिए बूटलोडर को बदलते हैं तो आप सीरियल इंटरफ़ेस या लैन से बूट कर सकते हैं। यदि आप तकनीकी रूप से पर्याप्त थे तो आप RPI में 3GB RAM जोड़ सकते हैं - लेकिन यह विषय से हटकर है। तथ्य यह है कि सब कुछ एक बेवकूफ यूएसबी हब के माध्यम से जाता है! ब्लिह
कुला

बूटलोडर नहीं है, कम से कम एक जिसे आप बदल सकते हैं, एसडी कार्ड पर स्थित है? यदि आप कुछ कॉन्फ़िगरेशन पिन पट्टियाँ बदलते हैं, तो आप किसी अन्य स्रोत से लोड करने के लिए आंतरिक बूट रोम प्राप्त करने में सक्षम हो सकते हैं।
क्रिस स्ट्रैटन

मैं लगभग सकारात्मक BCM चिप हूँ .. उदाहरण के लिए arduino की तरह ही एक बूटलोडर है .. (पीसी पर BIOS की तरह) अगले कार्यक्रम को लोड करने के लिए कुछ प्रारंभिक कार्यक्रम होना चाहिए और इसी तरह। आरपीआई पर बूटलेडर को बदलना .. एक या दो साल प्रतीक्षा करें।
पिओट्र कुला

एक आर्डिनो का ATMEGA आंतरिक फ्लैश के साथ अकेले खड़े होने के लिए डिज़ाइन किए गए एक माइक्रोकंट्रोलर का एक उदाहरण है। एक बूलोआडर उपयोगकर्ता अनुकूलन योग्य है। दूसरी ओर पीआईओ का एसओसी बड़े सिस्टम भागों के वर्ग से लगता है जिन्हें बाहरी यादों की आवश्यकता होती है। इनमें आमतौर पर बूट लोडर होता है, लेकिन यह एक मुखौटा रोम है जिसे कारखाने छोड़ने के बाद बदल नहीं सकते। कुछ इस तरह के आधार पर एक पारंपरिक उत्पाद में, एक 4-8 MByte बाहरी फ्लैश चिप होगा। लेकिन पीआई इसके बजाय हटाने योग्य एसडी कार्ड का उपयोग करने लगता है, किसी को सोल्डर डाउन फ्लैश को दूषित करने की समस्या से बचा जाता है।
क्रिस स्ट्रैटन

यह दिलचस्प है। तो क्या यह FAT विभाजन है जिसमें यह बूटिंग डेटा है? या यह कहीं और एसडी के एक छिपे हुए हिस्से पर संग्रहीत है? इसके बाद आप एक और भी आसान प्रयास में, डिवाइस पर लोडिंग प्रक्रिया को एक और "हैक" करने की कोशिश कर सकते हैं ...
Piotr Kula

0

USB HDD या USB SSD आपको सबसे तेज प्रदर्शन देना चाहिए। एसडी कार्ड क्लास 10 उपकरणों के लिए लगभग 12 एमबी / एस लिखते हैं और यूएसबी 30 एमबी / एस तक प्राप्त कर सकते हैं।

मैं इस बात से सहमत नहीं हूं कि USB हब RPi पर ईथरनेट को टटोल रहा है, क्योंकि HUB 400 Mbit / s को बनाए रख सकता है और ईथरनेट 100 है। इसलिए सैद्धांतिक रूप से यह 4 x Fast e ईथरनेट 100Mb / बंदरगाहों तक कायम रह सकता है।


हर वर्ग 10 एसडी मैंने कभी भी परीक्षण किया है> 19mb / s लिखें। मेरा एक वर्ग 6 था जिसने 14mb / s किया था। सैनडिस्क एक्सट्रीम SD का दावा है कि 45mb / s ने 50mb / s पढ़ा और 47mb / s लिखकर हासिल किया, जो एक आश्चर्य की बात थी। लेक्सर 400x SD सबसे तेज़ है जिसे मैंने 70mb / s पढ़े हैं, लेकिन लगभग 30mb / s लिखना है। USB 2.0 पर, तेज़ एसडी कार्ड, HDDs और SSDs में लगभग कोई अंतर नहीं है। सभी USB 2.0 इंटरफेस मैंने लगभग 35mb / s पर कैप के साथ गड़बड़ कर दिया है। मैंने USB 2.0 अंगूठे ड्राइव को देखा है जो 10mb / s के आसपास कैप करता है और कुछ उससे भी कम है। कई USB 3.0 थंब ड्राइव में 10-20 mb / s पर स्पीड कैप लिखी गई है, यहाँ तक कि USB 3.0 पोर्ट पर भी!
Therealstubot

0

मुझे USB फ्लैश ड्राइव और USD HDD के लिए समान रूप से अधिकतम 4Mb / s मिलता है। यह केवल रास्पबेरी से जुड़े डिवाइस के लिए विंडोज़ नेटवर्क 'होमग्रुप' के माध्यम से फ़ाइलों को छोड़ने के दौरान।

मैं कम से कम 10 बार उम्मीद कर रहा था, लेकिन मैं स्थानांतरण गति प्राप्त करने में कामयाब नहीं रहा। मैंने एक USB HDD में सीधे एफ़टीपी हस्तांतरण की कोशिश की (यह डिवाइस मेरे लैपटॉप से ​​कनेक्ट होने पर + 60Mb / s पर स्थानांतरित होता है) लेकिन परिणाम बहुत खराब हैं। 100KiB / है! केवल 100 एमबी के लिए यातायात के घंटों में परिणाम।

मैं अब डेटा ट्रांसफर के लिए लैपटॉप और रास्पबेरी पाई के बीच HDD को स्थानांतरित करता हूं :-(


मुझे लगता है कि आपके पास एक कॉन्फ़िगरेशन / नेटवर्क समस्या है क्योंकि मैं सीधे अपने यूएसबी स्टिक से 24 एमबीपीएस तक की फ़ाइल अपलोड कर सकता हूं। और मुझे लगता है कि मैं वाई-फाई के बजाय ईथरनेट के साथ बेहतर कर सकता था। मैं उपयोग कर रहा हूं vsftpd
मॉर्गन कर्टबेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.