لغة البرمجة R الموزعة
Distributed R هي منصة مفتوحة المصدر وعالية الأداء للغة R. تعمل على تقسيم المهام بين عدة عقد معالجة لتقليل وقت التنفيذ وتحليل مجموعات البيانات الضخمة. تُحسّن Distributed R لغة R بإضافة هياكل بيانات موزعة ، وأدوات توازي لتشغيل الدوال على البيانات الموزعة، وجدولة المهام، ومحملات بيانات متعددة. [ 2 ] تُستخدم في الغالب لتنفيذ نسخ موزعة من مهام التعلم الآلي. كُتبت Distributed R بلغة C++ ولغة R ، وتحافظ على المظهر المألوف للغة R. اعتبارًا من فبراير 2015 توفر شركة هيوليت -باكارد (HP) دعمًا مؤسسيًا لـ Distributed R مع إضافات خاصة مثل أداة تحميل البيانات السريعة من قاعدة بيانات Vertica . [ 3 ]
تاريخ
بدأ مشروع Distributed R في عام 2011 من قبل إندراجيت روي، وشيفارام فينكاتارامان، وألفين أويونغ، وروبرت إس. شرايبر كمشروع بحثي في مختبرات HP. [ 4 ] تم طرحه كمصدر مفتوح في عام 2014 بموجب ترخيص GPLv2 وهو متاح على GitHub .
في فبراير 2015، وصل برنامج Distributed R إلى أول إصدار مستقر له وهو الإصدار 1.0، إلى جانب دعم المؤسسات من شركة HP. [ 5 ]
عناصر
Distributed R هي منصة لتنفيذ وتشغيل التطبيقات الموزعة في لغة R. والهدف هو توسيع نطاق R للحوسبة الموزعة، مع الحفاظ على بساطة R وشكلها وطريقة استخدامها. تتكون Distributed R من المكونات التالية:
- هياكل البيانات الموزعة : تُوسّع لغة R الموزعة هياكل البيانات الشائعة في R، مثل المصفوفة وإطار البيانات والقائمة، لتخزين البيانات عبر عُقد متعددة. هياكل البيانات المقابلة في R الموزعة هي darray وdframe وdlist. كما تتوفر العديد من عمليات هياكل البيانات الشائعة في R، مثل colSums وrowSums وnrow وغيرها، في هياكل البيانات الموزعة.
- الحلقة المتوازية : يمكن للمبرمجين استخدام الحلقة المتوازية، المسماة foreach، لمعالجة هياكل البيانات الموزعة وتنفيذ المهام بالتوازي. يحدد المبرمجون فقط بنية البيانات والدوال اللازمة لتطوير التطبيقات، بينما يقوم وقت التشغيل بجدولة المهام، ونقل البيانات عند الحاجة.
- الخوارزميات الموزعة : نسخ موزعة من خوارزميات التعلم الآلي وخوارزميات الرسوم البيانية الشائعة، مثل التجميع والتصنيف والانحدار.
- أدوات تحميل البيانات : يمكن للمستخدمين الاستفادة من بنيات لغة R الموزعة لتنفيذ موصلات متوازية تقوم بتحميل البيانات من مصادر مختلفة. توفر لغة R الموزعة بالفعل تطبيقات لتحميل البيانات من الملفات وقواعد البيانات إلى هياكل البيانات الموزعة.
التكامل مع قواعد البيانات
توفر HP Vertica تكاملاً سلساً مع قاعدة بياناتها ومنصة Distributed R مفتوحة المصدر. يتضمن HP Vertica 7.1 ميزات تُمكّن من التحميل المتوازي السريع من قاعدة بيانات Vertica إلى Distributed R. يُمكن أن يكون مُحمّل Vertica المتوازي أسرع بخمس مرات (5x) من استخدام موصلات ODBC التقليدية. كما تدعم قاعدة بيانات Vertica نشر نماذج التعلّم الآلي فيها. يُمكن لمستخدمي Distributed R استدعاء الخوارزميات الموزعة لإنشاء نماذج التعلّم الآلي، ونشرها في قاعدة بيانات Vertica، واستخدام النموذج للتقييم والتنبؤ داخل قاعدة البيانات. تم وصف التفاصيل المعمارية لقاعدة بيانات Vertica وتكامل Distributed R في ورقة Sigmod 2015. [ 6 ]
مراجع
- ↑ "الإصدار 1.2.0" . 22 أكتوبر 2015. تم الاطلاع عليه في 20 يوليو 2018 .
- ↑ فينكاتارامان، شيفارام؛ بودزسار، إريك؛ روي، إندراجيت؛ أويونغ، ألفين؛ شرايبر، روبرت س. (2013). "بريستو: التعلم الآلي الموزع ومعالجة الرسوم البيانية باستخدام المصفوفات المتفرقة" (ملف PDF) . المؤتمر الأوروبي لأنظمة الحاسوب (يوروسيس) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 1 مارس 2015.
- ↑ غاليوردي، ناتالي. "شركة HP تضيف نطاقًا أوسع للغة R مفتوحة المصدر في أحدث منصة للبيانات الضخمة" . ZDNet . تم الاطلاع عليه بتاريخ 17 فبراير 2015 .
- ↑ فينكاتارامان، شيفارام؛ روي، إندراجيت؛ أويونغ، ألفين؛ شرايبر، روبرت س. (2012). "استخدام لغة R للمعالجة التكرارية والتزايدية". ورشة عمل حول المواضيع الساخنة في الحوسبة السحابية (HotCloud) .
- ↑ "شركة HP تقدم تحليلات تنبؤية على نطاق البيانات الضخمة" . hp.com . 17 فبراير 2015. تم الاطلاع عليه بتاريخ 17 فبراير 2015 .
- ↑ براساد، شريا؛ فارد، أراش؛ غوبتا، فيشروت؛ مارتينيز، خورخي؛ ليفيفري، جيف؛ شو، فينسنت؛ هسو، ميتشون؛ روي، إندراجيت (2015). "تمكين التحليلات التنبؤية في فيرتيكا: نقل البيانات السريع، وإنشاء النماذج الموزعة، والتنبؤ داخل قاعدة البيانات". المؤتمر الدولي لإدارة البيانات ACM SIGMOD .
روابط خارجية
- لغة البرمجة R
- برنامج يستخدم رخصة جنو العمومية العامة
- برنامج إحصائي مجاني
- برامج استخراج البيانات والتعلم الآلي
- برنامج التحليل العددي لنظام لينكس
- الحوسبة العنقودية
- الحوسبة المتوازية
