2012-05-23 7 views
11

बड़ी फ़ाइलों के md5 योग की गणना करते समय, मुझे एक सीपीयू कोर कूद 100% तक लगता है, हालांकि यह लंबे समय तक लेता है, अन्य सभी कोर निष्क्रिय रहता है।क्या एमडी 5 कई कोर/धागे में चलाने के लिए टूटा जा सकता है?

एमडी 5 की मेरी प्राथमिक समझ पूरी प्रक्रिया पूरी तरह से रैखिक है, जहां मूल्य पिछले सभी मानों पर निर्भर हैं, और ऐसा कुछ भी नहीं है जिसे हम बहु-थ्रेडेड बनाने के लिए कर सकते हैं। क्या ये सच है?

या वहाँ एक रास्ता वर्गों में फ़ाइलों को तोड़ने के लिए है, की गणना < कुछ > बहु कोर का उपयोग कर कई हिस्सों पर, और फिर अंतिम md5 में उन < कुछ > मूल्यों गठबंधन?

एमडी 5 एसयूएम की गणना करने के लिए हम जिस लाइब्रेरी का उपयोग कर रहे हैं वह http://libmd5-rfc.sourceforge.net/ है, लेकिन यदि मैं कई कोरों में md5sum को तोड़ना संभव था तो मैं एक अलग से स्विच करूँगा ताकि यह तेज़ी से पूरा हो सके।

(नोट:। Md5 के अलावा कुछ करने के लिए बदल रहा है सवाल नहीं है, न ही यह क्योंकि अन्य बंद प्रणालियों के किया जा सकता है जो इस इंटरफेस और न ही md5 का उपयोग कर की सुरक्षा के बारे में इस सवाल यह है कि करने के लिए।)

+3

क्या आपने इसके लिए Google किया था? "समांतर कार्यान्वयन एमडी 5" के लिए पहली हिट में से एक है: http://wwwcip.cs.fau.de/~spjsschl/md5.pdf, जो दिखाता है कि संक्षिप्त उत्तर "हां, यह कर सकता है।" आपके "नोट" के लिए –

+0

+1। यद्यपि तथ्य यह है कि आप मुद्दों से अवगत हैं, इसका तात्पर्य है कि शायद आपको उनके बारे में कुछ करने पर विचार करना चाहिए ... – Ben

+4

@ जेरीकॉफिन मुझे लगता है कि लेख थोड़ा भ्रामक है। मैंने इकट्ठा किया कि वे पासवर्ड हैशिंग के लिए एमडी 5 के एकाधिक पुनरावृत्तियों के समानांतर थे, एमडी 5 एल्गोरिदम स्वयं समानांतर नहीं। उनका अन्य अनुकूलन 4 32-बिट रजिस्टरों के बजाय एक बड़े 128-बिट एसएसई रजिस्टर का उपयोग करना था। – greg

उत्तर

9

नहीं, आप इसे फ़ाइल स्तर पर अलग नहीं कर सकते हैं। एमडी 5 एक राज्य को बनाए रखता है क्योंकि यह डेटा के माध्यम से चलता है।

संबंधित मुद्दे