سؤال

لدينا علامة مقعد الأداء الحديثة التي أحاول فهمها. لدينا برنامج نصي كبير أن الأداء يظهر بطيئة 50٪ على آلة Linux Redhat من جهاز كمبيوتر محمول Windows 7 حيث تكون المواصفات قابلة للمقارنة. يتم تشغيل آلة Linux باستخدام KVM ولديها 4 نوى مخصصة لها مع 16 جيجابايت من الذاكرة. البرنامج النصي ليس مكثفا ولكن لديه عدد قليل من الحلقات. عادة ما أتساءل عما إذا كان هناك أي خيارات تجميع r التي يمكنني استخدامها لتحسين أو أي خيارات مترجم kernel قد تساعد في جعل هذا أكثر مماثلة. كل التقدير لكل النصائح. سأحاول الحصول على جهاز آخر واختباره باستخدام المعدن الخام أيضا للحصول على مقارنة أفضل.

مقارنات التعريفات

هذه هي إشارات تكوين التي أستخدمها لتجميع R على جهاز Linux. لقد جربت قليلا، وهذا يبدو أنه قطع 12 ثانية من وقت التنفيذ باللون الأخضر لمجموعات بيانات أكبر. أساسا ذهبت من 2.087 إلى 1.48 ثانية مع هذه الخيارات.

giveacodicetagpre.

تحديث 1

البرنامج النصي لم يتم تحسينه بعد. تعمل مجموعة أخرى في الواقع على البرنامج النصي وطرحنا طلبات استخدام وظيفة تطبيق ولكن لست متأكدا من أن هذا يفسر التباين في الأوقات.

الجزء العلوي من الملف الشخصي يشبه هذا. سيتم تحسين معظم هذه الوظائف في وقت لاحق باستخدام تطبيقات تطبيق ولكن الآن هو Apples ملحوظ في مقاعد البدلاء للتفاح على كلا الجهازين.

giveacodicetagpre.

شكوكي الأولى وسأقوم باختبار قريبا وتحديث النتائج الخاصة بي هو أن KVM Linux Virtualization هو اللوم. هذا البرنامج النصي مكثف ذاكرة للغاية وبسبب العدد الكبير من عمليات الصفيف ويتم تمرير R بالنسخة (أي بالطبع يجب أن يتسبب ذلك في المشكلة. نظرا لأن VM ليس لديه حق الوصول المباشر إلى وحدة تحكم الذاكرة ويجب مشاركتها مع ذلك، فقد يؤدي ذلك إلى أن هذا قد يؤدي ذلك إلى أن المشكلة. سأحصل على آلة خام في وقت لاحق اليوم وسوف يتم تحديثها مع نتائجي.

شكرا لكم جميعا على التحديثات السريعة.

تحديث 2

اعتقدنا في الأصل سبب مشكلة الأداء ناتج عن خيوط Hyper مع VM، ولكن تحول هذا الأمر غير صحيح والأداء كان هو نفسه على آلة معدنية عارية نسبيا.

أدركنا في وقت لاحق أن Windows Laptop يستخدم إصدار 32 بت من R مقابل الحسابات. هذا دفعنا إلى تجربة نسخة 64 بت من R والنتيجة كانت أبطأ بنسبة 140٪ من 32 بت نفسها نفس البرنامج النصي بالضبط. هذا يقودني إلى مسألة كيف يمكن أن يكون الرقم 64 بت ~ 140٪ أبطأ من نسخة 32 بت من R؟

ما نراه هو أن 32

تنفيذ ويندوز 32 بت وقت الإعدام 48 ثانية وقت تنفيذ Windows 64 بت 2.33 ثانية.

وقت التنفيذ Linux 64 بت 2.15 ثانية. وقت التنفيذ Linux 32 بت <قيد التقدم> (قم ببناء إصدار 32 بت على Rhel 6.3 x86_64 لكنه لم ير تحسين الأداء، سأعمل إلى إعادة تحميل إصدار 32 بت من RHEL 6.3)

وجدت هذا الرابط ولكنه يفسر فقط 15-20٪ ضرب على حوالي 64 بت الآلات.

p> http://www.hep.by /gnu/r-patched/r-admin/r-admin_51.html

آسف لا أستطيع نشر البرنامج النصي قانونيا.

هل كانت مفيدة؟

المحلول 3

تم حل المشكلة وكان سبب مكتبة Blas غير محسنة.

كانت هذه المقالة مساعدة كبيرة.كان استخدام Atlas مساعدة رائعة.

http://www.cybaea.net/المدونات / البيانات / أسرع R- من خلال blas.html

نصائح أخرى

ألق نظرة على الأقسام على "التنميط" في كتابة صملحقات دليل.

من 30،000 قدم، لا يمكنك أن تقول الكثير آخر - ستحتاج إلى معلومات التنميط."الإجماع العام" (وأنا وضع هذا في اقتباسات كما لا يمكنك تعميم هذه الأشياء حقا) هل يميل Linux إلى القيام بتحسين إدارة الذاكرة ووصول الملفات، لذلك أنا دهش قليلا من نتائجك.

بناء r مع --enable-R-shlib يمكن أن يسبب عقوبة الأداء.تمت مناقشة هذا في ترك التثبيت والإدارة ، في الملحق B، القسم 1 .هذا وحده يمكن أن يفسر 10-20٪ من الاختلاف.يمكن أن تكون المصادر الأخرى من الاختلافات في "المواصفات القابلة للمقارنة".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top