Quantcast
Channel: وادي التقنية - المقالات
Viewing all 76 articles
Browse latest View live

نظرة معمقة على الحاسوب العملاق supercomputer

$
0
0

نتابع اليوم سلسلة المقالات المتخصصة في مجال تقنيات الحوسبة السحابية، كنا قد نشرنا سابقا مقالةماذا تعرف عن البيانات الضخمة Big Data؟و ماذا تعرف عن حوسبة كثيفة البيانات Data-intensive computing؟موضوع مقالة اليوم هي نظرة معمقة على الحاسوب العملاق Supercomputer التي لها علاقة وثيقة بالبيانات الضخمة وكيفية معالجعتها. هذه المقالة عبارة عن ترجمة لمقالة Supercomputerمن موسوعة ويكيبديا،وذلك من أجل إثراء المحتوى العربي في هذا المجال المتخصص.

( الحاسوب العملاق Blue Gene/P في معمل أرجونا الوطني يشغل ما يقارب 250,000 معالج باستخدام نظام تبريد مركز بيانات

عادي مجمعة في 72 كابينة موصولة بشكبة ألياف بصرية عالية السرعة.)[1]

الحاسوب العملاق (supercomputer) هو حاسوب يقبع في المرتبة الأولي من حيث قدرة المعالجة الحالية، ولا سيما سرعة الحساب. لقد تم استخدام مصطلح الحوسبة الخارقة "Super Computing"لأول مرة في New York World عام 1929 للإشارة إلى أجهزة تنظيم الجداول العملاقة التي قامت IBM بصناعتها لجامعة كولومبيا.

والجدير بالذكر أن أجهزة الحاسوب العملاقة قدمت في الستينات، وصممت في البداية من قبل "سيمور كراي"في Control Data Corporation، وبعد ذلك في Cray Research. في حين أن أجهزة الحاسوب العملاقة التي صممت في السبعينات كانت تستخدم عدد قليل من المعالجات فقط، إلا أنه في التسعينات، بدأت الآلات التي تحتوي على آلاف المعالجات في الظهور، وبحلول نهاية القرن العشرين، أصبحت أجهزة الحاسوب العملاقة المتوازية التي تمتلك عشرات الآلاف من المعالجات هي المعيار الأساسي لهذه الأجهزة[2][3].

فالأنظمة ذات العدد الهائل من المعالجات، عادة ما تسلك أحد المسارين: النهج الأول، على سبيل المثال، في الحوسبة الشبكية تكون قوة معالجة عدد كبير من الحواسيب في المجالات الإدارية الموزعة والمتنوعة تنتهز الفرصة لاستخدامها كلما كان جهاز الحاسوب متاح. وفي النهج الآخر،يستخدم عدد كبير من المعالجات على مقربة من بعضها البعض، على سبيل المثال، في الحوسبة العنقودية. إن استخدام معالجات متعددة الأنوية جنباًإلى جنب مع المعالجات المركزية هو اتجاه ناشي[5][6]. واعتباراً من نوفمبر 2012، أصبح حاسب Cray Titan العملاق هو أسرع حاسوب في العالم.

وتلعب أجهزة الحاسوب العملاقة دوراً هاماً في مجال العلوم الحاسوبية، كما أنها تستخدم من أجل مجموعة واسعة من المهام المكثفة حسابياً في مختلف المجالات، بما فيها ميكانيكا الكم، التنبؤ بالطقس، أبحاث المناخ، التنقيب عن النفط والغاز، النمذجة الجزيئية (حوسبة تركيب وخواص المركبات الكيميائية، الجزيئات البيولوجية، البوليمرات والبلورات)، المحاكاة الفيزيائية (مثل محاكاة الطائرات في أنفاق الرياح، محاكاة تفجير الأسلحة النووية وأبحاث الإندماج النووي).

التاريخ

يرجع تاريخ الحوسبة العملاقة إلى الستينات، عندما صممت سلسلة من الحواسيب في Control Data Corporation بواسطة "سيمور كراي"بهدف استخدام التصاميم المبتكرة والتوازي لتحقيق أداء هائل في الذروة الحسابية. هذا وقد أُطلق CDC 6600 عام 1964، والذي يعتبر بشكل عام هو أول حاسوب عملاق[8][9].

ومن ناحية أخري، فقد ترك "كراي"مركز CDC عام 1972 ليؤسس شركته الخاصة[10]. وبعد أربع سنوات من مغادرته CDC، قام "كراي"بإطلاق (80 MHz Cray 1) عام 1976، والذي أصبح واحد من أكثر أجهزة الحاسوب العملاقة نجاحاً في التاريخ[11][12]. كما أصدر (Cray-2) عام 1985، والذي كان عبارة عن حاسوب ذي 8 معالجات ذات تبريد سائل تضخ مادة Fluorinert من خلاله أثناء عمله. وكان يعمل بسرعة 1.9 جيجا فلوب، مما جعله الأسرع في العالم حتي 1990[13].

 

حاسوب Cray-1 العملاق محفوط في المتحف الألماني

في حين أن أجهزة الحاسوب العملاقة التي طرحت في الثمانينات لم تستخدم سوى عددا قليلا فقط من المعالجات، إلا أنه في التسعينات، بدأت الأجهزة التي تمتلك آلاف المعالجات في الظهور في كل من الولايات المتحدة واليابان، محققة أرقاماً قياسية جديدة في الأداء الحسابي. حيث استخدم الحاسوب العملاق Numerical Wind Tunnel التابع لشركة Fujitsu، 166 معالج موجه للحصول على المركز الأول في عام 1994 مع سرعة ذروة وصلت إلى 1.7 جيجا فلوب لكل معالج[14][15]. أما Hitachi SR2201، فقد حصل على أعلى مستويات الأداء بـ 600 جيجا فلوب عام 1996 عن طريق استخدام 2048 معالج متصل عن طريق شبكة عارضة سريعة ثلاثية الأبعاد[16][17][18]. في حين أن Intel Paragon يمكن أن يكون قد امتلك من 1000إلى 4000 معالج Intel i860 في تشكيلات مختلفة، وقد تم تصنيفه على أنه الأسرع في العالم عام 1993. وقد كان Paragon عبارة عن جهاز (MIMD) يقوم بتوصيل المعالجات عن طريق شبكة عالية السرعة ذات أبعاد ثنائية، والتي تسمح للمعالجات بتنفيذ العمليات في عقد منفصلة، وتتواصل عن طريق واجهة تمرير الرسائل[19] (Message Passing Interface).

المكونات والمعمارية

لقد اتخذت مناهج معمارية الحواسيب العملاقة منعطفات درامية منذ أن قدم أول نظام في الستينات. فمعمارية الحواسيب العملاقة الأولي والتي كان رائدها "سيمور كراي"اعتمدت على التصاميم المبتكرة والتوازي المحلي لتحقيق أداء حسابي متفوق.[7]

كابينة Blue GeneL تظهر مخدامات Blade كل واحد منها يحوي العديد من المعالجات

وبينما استخدمت الحواسيب العملاقة في السبعينات عدد قليل من المعالجات، إلا أنه في التسعينات، بدأت الأجهزة التي تستخدم آلاف المعالجات في الظهور بحلول نهاية القرن العشرين. ومن هذا المنطلق، أصبحت أجهزة الحواسيب العملاقة المتوازية التي تمتلك عشرات الآلاف من المعالجات هي المعيار الأساسي لهذه الأجهزة. ويمكن لأجهزة الحواسيب العملاقة في القرن 21 أن تستخدم أكثر من 100.000 معالج (بعضها وحدات رسم) متصلة بواسطة اتصالات سريعة[2][3].

طوال العقود الماضية، ظلت إدارة كثافة الحرارة قضية رئيسية بالنسبة لمعظم أجهزة الحاسوب العملاقة المركزية[20][21][22]. حيث أن كمية الحرارة الكبيرة المتولدة من النظام ربما يكون لها آثار أخري أيضاً، على سبيل المثال، تخفيض العمر الافتراضي لمكونات النظام الأخري[23]. ولذلك، فقد نشأت توجهات متنوعة لإدارة الحرارة، بدءاً من ضخ Fluorinert خلال النظام، وصولاً إلى نظام التبريد الهجين عن طريق الهواء والسوائل أو تبريد الهواء عن طريق درجة حرارة تكييف الهواء العادي[13][24].

إن الأنظمة ذات العدد الهائل من المعالجات، عادة ما تسلك أحد المسارين: النهج الأول، المعروف بالحوسبة الشبكية حيث تكون قوة المعالجة في العدد الكبير من الحواسيب متنوعة في مجالات الإدارة والتوزيع وتنتهز الفرصة لاستخدماها كلما كان أي جهاز حاسوب متاحا[4]. وفي النهج الآخر، يتم استخدام عدد كبير من المعالجات على مقربة من بعضها البعض، على سبيل المثال، في الحوسبة العنقودية. وفي مثل هذا النظام المركزي المتوازي الضخم تصبح سرعة ومرونة الربط مهمة جداً، وتستخدم الحواسيب العملاقة الحديثة مناهج مختلفة تتنوع بين أنظمة Infiniband وصولاً إلى الرقاقات ثلاثية الأبعاد[25][26]. ويعتبر استخدام المعالجات متعددة الأنوية جنباً إلى جنب مع المعالجات المركزية هو أحد الاتجاهات الناشئة حديثاً كما هو الحال في نظام Cyclops64. [5][6]

وحيث أن سعر/أداء معالجات الرسومات المخصصة للأغراض العامة (GPGPUs) قد تحسن، فقد بدأت عدد من أجهزة الحاسوب العملاقة ذات سرعة " petaflop"مثل Tianhe-I و Nebulae بالاعتماد عليها[27]. ومع ذلك، فإن الأنظمة الأخري مثل " K computer"استمرت في استخدام المعالجات التقليدية مثل SPARC وكان الاستعمال العام لمعالجات وحدات معالجة الرسومات في تطبيقات الحوسبة عالية الأداء محل نقاش دائم[28]. وعلى أية حال، فإن وحدات معالجة الرسومات ""GPU تكتسب شعبية لا بأس بها، وفي عام 2012 حوّل الحاسب العملاق Jaguarإلى Titan عن طريق استبدال وحدات المعالجة المركزية "CPU"بوحدات معالجة رسومات "GPU".[29][30][31]

وقد صممت عدة أنظمة "الأغراض الخاصة"، المكرسة لمشكلة واحدة. ويسمح هذا باستخدام رقائق FPGA المبرمجة خصيصاً أو حتي رقائق VLSI التقليدية، والتي توفر معدلات أسعار/أداء أفضل عن طريق التضحية بالعمومية. وتتضمن الأمثلة الخاصة بالحواسيب العملاقة المتخصصة [32]Belle، [33]Deep Blue و [34]Hydra من أجل لعب الشطرنج، Gravity Pipe[35]من أجل الفيزياء الفلكية، MDGRAPE-3 من أجل حساب بنية البروتين الجزيئية[36]و Deep Crack[37]من أجل كسر شفرات DES.

استخدامالطاقة وإدارة الحرارة

الحاسوب العملاق التقليدي يستهلك كميات كبيرة من الطاقة الكهربائية، ويحول الغالبية العظمي منها تقريباً إلى حرارة والتي تتطلب عملية التبريد. على سبيل المثال، Tianhe-1A يستهلك 4.04 ميجا وات من الكهرباء[38]. ويمكن أن تكون تكلفة تشغيل وتبريد النظام كبيرة جداً، على سبيل المثال، 4 ميجا وات * 0.10 دولار لكل كيلو وات تصبح النتيجة الإجمالية 400 دولار في الساعة أو حوالي 3.5 مليون دولار في السنة.

إن إدارة الحرارة تعتبر قضية رئيسية في الأجهزة الإلكترونية المعقدة، وتؤثر على أنظمة الحاسوب القوية بعدد من الطرق المختلفة[39]. إن تصميم الطاقة الحرارية وطاقة وحدة المعالجة المركزية المستهلكة هي قضايا تتجاوز تلك التقنيات التبريدية الخاصة بالحواسيب التقليدية. وجوائز الحوسبة العملاقة الخاصة بالحوسبة الخضراء تعكس هذه القضية[40][41][42].

إن تجميع آلاف المعالجات مع بعضها البعض يولد بالتأكيد كميات ضخمة من الكثافة الحرارية التي تحتاج إلى التعامل معها. لقد كان Cray 2 يعمل بنظام تبريد سائل، واستخدم Fluorinert "شلال تبريد"والذي يتم ضخه من خلال الوحدات تحت الضغط[13]. ومع ذلك، فإن نهج التبريد بالسائل المغمور لم يكن عملي للأنظمة متعددة المقصورات والتي تعتمد على المعالجات الجاهزة للاستخدام، وفي نظام System X طوّر نظام تبريد خاص بالاشتراك مع شركة Liebert والذي دمج بين تكييف الهواء مع التبريد السائل[24].

IBM HS20blade

أما في نظام Blue Gene تعمدت IBM استخدام المعالجات منخفضة الطاقة للتعامل مع كثافة الحرارة[43]. ومن ناحية أخري، فإن IBM Power 775 الذي أطلق عام 2011، قد قام بتجميع العناصر التي تحتاج إلى مياه تبريد بشكل وثيق[44]. ومن الناحية الأخري، فقد استخدم IBM Aquasar system تبريد المياه الساخنة لتحقيق الكفاءة في استخدام الطاقة، حيث كان يتم استخدام المياه لتدفئة المباني كذلك[45][46].

وتقاس كفاءة استخدام الطاقة في أنظمة الحاسوب بشكل عام من حيث "فلوب لكل وات"[47][48]. وفي 2008، عمل نظام Roadrunner التابع لشركة IBM بقوة 376 [49][50]MFLOPS/Watt. وفي نوفمبر 2010، وصل Blue Gene/Qإلى 1684 MFLOPS/Watt. أما في يونيو 2011، فإن أعلى مركزين في قائمة Green 500 قد أحتلت من قبل ماكينات Blue Gene في نيويورك (واحد منهم حقق 2097 MFLOPS/W) مع مُركب DEGIMA في ناغازاكي والذي حل ثالثاً مع 1375 MFLOPS/W.[51]

إدارة البرمجيات والنظام

نظام التشغيل

منذ نهاية القرن العشرين، خضعت أنظمة الحواسيب العملاقة لعدد من التحولات الكبري، نظرا لما طرأ من تغييرات في معمارية وتكوين هذه الأجهزة[52]. فبينما كانت الأنظمة الأولي مصممة خصيصاً لكل حاسوب عملاق لإكسابه السرعة، كان يجب على الاتجاه أن يبتعد عن أنظمة التشغيل المحلية والاتجاه إلى تطويع برامج عامة مثل اللينكس[53].

ومعرفة أن هذه الحواسيب العملاقة الحديثة المتوازية تقوم بفصل العمليات الحسابية عن الخدمات الأخري عن طريق استخدام أنواع متعددة من العقد، فهي عادة ما تعمل بأنظمة تشغيل مختلفة على العقد المختلفة، على سبيل المثال – استخدام نواة صغيرة وخفيفة الوزن وذات كفاءة مثل CNK أو CNL على عُقد الحوسبة، ولكن يستخدم نظام أكبر مثل أحد مشتقات اللينكس على المخدم وعُقد الدخل والخرج [54][55][56].

بينما في نظام الحاسوب متعدد المستخدمين التقليدي تكون جدولة الوظائف هي في الواقع مشكلة المهام للمعالجة والمصادر المحيطة، ولكن في النظام الموازي على نطاق واسع، يحتاج نظام إدارة الوظائف إلى إدارة توزيع كلا من الموارد الحاسوبية والاتصالات، وكذلك التعامل بأمان مع فشل الأجهزة الذي لا مفر منه عندما يكون هناك عشرات الآلاف من المعالجات موجودة[57].

ورغم أن معظم الحواسيب العملاقة الحديثة تستخدم نظام التشغيل لينكس، إلا أن كل مُنتج قد وضع تغييراته الخاصة على النظام الذي يستخدمه، ولا يوجد هناك معيار ثابت للصناعة، ويرجع ذلك بشكل من الأشكال إلى حقيقة الاختلافات الموجودة في مكونات الأجهزة والتي تتطلب تغييرات لملائمة نظام التشغيل مع كل تصميم.[52][58]

أدوات البرمجيات وتمرير الرسائل

إن الأبنية الموازية للحواسيب العملاقة غالباً ما تحتاج لاستخدام تقنيات برمجة خاصة لاستغلال سرعتهم الفائقة. وتشمل أدوات البرمجيات الخاصة بالمعالجة الموزعة واجهات API تقليدية مثل MPI و PVM، VTL، وحلول البرمجيات القائمة على البرمجيات مفتوحة المصدر من مثل Beowulf.

في السيناريوهات الأكثر شيوعاً، تستخدم البيئات مثل PVM و MPI الخاصة بالعناقيد المتصلة بحرية و OpenMP لإحكام استخدام ذاكرة آلات المشتركة. ويتطلب بذل جهد كبير من أجل تحسين خوارزمية لخصائص الربط الذي سيعمل عليها الجهاز، والهدف منذ ذلك هو منع أي وحدة من وحدات المعالجة المركزية من إضاعة الوقت في انتظار بيانات من العقد الأخري. وتمتلك وحدات معالجة الرسومات العامة المئات من أنوية المعالجة ويتم برمجتها باستخدام نماذج البرمجة مثل CUDA.

 

 

نظرة من زاوية لحاسوب مرصد ألماالعملاق

الحوسبة العملاقة الموزعة

نهج الانتهازية (المناهج النفعية)

إن الحوسبة العملاقة الانتهازية هو شكل من أشكال شبكات الحوسبة الشبكية والتي بموجبها يقوم "حاسوب ظاهري عملاق"ذو آلات حوسبة عديدة متباعدة بتنفيذ مهام حوسبة كبيرة جداً. وقد تم تطبيق الحوسبة الشبكية على عدد من المشاكل الموازية الحرجة على نطاق واسع والتي تتطلب مقاييس أداء الحوسبة العملاقة. ومع ذلك، فإن مناهج الشبكة الأساسية والحوسبة السحابية التي تعتمد على الحوسبة التلقائية لا يمكن أن تعالج مهمات الحوسبة العملاقة التقليدية مثل المحاكاة الديناميكية للسوائل.

إن أسرع نظام حوسبة شبكية هو مشروع الحوسبة الموزعة Folding@home. ويذكر أن Folding@home كانت تبلغ سرعته 8.1 بيتافلوب من قوة معالجة x86 وذلك في مارس 2012. من بين هذه السرعة هناك 5.8 بيتافلوب مساهمة من العملاء الذين يعملون على وحدات معالجة الرسومات المتنوعة، و 1.7 بيتافلوب تأتي من أنظمة البلاي ستيشن 3، والبقية تأتي من أنظمة وحدات المعالجة المركزية المختلفة.[60]

وتستضيف منصة BOINC عدداً من مشاريع الحوسبة الموزعة. واعتباراً من مايو 2011، سجلت BOINC قوة معالجة بلغت أكثر من 5.5 بيتافلوب من خلال أكثر من 480.000 حاسوب نشط على الشبكة[61]. أما المشروع الأكثر نشاطاً (يقاس بواسطة قوة الحوسبة) MilkyWay@home، فقد سجل قوة معالجة أكثر من 700 تيرافلوب من خلال أكثر من 33.000 حاسوب نشط.[62]

واعتباراً من مايو 2011م ، قام Mersenne Prime التابع لمؤسسة GIMPS بتحقيق حوالي 60 تيرافلوب من خلال أكثر من 25.000 جهاز حاسوب مسجل[63]. ويقوم Internet PrimeNet Server بدعم نهج الحوسبة الشبكية الخاص بـ GIMPS، والذي يعتبر واحد من أقدم وأنجح مشاريع الحوسبة الشبكية منذ عام 1997.

وفي2012م، صنع "سيمون كوكس"حاسوب عملاق يتكون من 64 جهاز Raspberry Pi. وقد أُطلق على الجهاز اسم Iridis-Pi. وقد بلغت تكلفة النظام بأكمله أقل من 2.500 جنيه استرليني (باستثناء المفاتيح) وبمجموع كلي من الذاكرة بلغ 1 تيرا بايت (بطاقات ذاكرة SD بسعة 16 جيجا بايت لكل جهاز Raspberry Pi).[64]

المناهج شبه الانتهازية (المناهج النفعية ظاهريا)

إن الحوسبة العملاقة الشبه انتهازية هي شكل من أشكال الحوسبة الموزعة والتي يقوم بموجبها "حاسوب ظاهري عملاق"ذو عدد كبير من الحواسيب صاحبة الشبكات المشتتة جغرافيا بأداء مهام حوسبة تتطلب قوة معالجة ضخمة.[65]وتهدف الحوسبة العملاقة الشبه انتهازية إلى توفير جودة أعلى للخدمة من الحوسبة الشبكية الانتهازية عن طريق تحقيق مزيد من السيطرة على توزيع المهام على المصادر المختلفة واستخدام تبادل المعلومات حول توافر وموثوقية الأنظمة الفردية داخل شبكة الحوسبة العملاقة. ومع ذلك، ينبغي تحقيق توزيع شبه الانتهازية الخاصة بطلب برامج الحوسبة المتوازية في الشبكات من خلال تنفيذ اتفاقيات توزيع الشبكات بحكمة، والأنظمة الفرعية المشاركة في التوزيع، وآليات توزيع الاتصالات المتعلقة بالطوبولوجيا،و مكتبات تمرير رسائل الخطأ والبيانات سابقة التكييف.[65]

قياس الأداء

القدرة مقابل السعة

تهدف الحواسيب العملاقة عموماً لتحقيق القدرة القصوى في قدرات الحوسبة بدلاً من سعة الحوسبة. وعادة ما يُعتقد أن قدرة الحوسبة تستخدم قوة الحوسبة القصوى لحل مشكلة كبيرة واحدة في أقصر وقت ممكن. وغالباً ما يكون نظام القدرة الحوسبية قادر على حل مشكلة ذات حجم أو تعقيد لا يمكن لأجهزة الحاسوب الأخرى حلها، على سبيل المثال تطبيق محاكاة معقدة جداً للطقس.[66]

وفي المقابل، يُعتقد عادة أن سعة الحوسبة تستخدم قوة حوسبة ذات كفاءة غير مكلفة لحل عدد صغير من المشاكل الكبيرة نوعاً أو عدد كبير من المشاكل الصغيرة، على سبيل المثال، طلبات دخول العديد من المستخدمين لقاعدة بيانات أو موقع ويب. إن المعماريات التي تصلح لدعم العديد من المستخدمين من أجل المهام اليومية ربما يكون لديها الكثير من القدرات ولكنها لا تعتبر عادة حواسيب عملاقة، نظراً لأنها لا تستطيع حل مشكلة معقدة واحدة.[66]

مقاييس الأداء

بشكل عام، تقاس سرعة الحواسيب العملاقة وتقييمها عن طريق "FLOPS" (عمليات النقطة العائمة في الثانية) وليس من حيث MIPS أي (التعليمات في الثانية الواحدة)، كما هو الحال مع أجهزة الحاسوب المخصصة للأغراض العامة[67]. هذه القياسات عادة ما تُستخدم مع بادئة SI ( سوابق النظام الدولي للوحدات ) مثل تيرا-، جنباً إلى جنب مع الاختزال "تيرا فلوب" (1012 فلوب، تعني تيرا فلوب)، أو بيتا-، جنباً إلى جنب مع الاختزال "بيتا فلوب" (1015 فلوب، تعني بيتا فلوب). أما الحواسيب العملاقة بسرعة "Petascale"فيمكنها العمل بسرعة واحد كوادريليون (1015) (1000 تريليون) فلوب. ويعتبر Exascale هو أداء حوسبي في نطاق exaflops. وإكسافلوب هو واحد كوينتليون (1018) فلوب (مليون تيرا فلوب).

أعلى الحواسيب العملاقة سرعة: سرعة logscale خلال ستين سنة

ولا يمكن لرقم واحد أن يعكس الأداء الكلي لنظام الحاسوب، ومع ذلك، فإن هدف مؤشر Linpack هو تقريب مدى سرعة الحاسوب في حل المشاكل العددية، كما أنه يستخدم على نطاق واسع في الصناعة[68]. إن وحدة القياس FLOPS إما يتم نقلها بناءً على أداء النقطة العائمة النظري للمعالج (مشتق من مواصفات معالج الشركة المُصنعة ويتم إظهاره على شكل "Rpeak"في قوائم أفضل 500) والذي عادة ما يكون غير قابل للتحقيق عند تشغيل أحمال العمل الحقيقية، أو الإنتاجية القابلة للتحقيق، والمشتقة من معايير LINPACK ويتم عرضها كـ "Rmax"في قائمة أفضل 500. ويقوم مقياس LINPACK عادة بأداء تحليل LU لمصفوفة كبيرة. ويقوم أداء LINPACK بإعطاء بعض المؤشرات لأداء بعض المشاكل الحقيقية، ولكن لا يطابق بالضرورة متطلبات المعالجة لعديد من أحمال التشغيل الخاصة بالحواسيب العملاقة الأخرى، والتي على سبيل المثال قد تتطلب المزيد من مساحة الباندويث للذاكرة، أو قد تتطلب أداء أفضل للحوسبة، أو ربما تحتاج نظام I/O عالي الأداء لتحقيق مستويات عالية من الأداء.[68]

قائمة أفضل 500 (TOP500)

منذ عام 1993، صنفت أسرع الحواسيب العملاقة في قائمة TOP500 وفقاً لنتائجها في معايير LINPACK. القائمة لا تعتبر منحازة أو نهائية، ولكنها تعتبر تعريفا حاليا ذا مرجعية "لأسرع"حواسيب عملاقة متاحة في أي وقت من الأوقات.

هذه هي القائمة الحالية لأجهزة الحاسوب التي ظهرت في أعلى قائمة [69]TOP500، وقد حصل "Peak speed"على تقييم "Rmax". وللمزيد من البيانات التاريخية انظر تاريخ الحوسبة العملاقة.

سنةالحاسوب العملاق
Peak speed
(Rmax)
المكان
2008IBMRoadrunner1.026 PFLOPSLos Alamos, USA
1.105 PFLOPS
2009CrayJaguar1.759 PFLOPSOak Ridge, USA
2010Tianhe-IA2.566 PFLOPSTianjin, China
2011FujitsuK computer10.51 PFLOPSKobe, Japan
2012IBM Sequoia16.32 PFLOPSLivermore, USA
2012CrayTitan17.59 PFLOPSOak Ridge, USA

لقد كان Sequoia هو أسرع حاسب عملاق في العالم بسرعة 16.32 بيتافلوب، والذي يستهلك 7890.0 كيلو وات حتي 29 أكتوبر 2012 عندما ظهر Titan على الساحة.[70][71]

تطبيقات الحواسيب العملاقة

إن مراحل تطبيقات الحواسيب العملاقة يمكن تلخيصها في الجدول التالي:

العقد

الاستخدامات والأجهزة المتضمنة

السبعينات

التنبؤ بالطقس، البحوث الهوائية[72] (Cray-1)

الثمانينات

تحليل الاحتمالات[73]، نمذجة الحماية من الأشعة[74] (CDC Cyber)

التسعينات

كسر التشفير بالقوة[75] Brute (EFF DES cracker)

2000

المحاكاة ثلاثية الأبعاد للتجربة النووية كبديل لمعاهدة منع انتشار الأسلحة النووية[76] (ASCI Q)

2010

محاكاة ديناميكية الجزيء[77] (Tianhe-1A)

وقد استخدم حاسوب IBM Blue Gene/P في محاكاة عدد من الخلايا العصبية الاصطناعية بما يعادل حوالي 1% من القشرة الدماغية للإنسان، والتي تحتوي على 1.6 مليار خلية عصبية مع ما يقرب من 9 تريليون اتصال. وقد نجح نفس فريق البحث أيضاً في استخدام الحاسوب العملاق في محاكاة عدد من الخلايا العصبية الاصطناعية التي تعادل مجمل دماغ فأر.[78]

ويعتمد التنبؤ بالأحوال الجوية في العصر الحديث أيضاً على أجهزة الحاسوب العملاقة. وتستخدم الإدارة الوطنية للمحيطات والغلاف الجوي أجهزة حاسوب عملاقة لسحق مئات الملايين من الملاحظات للمساعدة في جعل عملية التنبؤ بالطقس أكثر دقة.[79]

اتجاهات البحث والتطوير

في 7 نوفمبر 2011، أعلنت شركة Fujitsu عن نظام متابعة بسرعة 32.2 بيتا فلوب خاص بجهاز K computer، والذي يُدعي PRIMEHPC FX10. وسوف يستخدم نفس أبعاد ربط الحيد السداسية ومعالج SPARC واحد فقط لكل عقدة[80]. وأعلنت الحكومة الصينية في 31 أكتوبر 2012، أنها تبني حاسوب عملاق بسرعة 100 بيتا فلوب يُدعي Tianhe-2، والمقرر الانتهاء منه عام 2015.

وبالنظر إلى سرعة التقدم الحالية، يتوقع خبراء الصناعة أن الحواسيب العملاقة سوف تصل إلى 1 إكسا فلوب (1018) (واحد كوينتليون فلوب) بحلول 2018. وبالتزامن مع الإعلان عن حاسبهم العملاق، صرحت الصين أيضاً بوجود مخططات لديها للحصول على حاسوب عملاق بسرعة 1 إكسا فلوب بحلول 2018.[81]وباستخدام معمارية Intel MIC متعددة الأنوية، والتي تعتبر بمثابة رد إنتل على أنظمة وحدات معالجة الرسومات، تخطط SGI لتحقيق 500 ضعف زيادة في الأداء بحلول 2018، وذلك من أجل تحقيق 1 إكسا فلوب. كما أصبحت عينات رقائق MIC مع 32 نوي والتي تدمج بين وحدات معالجة الناقلات مع وحدة المعالجة المركزية القياسية متوفرة الآن[82]. وقد ذكرت الحكومة الهندية أيضاً عن طموحاتها في امتلاك حاسوب عملاق من فئة إكسا فلوب، والذي يأملون في الانتهاء منه في عام 2017.[83]

وأشار "إريك ديبندياكتس"من مختبرات سانديا الوطنية في نظريته أن حاسوب zettaflop (1021) (واحد سكستليون فلوب) مطلوب من أجل تحقيق نمذجة كاملة للطقس، والتي يمكن أن تغطي أسبوعين كاملين بدقة[84]. ومثل هذا النظام ربما يتم بناؤه بحلول 2030.[85]

 

ترجمة: محمد مصباح، تدقيق فهد السعيدي


سلسلة أين يقوم مطورو نواة لينكس بأعمالهم الاحترافية #الحلقة الثانية# ( ستيف روستدت)

$
0
0

نعود معكم إلى ثاني حلقاتنا من سلسلة أين يقوم مطوري نواة لينكس بأعمالهم الاحترافية

السلسة التي تركز على (ورش العمل) التي يستخدمها مطورو نواة لينكس ,وتهدف إلى إعطائكم نظرة عن كثب على أساليب وطرق عمل أهم مطوري البرمجيات في العالم .

حلقة اليوم مع السيد Steve Rostedt (ستيف روستدت) والذي يعمل لصالح شركة Red Hat (ريد هات) بالإضافة لعمله في صيانة وتحليل نسخ النواة لإعدادها للإطلاق كنسخ مستقرة , بالوقت الحقيقي للترقيع (real-time patching)


_ ملاحظة المترجم : يُعرف عن نسخ ريد هات وتوزيعة فيدورا المنشورة للمجتمع من قبلها بأنها أكثر التوزيعات سرعة في التطوير على مستوى الحزم والنواةحيث يتم عرض آخر التحديثات على المجتمع وترقيعها بوقت قياسي مقارنة ببقية التوزيعات_
 
كل الشكر لستيف للتحدث معنا وأخذنا إلى أعماق مكتبه وورشة عمله عن طريق الفديو المرفق باللقاء , ومشاركتنا بشفافية بالطبيعة السحرية والجنونية لمطوري نواة لينكس

 

 

ما هو أكثر ما تفضله في ورشة عملك ؟
كرسيي , لقد حظيت بالكثير من الكراسي عبر السنين , ولقد أحببت كل واحد منهم , ودائما ما أطلب الكراسي ذات مساند الأيدي لأني غالبا ما اقضي الكثير من الوقت على ذلك الكرسي وأجد نفسي أنزحل باستمرار مع مرور الوقت , لذلك أقوم بالإتكاء على المساند ورفع نفسي , بالتالي فإن الكراسي لا تدوم طويلا وتتلف بسرعة .
أنا اقض وقتا طويلا في المكتب أيضا , والكرسي المريح مهم جدا للاستمرار بعملنا المكتبي , لكني لا أحب النوع الفخم الطري من الكراسي الوثرة التي يحبها الشباب , بل أفضل استبدالها بكراسي أكثر قسوة .

ما الذي لا تفضله في ورشة عملك ؟
الفوضى , أسعى بدون أمل للمحافظة على مكتب نظيف , أعمل غالبا على أكثر من شيء في معظم الوقت , وبالتالي أقوم بجلب الأشياء وعدم إعادتها أثناء تركيزي في العمل , وغالبا ينتهي بي الحال بمكتب مع كومة من الأشياء الفوضوية التي تحجبني عن رؤية ما خلفهم , وتأتي الحماسة بي يوما فأقوم بترتيبها وإعادتها إلى أمكنتها , لكن ما تلبث في اليوم التالي لتسود الفوضى من جديد .
زوجتي مهووسة بالنظافة والترتيب , وأشبهها  بوزارة الداخلية فهي تقول لي بأن الفوضى لاتهمها طالما هي في مكتبي فقط ولا تمتد إلى بقية أرجاء المنزل.

ما هي أكثر ورشة عمل غريبة كنت قد عملت بها ؟
عندما عملت ل Time sys اضطررت للذهاب لمكتبهم في بيتسبرغ (Pittsburgh) و كان عليي العمل على إحدى آلاتهم الموضوعة في غرفة صغيرة, بالإضافة إلى أن الآلة لا تملك طرف تحكم , كان عليي أيضاً أن أكون فوق الآلة لأديرها ,و لم يكن هناك كراسي في الغرفة , فكان علينا أن نتخذ من الآلات كراسي و طاولات .
فجلست على آلة و وضعت جهازي المحمول على آلة أخرى (أعلى) متحذا منها طاولة .

هل يوجد شيء خاص في ورشة عملك,تحب أن تشاركنا به ؟
أظن أن أغرب شيء في مكتبي هو بقايا كلبتي العزيزة angel (إينجل)
عندما اضطررنا لإراحتها (كانت مصابة بالسرطان) وبعد قيامنا بمراسم الحرق, احتفظت ببقاياها و لم أدفنها . وهي تجلس في أعلى المكتب طوال مدة عملي .

 

المقابلة من إعداد: جينفر كلوير

المقال الأساسي

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: بول مندت

$
0
0

دار المقابلة: جينيفر كليور.

سنتحدث في ملف هذا الأسبوع ضمن سلسلتنا على مدار ٣٠ أسبوع مع بول مندت والذي يعمل على تصميم SuperH والأجزاء الأساسية من منصات الهواتف SH/R المبنية على معالجات AMR. كما يشارك بول المطورين الآخرين الكثير من قصص الكفاح لما يقارب من ٢٠ سنة قضاها في تطوير نواة لينكس من بينها تلك التي تثبت أن التعاون والمساهمة في مجتمع تطوير لينكس لا يصيبه الكلل والملل حتى عندما تقوم بذلك أثناء القيام برحلة عبر القارات. يمكنك الاطلاع على بقية المقابلات على هذه الصفحة.

الاسم الكريم؟؟

بول مندت

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

أقوم بصفة رئيسية على الإشراف على تصاميم معماريةSuperH (المتمثلة في كل من البروكسي والأجزاء الأساسية من منصات هواتف SH/R- المبنية على ARM) ولكن كل ذلك يتطلب بلا أدنى شك تقلد العديد من الوظائف المختلفة. في الماضي كان أغلب الجهد عبارة عن صراع للحفاظ على توافق الكود الأساسي للعمل مع هذه المنصات (والذي لا يزال قائما حتى يومنا هذا) ولكن ومع مضي الوقت وإدراج هذه المنصات ضمن الكود الأساسي للنواة أصبح الأمر أسهل بكثير لاستغلال الوقت في تطويع بعض التقنيات الموجودة لاستخدامها في أمور أخرى إصافية.

وبعيدا عن دوري الأساسي كمشرف تصميم معماري ، فوقتي في الغالب مقسم بين إدارة الذاكرة (خاصة الأمور المتعلقة بأنظمة MMU-less ودعم NUMAوانتشار TLBs) وبين ضبط الإعدادات العامة وإعدادات الوقت وإدارة IRQ. أما في الآونة الأخيرة فإني أعمل على جعل نطاقات IRQ ذات فائدة أكبر (ولا سيما المتعلقة بـnon-DT) وتوسيع clockevent لإدارة قنوات المؤقت غير المستخدمة بشكل أفضل.

في السابق قضيت بعض الوقت للعمل على نظام framebuffer ولكن سلّم الطاقم لشخص آخر لعدم تفرغي الكامل لإدارة العمل لحاجة المشروع لمتفرغ بدوام كلي.

من الذي يقوم بدفع راتبك الشهري؟؟

Renesas Electronics

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

طوكيو ، اليابان. أصبت بخيبة أمل مع Silicon Valley منذ فترة طويلة ولم أجد بعدها سبب مقنع للعودة. وبعد التنقل بين البلدان لبعض الوقت ، أعتبر اليابان بلادي وذلك لأكثر من ٦ سنوات حتى الآن وأنا مرتاح لهذا الوضع. وما يشجعني أكثر للعيش هنا طبيعة البلد الجبلية والتي تتيح لي الكثير من المغامرات خارج بيئة العمل.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟ وأي الأنظمة تستخدم في حاسبك الشخصي؟؟

الأدوات التي استخدمها تتمثل في كل من fbcon و vimو mutt. وهي الطريقة التي أعمل بها دائما (أحيانا بدون fbcon في الأيام الأولى). ولم أكن قادرا على الحصول على أي عمل جدي للقيام به ضمن بيئة سطح المكتب لذا كنت أتجنبها بقدر الإمكان. لذا ففي بعض المناسبات التي احتاج فيها إلى تصفح موقع لا يعمل ضمن lynx أو قراءة بعض المستندات التي صممت في تنسيق لا معنى له أو أن أجد نفسي في مأزق مع طريقة إدخال النصوص اليابانية ، سأضطر وعلى مضض من تشغيل fvwm2. لذا كان التعامل النصي ولا يزال الطريقة المفضلة لدي في العمل.

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

التحقت بمجتمع لينكس في وقت متأخر جدا حوالي عام ١٩٩٦. ولقد بدأت بشكل عادي حيث كانت بداياتي مع كومة من بطاقات ISA العشوائية حيث الدعم القليل أو أن يكون قد توقف بشكل كلي. مشروعي الأول كان عبارة عن محاولة ضبط DMA للعمل على 3c501 أو أمر مماثل على أحد إصدارات نواة 2.0. لقد كان الأمر منذ فترة طويلة بما يكفي حتى لا أتذكر التفاصيل ولكن بكل تأكيد لم تكن ممتعة لي. عندما تم دمج نظام framebuffer في أواخر إصدارات 2.1.x بدأت بقضاء بعض الوقت هناك ثم انتقلت تدريجيا للعمل على التصاميم المعمارية (في البداية MIPS ثم SuperH عن طريق الهندسة العكسية للـDreamcast).

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

التطور المستمر للمجتمع والبرمجيات الحرة حيث تتطور هذه البرمجيات الموجودة لتلبي متطلبات جديدة وفي الوقت نفسه تتعايش مع المهام القديمة. فمن الممتع أن تكون قادرا على مراجعة رمز برمجي كنت قد كتبته قبل أكثر من عقد من الزمان للتعامل مع مشكلة معينة بعد اكتشافك فجأة طريقة أنظف وأكثر كفاءة للتعامل معها (على افتراض أنك تتذكر ما كنت تفكر فيه) ... الخ..

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

ما هو أكثر شيئ استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الإنجازات المدهشة)؟؟

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

كنت أعمل على مشكلة معينة عندما اكتشفت وجود قصور في (bitmap API) حيث تجاوز حجمها عدد البتات المسموح به وهي قضية وضعت لتحرير تقرير بخطأ برمجي مع ملاحظة بسيطة تنص على أن من يصل إلى هذه أولا عليه مهمة إصلاحها برمجيا. قمت بمعالجة هذه المسـألة عن طريق خوارزمية مبتكرة لتتبع spanned longs بينما كنت على طائرة رجوعي للمنزل من سيول. ولأن جودة الإنترنت حينها لم يكن في أحسن حالاته ، قضيت أغلب الوقت بين القيلولة واحتساء الشراب أكثر من مراقبتي لنشاط القوائم ولكن وما أن وصلنا الأرض كنت قد انتهيت من إعادة كتابة الرمز البرمجي وإعادة تحسينه وإرساله إلى لينوس لدمجه في كود النواة.

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

لا تحصر نفسك ضمن حدائق مسورة.

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

وفي ظل دخول أجهزة جديدة في السوق تحتاج لدعم النواة ، فإنه من السهولة بمكان أن تحصل على جانب ما يثير اهتماماتك البرمجية ولديك الرغبة في إحداث الفارق. ولكن وفي النهاية فإن الأمر يتعلق بمدى تحملك للمواقف الصعبة والحاسمة والتي من النادر مواجهتها أثناء تعاملك مع الأمور الميكانيكية البديهية أو الروتينية. ولكن ومن خلال المجتمع ستجد الكثير من المحاولات الجادة في توفير المساعدة الجدية أثناء برمجتك ، لذلك فلطالما تشجعك على إكمال الطريق وبذل المزيد من الجهد في محاولة لإحداث تغييرات ذات مغزى. وما هو أبعد من ذلك ، فإن كل شخص سيحصل على رفض ما من وقت لآخر بغض النظر عما إذا كان هذا الشخص قد قام بالعمل على النواة لمدة ١٥ دقيقة أو ١٥ عام.

لا أعلم أي من مطوري النواة الذين أستطيع التفكير فيهم حاليا قد بدؤوا مشوراهم البرمجي عن طريق العمل على إصلاحات لغوية أو ما شابه وهذه من المسلمات أيضا. لذا إن كنت تحاول أن يكون لك اسم ضمن مطوري النواة أو في المجتمع بشكل عام عليك أن تتحلى بالإيجابية بدلا من التركيز على الانتقاص من أعمال الآخرين.

ما الذي تستمع إليه وأنت تبرمج؟؟

يعتمد ، ولكن عموما فأنا أفضل المكان الهادئ ولكن لاستحالة توفر ذلك في البيئة المكتبية فأنا لا أمانع من الاستماع إلى أي شيء يعمل بمثابة مرشح للضوضاء الخارجية.

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

بالنسبة للقوائم البريدية فهي تتمثل في المجموعة المعتادة المتمثلة في كل من linux-kernel و linux-arch والقضايا الأخرى المتعلقة بتخصصي المعماري و linux-sh.

أنا عموما أحاول تجنب كل شيء ما عدا مؤتمر النواة ، ولكن عادة ما أشارك بورقة بحثية مرة في السنة أو نحو ذلك اعتمادا على ما اعمل عليه حينها. ولكن وفي حالة حضوري لأي مؤتمر فأنا عادة ما أتجنب الأوراق البحثية المعروضة وأركز على المناقشات الجانبية.

 

رابط المقالة باللغة الإنجلزية هنا.

ترجمة: زاهر النوتكي

تعرف على رائد الحوسبة السحابية Apache Hadoop

$
0
0

يُعتبر Apache Hadoopإطار عمل برمجي مفتوح المصدر والذي يدعم التطبيقات الموزعة للبيانات الكثيفة، ومرخص وفقاً لرخصة Apache v2. كما أنه يدعم تشغيل التطبيقات على مجموعات كبيرة من الأجهزة السلعية. وقد تم اشتقاق Hadoop من معمارية MapReduce الخاصة بجوجل وأبحاث نظام ملفات جوجل (GFS).

يوفر إطار Hadoop كلاً من الموثوقية وحركة البيانات للتطبيقات. ويقوم Hadoop بتنفيذ نموذج حسابي يُدعي MapReduce، حيث تقسم فيه التطبيقات إلى العديد من الأجزاء الصغيرة للعمل، كل واحدة منها قد تنفذ أو يعاد تنفيذها على أية عقدة موجودة في الكتلة. وبالإضافة لذلك، فإنه يوفر نظام ملفات موزع يقوم بتخزين البيانات على عقد الحساب، مما يوفر درجة عالية جداً لعرض معدل الحركة الكلي عبر الكتلة. هذا وقد صمم كلاً من map/reduce ونظام الملفات الموزع بحيث تعالج مشكلة فشل العقدة تلقائياً من قبل الإطار. بحيث يقوم بتمكين التطبيقات من العمل مع الآلاف من الحواسب المستقلة وبيتابايت من البيانات. هذا وتتكون "منصة" Apache Hadoop حالياً بشكل عام من نواة Hadoop، و MapReduce ونظام ملفات Hadoop الموزع (HDFS)، بالإضافة إلى عدد من المشاريع المتعلقة بما فيها Apache Hive وApache Hbase وغيرهم الكثير.

الجدير بالذكر أن Hadoop قد كتب بلغة البرمجة "جافا"، كما أنه يُعد أحد مشاريع أباتشي الرائدة التي بنيت واستخدمت من قبل مجتمع عالمي من المساهمين. ويمتلك Hadoop والمشاريع المتعلقة به (Hive، Hbase، Zookeeper ..وهلم جرا) العديد من المساهمين عبر الشركات البرمجية العالمية. وبرغم أن أكواد الجافا هي الأكثر شيوعاً، إلا أنه يمكن استخدام أي لغة برمجةمع عملية "التدفق"لتنفيذ أجزاء "map"و "reduce"الخاصة بالنظام.

تاريخ Apache Hadoop

لقد أنشيء Hadoop من قبل "دوغ كاتينغ"و "مايك كافاريلا"عام 2005. وقد أسماه دوغ، الذي كان يعمل في ياهو في ذلك الوقت، تيمناً بالفيل اللعبة الخاص بابنه. كما أن عملية التطوير كانت نابعة في الأساس لدعم توزيع مشروع محرك البحث Nutch.

المعمارية

يتكون Hadoop من Hadoop Common والذي يوفر الدخول إلى أنظمة الملفات المدعومة من قبل Hadoop. وتحتوي حزمة Hadoop Common على ملفات أرشيف الجافا (JAR) الضرورية والبرمجيات المطلوبة لبدء Hadoop. كما توفر الحزمة أيضاً شفرة المصدر، والتوثيق، وقسم المساهمة الذي يشمل مشاريع Hadoop Community.

ومن أجل إقامة جدولة فعّالة للعمل، فإن كل نظام ملفات متوافق مع Hadoop يجب أن يوفر معرَّف للموقع: اسم الرف (على نحو أدق، مفتاح الشبكة) الذي تتواجد فيه عقدة العامل. ويمكن لتطبيقات Hadoop استخدام هذه المعلومات لتشغيل العمل على العقدة التي توجد فيها البيانات، وإذا تعذر ذلك، فستكمل على نفس الرف/المفتاح، مما يحد من الحمل الأساسي. ويستخدم نظام ملفات Hadoop الموزع (HDFS) هذه الطريقة عند تكرار البيانات وذلك للحفاظ على النسخ المختلفة من البيانات على رفوف مختلفة. والهدف هنا هو الحد من تأثير انقطاع التيار أو أعطاب مفتاح الطاقة، وبذلك حتي في حالة حدوث هذه الأمور، فإن البيانات قد تكون لا تزال قابلة للقراءة.

يشمل عنقود Hadoop صغير على عقدة واحدة رئيسية وعقد عاملة متعددة. وتتكون العقدة الرئيسية من متعقب الوظيفة (JobTracker)،ومتعقب المهمة (TaskTracker)،و عقدة الاسم (NameNode)، وعقدة البيانات (DataNode). وتتصرف العقدة التابعة أو العاملة مثل عقدة البيانات و متعقب المهمة، على الرغم من إمكانية الحصول على عقد عاملة للبيانات فقط وعقد عاملة للحساب فقط. وهذه عادة ما تُستخدم فقط في التطبيقات غير القياسية. ويتطلب Hadoop بيئة الجافا Java Runtime Environment 1.6 أو أعلى. كما تتطلب برمجيات التشغيل والإغلاق القياسية صدفة آمنة (ssh) تجهز بين العقد الموجودة في العنقود.

 

عنقود Hadoop متعدد العقد

وفي العناقيد الأكبر، يدار نظام ملفات Hadoop الموزع (HDFS) عبر خادوم NameNode مخصص لاستضافة قائمة نظام الملفات، و NameNode ثانوي يمكنه توليد لقطات مصورة لهيكل الذاكرة الخاصة بـ NameNode، وبالتالي يتلافى إتلاف نظام الملفات والحد من فقدان البيانات. وبالمثل، فإن خادوم JobTracker المستقل يمكنه إدارة جدولة الوظائف. وفي العناقيد التي يكون فيها محرك Hadoop MapReduce منتشر ضد نظام الملفات البديل، فإن معمارية NameNode الأساسي و NameNode الثانوي و DataNode الخاصة بنظام ملفات Hadoop الموزع يتم استبدالها من قبل نظام ملفات خاص معادل لها. وقد أشار الإحصائي البارز "جو تونر"إلى Hadoop بأنه "تيرا داتا الخاصة بالرجل الفقير"( تيراداتا هي شركة عملاقة متخصصة في بيع برامج قواعد البيانات وتحليل الاحصائيات).

أنظمة الملفات

نظام ملفات Hadoop الموزع

إن HDFS هو نظام ملفات موزع، ومحمول وقابل للتطوير مكتوب بلغة جافا من أجل إطار Hadoop. وكل عقدة في نموذج Hadoop تمتلك عادة عقدة اسم (NameNode) فردية، وكتلة من عقد البيانات (DataNodes) لتشكيل كتلة نظام ملفات Hadoop الموزع. ويعتبر هذا هو الوضع الطبيعي، لأن كل عقدة لا تحتاج عقدة بيانات كي تكون متواجدة. وتعمل كل عقدة بيانات على سد البيانات عبر الشبكة باستخدام بروتوكول TCP/IP من أجل الاتصال. ويستخدم العملاء إجراء الاتصال عن بعد (RPC) للتواصل مع بعضهم البعض. هذا ويقوم نظام ملفات Hadoop الموزع بتخزين الملفات الكبيرة (الحجم المثالي للملف هو من مضاعفات الرقم 64 ميجا بايت) عبر آلات متعددة. كما يحقق الموثوقية عن طريق تكرار البيانات عبر استضافات متعددة، وبالتالي لا يحتاج إلى التخزين على صف مكرر من الأقراص المستقلة RAID على الاستضافات. ومع قيمة النسخ المتماثل الافتراضية، 3، يتم تخزين البيانات على ثلاثة عقد: اثنين على نفس الرف، وواحدة على رف مختلف. ويمكن لعقد البيانات التواصل مع بعضها البعض لإعادة توازن البيانات، ونقل النسخ، وللحفاظ على النسخ المتماثل للبيانات بكفاءة عالية. كما أن نظام ملفات Hadoop الموزع لا يتوافق مع معايير (POSIX) بشكل كلي، لأن متطلبات POSIX تختلف عن الأهداف المستهدفة لتطبيق Hadoop. هذا وقد صمم نظام ملفات Hadoop الموزع للتعامل مع الملفاتالكبيرة جداً.

لقد أضاف نظام ملفات Hadoop الموزع مؤخراً قدرات توافر عالية، مما يسمح لخادم البيانات الوصفية الرئيسي (NameNode) بأن يقوم بتجاوز الفشل من أجل عمل نسخة احتياطية في حالة الفشل. كما يتم تطوير تجاوز الفشل التلقائي أيضاً. وبالإضافة لذلك، فإن نظام الملفات يتضمن ما يسمي بـ NameNode الثانوي، وهو ما قد يضلل بعض الناس بالتفكير بأنه في حالة توقف NameNode الرئيسي فإن NameNode الثانوي يتسلم مقاليد الأمور. ولكن في الحقيقة، يقوم NameNode الثانوي بالاتصال مع NameNode الرئيسي ويبني لقطات مصورة من معلومات الدليل الخاصة بـ NameNode الرئيسي، والتي يتم حفظها بعد ذلك في مسارات محلية أو مسارات بعيدة. ويمكن استخدام صور نقاط التفتيش هذه لإعادة تشغيل NameNode الرئيسي المُعطل بدون الحاجة إلى إعادة تشغيل دفتر اليومية الكامل لإجراءات نظام الملفات، ثم تحرير السجل لإنشاء اختصار مباشر حديث. ولأن NameNode هو نقطة واحدة للتخزين وإدارة البيانات الوصفية، فإنه يمكن أن يكون عنق الزجاجة لدعم عدد كبير من الملفات، وخاصة الأعداد الكبيرة من الملفات الصغيرة. ويعتبر اتحاد نظام ملفات Hadoop الموزع هو إضافة جديدة تهدف إلى معالجة هذه المشكلة لحد ما، وذلك من خلال السماح لعدد من الأسماء المتعددة بأن تخدم عن طريق NameNodes منفصلة.

ومن أهم مميزات استخدام نظام ملفات Hadoop الموزع هو توفير وعي بالبيانات بين متعقب الوظيفة ومتعقب المهمة. فمتعقب الوظيفة يقوم بجدولة الخريطة أو تقليل الوظائف بالنسبة لمتعقب المهمة مع وجود وعي بموقع البيانات. ومثال على هذا، إذا كانت العقدة A تحتوي على البيانات (X, Y, Z) والعقدة B تحتوي على البيانات (a, b, c). بعد ذلك، سيقوم متعقب الوظيفة بجدولة العقدة B لتنفيذ خريطة أو تقليل المهام على (a, b, c) والعقدة A قد يتم جدولتها لتنفيذ خريطة أو تقليل المهام على (X, Y, Z). وهذا يقلل كمية البيانات التي تمر عبر الشبكة ويمنع نقل البيانات غير الضرورية. وعندما يتم استخدام Hadoop مع ملفات الأنظمة الأخري، فإن هذه الميزة لا تكون متوفرة دائماً. وهذا يمكن أن يكون له تأثير كبير على وقت إنجاز الوظيفة، وهوما أثبت عند إجراء وظائف البيانات المكثفة.

لقد صمم نظام ملفات Hadoop الموزع لمعظم الملفات غير القابلة للتغير وربما يكون غير مناسب للأنظمة التي تتطلب عمليات كتابة متزامنة. والتقييد الآخر لنظام ملفات Hadoop الموزع هو أنه لا يمكن تحميله مباشرة بواسطة نظام التشغيل الموجود. حيث أن إدخال وإخراج البيانات من نظام ملفات Hadoop الموزع، هي عملية تحتاج عادة أن يتم أداءها قبل وبعد تنفيذ المهمة، وهو أمر ربما يكون غير مريح. ولقد طوّر نظام الملفات الافتراضي (FUSE) لمعالجة هذه المشكلة، على الأقل بالنسبة لنظام لينكس وأنظمة يونكس الأخري.

ويمكن تحقيق عملية الوصول إلى الملفات من خلال واجهة جافا الأصلية، وواجهة Thrift لتوليد عميل بلغة من اختيار المستخدمين (C++، جافا، بيثون، PHP، روبي، Erlang، بيرل، هاسكل، C#، Cocoa، Smalltalk و Ocaml)، واجهة الأوامر، أو تصفحها من خلال تطبيق الويب الخاص بواجهة نظام ملفات Hadoop الموزع عبر HTTP.

 

أنظمة الملفات الأخري

بحلول مايو 2011، شملت لائحة أنظمة الملفات المدعومة:

  • HDFS: نظام ملفات Hadoop الخاص المتعرف على الرفوف، والذي صمم لجدولة عشرات بيتابايت من مساحة التخزين وللعمل على رأس أنظمة الملفات التي تقع تحت أنظمة التشغيل.

  • نظام ملفات Amazon S3: ويستهدف هذا النظام في الكتل المُستضافة على البنية التحتية لخادوم Amazon Elastic Compute Cloud. ولا يوجد أي رفوف في هذا النوع من أنظمة الملفات، فكل ما فيه يتم عن بعد.

  • CloudStore: (والذي كان يُعرف سابقاً باسم نظام كوزموس للملفات الموزعة).

  • نظام الملفات FTP: ويقوم هذا النظام بتخزين كافة بياناته على خوادم FTP يمكن الوصول إليها عن بعد.

  • أنظمة ملفات HTTP و HTTPS القابلة للقراءة فقط.

ويمكن لـ Hadoop العمل مباشرة مع أي نظام ملفات موزع يمكن تركيبه بواسطة نظام التشغيل الأساسي باستخدام ملف (// URL)، ولكن هذا يكون له ثمن، ألا وهو فقدان المحلية. ولتقليل كمية مرور البيانات بالشبكة، يحتاج Hadoop لمعرفة أي خادوم هو الأقرب للبيانات، وهذه هي المعلومات التي يمكن لجسور نظام ملفات Hadoop المخصصة أن توفرها.

وهذا يتضمن Amazon S3 و مخزن الملفات CloudStore، من خلال s3:// و kfs:// URLs مباشرة. هذا وقد كتبت عدد من جسور الطرف الثالث الخاصة بنظام الملفات، ولكن لا يوجد أياً منها حالياً في توزيعات Hadoop.

  • في عام 2009، ناقشت IBM تشغيل Hadoop عبر نظام ملفات IBM العام المتوازي.وقد تم نشر شفرة المصدرفي أكتوبر 2009.

  • في أبريل 2010، نشرت Parascale شفرة المصدر لتشغيل Hadoop ضد نظام ملفات Parascale.

  • في أبريل 2010، أطلقت Appistry ناقل حركة لنظام ملفات Hadoop من أجل استخدامه مع منتجات التخزين السحابي الذكية (CloudIQ Storage) الخاصة بها.

  • في يونيو 2010، ناقشت HP ناقل حركة نظام الملفات IBRIX Fusion.

  • في مايو 2011، أعلنت شركة MapR Technologies, Inc عن توفر نظام ملفات بديل لـ Hadoop، والذي قام بتبديل نظام ملفات Hadoop الموزع بنظام ملفات كامل الوصول العشوائي للقراءة/الكتابة، مع مميزات متقدمة مثل اللقطات المصورة والملفات البديلة، بالإضافة للتخلص من مشكلة العطل في NameNode الافتراضية لنظام ملفات Hadoop الموزع.

متعقب الوظيفة ومتعقب المهمة: محرك MapReduce

فوق أنظمة الملفات يأتي محرك MapReduce، والذي يتكون من متعقب للوظيفة، ويتم دفع وظائف MapReduce عن طريق تطبيقات العملاء. ويقوم متعقب الوظيفة بدوره بدفع العمل خارجاً إلى عقد متعقب المهمة المتاحة في العنقود، ساعياً للحفاظ على العمل كأقرب ما يكون للبيانات. ومع نظام الملفات الواعي بالرفوف، يكون متعقب الوظيفة على علم بالعقدة التي تحتوي على البيانات، وأي الآلات الأخري التي توجد بالقرب منها. وإذا كان العمل لا يمكن استضافته على العقدة الفعلية حيث توجد البيانات، فإن الأولوية تُعطي للعقد الموجودة على نفس الرف. وهذا يقلل كمية مرور البيانات على العمود الفقري الرئيسي لها. أما إذا فشل متعقب المهمة أو نفذ الوقت، فإن هذا الجزء من المهمة يعاد جدولته. ويقوم متعقب المهمة على كل عقدة بتوليد آلة جافا افتراضية منفصلة لمنع متعقب المهمة نفسه من الفشل إذا قامت المهمة التي ينفذها بتعطيل آلة جافا الافتراضية. وترسل نبضات من متعقب المهمة إلى متعقب الوظيفة كل بضع دقائق للتأكد من حالته. وتستعرض حالات ومعلومات متعقب الوظيفة ومتعقب المهمة من خلال متصفح الويب بواسطة خادوم Jetty.

وإذا فشل متعقب الوظيفة على Hadoop 0.20 أو ما قبله، فإن كل الأعمال الجارية سوف تفقد. وقد أضافت نسخة Hadoop 0.21 بعض نقاط الحفظ لهذه العملية، حيث يقوم متعقب الوظيفة بتسجيل كل ما هو عليه في نظام الملفات. وعندما يبدأ متعقب الوظيفة، يقوم بالبحث عن أياً من هذه البيانات لكي يتمكن من استئناف العمل من النقطة التي توقف عندها. أما في النسخ السابقة من Hadoop، فقد كانت كل الأعمال النشطة تفقد عندما يتم إعادة تشغيل متعقب الوظيفة.

القيود المعروفة لهذا النهج هي:

  • توزيع العمل على متعقبات المهام هو أمر بسيط. فكل متعقب مهمة يمتلك عدد من المنافذ المتاحة (مثل "4 منافذ"). وتقوم كل مهمة map أو reduce نشطة باحتلال منفذ واحد. ويقوم متعقب الوظيفة بتعيين العمل للمتعقب الأقرب إلى البيانات مع أحد المنافذ المتاحة. ولا يوجد هناك أي اعتبار لحمل النظام الحالي للآلة المُخصصة، وبالتالي للتوافر الفعلي الخاص بها.

  • إذا كان أحد متعقبي المهام بطيء جداً، فإن ذلك من شأنه تأخير وظيفة MapReduce بأكملها – وخاصة عند نهاية الوظيفة، ففي نهاية المطاف سوف ينتظر كل شيء هذه المهمة البطيئة. وعلي أية حال، فمع تفعيل التنفيذ الفكري، يمكن للمهمة الواحدة أن يتم تنفيذها على عدد من العقد التابعة.

الجدولة

بشكل افتراضي، يقوم Hadoop باستخدام FIFO، و 5 أولويات جدولة اختيارية لجدولة الوظائف من قائمة انتظار العمل. وفي النسخة 0.19 أعيد هيكلة جدولة الوظيفة من متعقب الوظيفة، وإضافة القدرة على استخدام جدولة بديلة (مثل الجدولة الوسطية أو جدولة السعة).

الجدولة الوسطية

لقد طورت الجدولة الوسطية من قبل فيسبوك. والهدف من الجدولة الوسطية هو توفير أوقات استجابة سريعة للوظائف الصغيرة وتوفير جودة خدمة لوظائف الإنتاج. وتمتلك الجدولة الوسطية 3 مفاهيم أساسية:

  1. تجمع الوظائف في وحدات

  2. كل وحدة تحصل على حد أدني مضمون من الحصة المتاحة

  3. تقسم الطاقة الفائضة بين الوظائف.

وبشكل افتراضي، ترسل الوظائف غير المصنفة إلى وحدة افتراضية. ويجب على الوحدات أن تحدد الحد الأدنى من منافذ map، ومنافذ reduce، والحد الخاص بعدد الوظائف النشطة.

جدولة السعة

لقد طورت جدولة السعةمن قبل ياهو. وتدعم هذه الجدولة العديد من المميزات التي تشبه الجدولة الوسطية.

  • تضاف الوظائف في قوائم انتظار

  • تخصص جزء من إجمالي الطاقة الإنتاجية للموارد من أجل قوائم الانتظار

  • المصادر الحرة تخصص لقوائم الانتظار خارج إجمالي طاقتها الإنتاجية.

  • ضمن قوائم الانتظار، سوف تمتلك الوظيفة ذات المستوي العالي من الأولوية إمكانية الدخول إلى موارد قائمة الانتظار.

لا يوجد هناك استباق بمجرد أن تشغل الوظيفة.

التطبيقات الأخرى

لا يقتصر نظام ملفات Hadoop الموزع على وظائف MapReduce فقط. حيث يمكن استخدامه لتطبيقات أخري، العديد منها قيد التطوير حالياً في منظمة Apache. وتتضمن القائمة قاعدة بيانات Hbase، وآلة نظام التعليم Apache Mahout، ونظام تخزين البيانات Apache Hive Data Warehouse. ومن الناحية النظرية، يمكن استخدام Hadoop لأي نوع من الأعمال التي تعتبر كثيفة البيانات بشكل كبير، والقادرة على العمل على قطع من البيانات في نفس الوقت. واعتباراً من أكتوبر 2009، تضمنت التطبيقات التجارية لـ Hadoop:

  • سجل و/أو تحليل تدفق النقرات لأنواع مختلفة

  • تحليلات التسويق

  • تعلم الآلة و/أو استخراج البيانات المتطورة.

  • معالجة الصور

  • معالجة رسائل XML

  • تقدم الويب و/أو معالجة النصوص

  • الأرشفة العامة، بما في ذلك البيانات العلائقية/الجدولية

المستخدمين البارزين

ياهو

في 19 فبراير 2008، أصدرت شركة ياهو ما أُطلق عليه حينها أكبر تطبيق إنتاج Hadoop في العالم.ويعتبر Search Webmap التابع لشركة ياهو هو أحد تطبيقات Hadoop التي تعمل على أكثر من 10.000 نواة لينكس عنقودية وينتج بيانات تستخدم في كل عملية بحث لياهو على شبكة الأنترنت.

هناك عناقيد متعددة في ياهو، ولا يوجد أنظمة ملفات HDFS أو وظائف MapReduce يتم تقسيمها عبر مراكز بيانات متعددة. فكل عقدة لعنقود Hadoop تمهد صورة لينكس، بما في ذلك توزيعة Hadoop. والعمل الذي تؤديه الكتل يُعرف باحتوائه على قائمة الحسابات الخاصة بمحرك البحث ياهو.

وفي 10 يونيو 2009، أتاحت ياهو شفرة المصدر الخاصة بنسخة Hadoop التي تقوم بإنتاجها للجمهور. وتقوم ياهو بمشاركة كل العمل الذي تقوم به على Hadoop مع المجتمع. كما يقوم مطوري الشركة أيضاً بإصلاح الثغرات وإضافة تحسينات على مستوي الاستقرار الداخلي، وإطلاق هذه الشفرات بحيث يستفيد المستخدمين الآخرين من جهودهم.

فيسبوك

في عام 2010، صرحت شركة فيسبوك بأنها تمتلك أكبر كتلة Hadoop في العالم مع مساحة تخزين 21 بيتابايت. وفي 27 يوليو 2011، أعلنوا أن البيانات قد وصلت إلى 30 بيتابايت. وبعد ذلك في 13 يونيو 2012، قالوا أن حجم البيانات قد نما ليصل إلى 100 بيتا بايت. وأخيراً في 8 نوفمبر 2012، أعلنوا بأن مستودع البيانات أصبح ينمو بنحونصف بيتابايت يومياً.

المستخدمين الآخرين

بالإضافة لفيسبوك وياهو، هناك العديد من المنظمات الأخري التي تستخدم Hadoop لتشغيل العمليات الحسابية الكبيرة الموزعة. وبعض من هؤلاء المستخدمين البارزين:

  • Amazon.com

  • Ancestry.com

  • Akamai

  • American Airlines

  • AOL

  • Apple

  • AVG

  • eBay

  • Electronic Arts

  • Hortonworks

  • Federal Reserve Board of Governors

  • Foursquare

  • Fox Interactive Media

  • Google

  • Hewlett-Packard

  • IBM

  • ImageShack

  • ISI

  • InMobi

  • Intuit

  • Joost

  • Last.fm

  • LinkedIn

  • Microsoft

  • NetApp

  • Netflix

  • Ooyala

  • Riot Games

  • Spotify

  • Qualtrics

  • The New York Times

  • SAP AG

  • SAS Institute

  • StumbleUpon

  • Twitter

  • Yodlee

Hadoop على خدمات أمازون EC2/S3

من الممكنتشغيل Hadoop على خدمة أمازون المرنة للحوسبة السحابية (EC2) وخدمة أمازون للتخزين البسيط (S3). فعلي سبيل المثال، استخدمت صحيفة نيويوركتايم100 نسخة لخدمة أمازون المرنة للحوسبة السحابية (EC2) وتطبيق Hadoop لمعالجة 4 تيرا بايت من بيانات صور TIFF خام (مخزنة في خدمة أمازون للتخزين البسيط) وتحويلها إلى 11 مليون ملف PDF منتهي في غضون 24 ساعة وبتكلفة حوسبة 240 دولار (لا تشمل الباندويث).

هناك دعم لنظام ملفات خدمة أمازون للتخزين البسيط في توزيعة Hadoop، ويقوم فريق Hadoop بتوليد نسخة خاصة لخدمة أمازون المرنة للحوسبة السحابية بعد كل إصدار. ومن منظور الأداء البحت، فإن Hadoop على خدمة أمازون المرنة للحوسبة السحابية وخدمة أمازون للتخزين البسيط يعتبر غير فعال، حيث أن نظام أمازون للتخزين البسيط يعمل عن بعد ويأخر العودة من كل عملية كتابة حتي يتم ضمان عدم فقدان البيانات. وهذا من شأنه إزالة مزايا مركزية Hadoop، والتي تقوم بجدولة العمل بالقرب من البيانات لتوفير حمل الشبكة.

إطار MapReduce لخدمة أمازون المرنة

لقد قدم Elastic MapReduce بواسطة أمازون في أبريل 2009. هذا وتزود كتلة Hadoop بالمؤن اللازمة لها، وتشغيل وإنهاء الوظائف، والتعامل مع نقل البيانات بين خدمة أمازون المرنة للحوسبة السحابية وخدمة أمازون للتخزين البسيط بشكل أتوماتيكي عن طريق Elastic MapReduce. كما تقدم Apache Hive، التي بنيت فوق Hadoop لتوفير خدمات مستودع البيانات من قبل Elastic MapReduceكذلك.

وقد أضيف الدعم لاستخدام نماذج النقاط (Spot Instances) لاحقا في أغسطس 2011. كما أن Elastic MapReduce قادر على تحمل إخفافات التابعين، وينصح بتشغيل مجموعة المهمة فقط على نماذج النقاط للاستفادة من التكلفة المنخفضة مع الحفاظ على التوافر.

وفي يونيو 2012، أضيفت خيارات متميزة لإطار Elastic MapReduce والتي تستبدل نسخة Hadoop العادية بنسخ MapR M3 و M5. وهذه الخيارات توفر قدرات إضافية فوق ما يقدمه إطار Elastic MapReduce الافتراضي.

دعم الصناعة للمجموعات الأكاديمية

أعلنت IBM وجوجل عن مبادرة في عام 2007 لاستخدام Hadoop لدعم الدراسات الجامعية في مجال برمجة الحاسب الموزعة. وفي عام 2008، قام هذا التعاون (مبادرة الحوسبة السحابية الأكاديمية) بالشراكة مع المؤسسة الوطنية للعلوم من أجل توفير التمويل اللازم للباحثين الأكاديميين المهتمين باكتشاف تطبيقات البيانات الضخمة. وقد أدي هذا لإنشاء برنامج الكتلة الاستكشافية (CLuE).

تشغيل Hadoop في بيئة حقول الحوسبة

يمكن استخدام Hadoop أيضاً في حقول الحوسبة وبيئات الحوسبة عالية الأداء. وبدلاً من إعداد كتلة Hadoop مخصصة، يمكن أن يستخدم حقل الحوسبة القائم إذا كان مدير موارد الكتلة على دراية بوظائف Hadoop، وبالتالي يمكن جدولة وظائف Hadoop مثل الوظائف الأخري الموجودة في الكتلة.

تكامل محرك الشبكة

أطلقت عملية التكامل مع محرك Sun Grid Engine عام 2008، وبذلك أصبح من الممكنتشغيل Hadoop على Sun Grid (خدمة حوسبة حسب الطلب). وفي مرحلة التطبيق الأولي للتكامل، كانت جدولة وقت وحدة المعالجة المركزية ليس لديها علم بمركزية البيانات. ولسوء الحظ، هذا يعني أن المعالجة لا تتم دائما على نفس الرف مثل البيانات، وهذه كانت إحدى السمات الرئيسية لإطار Hadoop Runtime، والذي يعتبر تكامل مُحسن على دارية بمركزية البيانات والذي أعلن عنه أثناء ورشة برمجيات Sun HPC '09.

وفي الفترة ما بين 2008-2009، أطلقت شركة Sun مشروع Hadoop Live CD OpenSolaris، والذي يسمح بتشغيل عنقود Hadoop عاملة بالكامل باستخدام قرص مباشر. وهذه التوزيعة تشمل Hadoop 0.19، واعتبارا من أبريل 2010 لم يطلق أية تحديث لهذه التوزيعة.

تكامل كوندور

قدمتكامل نظام حوسبة كوندور ذو الإنتاجية العالية في مؤتمر Condor Week عام 2010.

منتجات Hadoop التجارية المدعومة

هناك عدد من الشركاتالتي تقدم تطبيقات تجارية و/أو توفر الدعم لـ Hadoop

  • تقوم شركة Cloudera بتقديم CDH (توزيعة Cloudera التي تتضمن Apache Hadoop) ومؤسسة Cloudera.

  • تقدم شركة IBM مشروع WebSphere eXtreme Scale (المعروف سابقاً باسم ObjectGrid) والذي يتضمن نمطين من أنماط HADOOP MapReduce في "وكلائهم"الملقبين بواجهة DataGrid. جنباً إلى جنب مع قدرة التخزين المؤقت للبيانات الموزعة، كما أنه يمنح كلا من map و reduce القدرة على موازاة الوظيفة وتخزين كمية كبيرة من البيانات (في الذاكرة) لتسهيل عملية دخول الوظيفة إليها.

  • تقوم IBM بتقديم InfoSphere BigInsightsوالمعتمد على Hadoop في نسخته الأساسية ونسخته الخاصة بالمشاريع.

  • أما شركة Talend فتقدم Talend Open Studioللبيانات الضخمة، والذي أُطلق تحت رخصة برمجيات أباتشي، ويتضمن دعم أصلي لـ Apache Hadoop.

  • وتقوم WANdisco بتقديم WDD (توزيعة WANdisco التي تتضمن Apache Hadoop)

  • وتقدم شركة Zettaset نسخة جديدة من منصة Mgt للبيانات الضخمة والمعتمدة على Hadoop. وتقوم منصة Zettasetبتوفير إتاحة عالية النطاق عن طريق خادوم NameNode Failover، وواجهة مستخدم مبسطة، بالإضافة لبروتوكول وقت الشبكة ونظام أمان داخلي عن طريق مصادقة Kerberos.

  • وفي مايو 2010، أعلنتشركة Pentaho عن دعمها لمنصة Apache Hadoop مما يسمح للشركات بالوصول إلى تكامل البيانات وتحليلات الأعمال مباشرة ضد التوزيعات المعتمدة على Apache Hadoop. وفي يناير 2012، أعلنت Pentaho أنها جعلت قدرات تكامل البيانات الضخمة الخاصة بهم متاحة مجاناً في إطار مفتوح المصدر، ونقلت مشروع Pentaho Kettle (محرك تكامل البيانات) بالكامل من رخصة LGPL إلى رخصة أباتشي.

  • وفي مارس 2011، أعلنت Platform Computing (اشترتها شركة IBM لاحقا ) عن دعمها لواجهة تطبيقات Hadoop MapReduce في برنامجها Symphony.

  • وفي مايو 2011، أعلنت شركة MapR Technologies, Inc. عن توافر نظام ملفاتهم الموزع ومحرك MapReduce والذي يعتبر توزيعة MapR الخاصة بـ Apache Hadoop. ويتضمن منتج MapR معظم مكونات النظام البيئي الخاصة بـ Hadoop ويضيف إلى ذلك قدرات ومميزات أخري مثل اللقطات المصورة، النسخ، وصول NFS، والقراءة والكتابة الكاملة لدلالات الملفات. وقد اختيرت توزيعة MapR من قبل أمازونلتوفير النسخ المدفوعة من خدمة Elastic Map Reduce.

  • أما شركة Silicon Graphics International فتوفرحلول Hadoop المخصصةبالاعتماد على خطوط خوادم SGI Rackable و CloudRack بالإضافة لخدمات التنفيذ.

  • قامت شركة EMC بإصدار EMC Greenplum نسخة المجتمع و EMC Greenplum HD نسخة الشركات في مايو 2011. وتأتي نسخة المجتمع مع دعم فني اختياري مقابل بعض الرسوم، وتتكون من Hadoop، نظام ملفات Hadoop الموزع، Hbase، Hive وخدمة تكوين ZooKeeper. أما نسخة الشركات فتُعرض للبيع بالاستناد على منتجات MapR، وتوفر مميزاتبريميوم مثل اللقطات المصورة والتكرار.

  • وفي يونيو 2011، أسستياهو بالتعاون مع Benchmark Capital شركة جديدة أطلق عليها Hortonworks Inc والتي تركز على جعل Hadoop أكثر قوة وأسهل من ناحية التثبيت والإدارة والاستخدام في المؤسسات والشركات.

  • أضافتجوجل محرك التطبيقات MapReduce لدعم تشغيل برامج Hadoop 0.20 على محرك تطبيقات جوجل.

  • في أكتوبر 2011، أعلنتأوراكل عن جهاز البيانات الضخمة (Big Data Appliance) والذي يدمج توزيعة Cloudera (CDH)، و Oracle Enterprise Linux، ولغة البرمجة R، وقاعدة البيانات NoSQL مع أجهزة إكسا داتا.

  • إن إدارة OceanSync Hadoopوبرمجيات التصور تتيح للمستخدم التحكم، ورصد ووضع تصور لجميع جوانب كتلة Hadoop بما فيها إدارة البيانات التحليلية لسير العمل وتصور معالجة إخراج البيانات. وتتوفر هذه الحزمة في ثلاثة إصدارات، نسخة OceanSync المجانية لسطح المكتب، نسخة OceanSync للشركات، ونسخة OceanSync Mobile لأجهزة الآيفون والأندرويد.

  • أما منتج JobServerالتابع لشركة Grand Logic فيسمح للمطورين والمدراء بنشر، وإدارة ومراقبة بنيتهم التحتية الخاصة بـ Hadoop – مع دعم لمعالجة وظيفة Hadoop وإدارة ملفات/محتويات نظام ملفات Hadoop الموزع.

  • قامت شركة Dell بإضافةتحليلات الأعمال Pentaho إلى حلول Dell Apache Hadoop الخاصة بتحليلات البيانات الضخمة والتي تتكون من خوادم Dell، ومكونات شبكات Dell، وإطار Dell Crowbar للبرمجيات السحابية مفتوحة المصدر، وتوزيعة Cloudera (CDH).

  • أما مايكروسوفت فتقدم استعراض المطورين لـ HDInsightوالتي تتوافق 100% مع توزيعة Hadoop.

  • في فبراير 2013، أطلقتإنتل توزيعة Hadoop الخاصة بها، والتي تستفيد من القدرات الموجودة في رقائق Intel Xeon مثل تعليمات المعالج الخاصة بها من أجل تسريع تشفير AES.

  • وتقدم شركة Splunk منتجامتكاملا مع Hadoop يُدعي Hadoop Connect، والذي يعتمد على MapR، Cloudera، Hortonworks و Apache Hadoop. وهذا التكامل يتيح للمستخدم البحث عن بيانات Hadoop من Splunk واستيراد البيانات من Hadoop إلى Splunk والعكس.



رأي مؤسسة أباتشي للبرمجيات حول استخدام "Hadoop"في أسماء المنتجات

صرحتمؤسسة أباتشي للبرمجيات أن البرامج التي صدرت رسميا من مشروع Apache Hadoop هي الوحيدة التي يمكن أن يُطلق عليها Apache Hadoop أو توزيعات Apache Hadoop. أما تسمية المنتجات والأعمال المشتقة من الشركات الأخري وإطلاق مصطلح "متوافقة"عليها، هو أمر مثير للجدلإلى حد ما ضمن مجتمع مطوري Hadoop

الأبحاث

بعض الأبحاث التي أثرت على ولادة ونمو Hadoop ومعالجة البيانات الضخمة. فيما يلي بعض من هذه اللائحة:

 

مقالات أخرى حول تقنيات الحوسبة السحابية إذا كنت مهتما:

نظرة معمقة على الحاسوب العملاق supercomputer

ماذا تعرف عن حوسبة كثيفة البيانات Data-intensive computing؟

ماذا تعرف عن البيانات الضخمة Big Data ؟

معلومات حول المقالة:

هذه المقالة مترجمة من موسوعة ويكيبديا بعنوان Apache Hadoop. ترجمة محمد مصباح و مراجعة فهد السعيدي، هذه المقالة قد تحوي على أخطاء فإذا لاحظت شيئا منها، يرجى مراسلتنا حتى نقوم بإصلاحها.

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: آلان كوكس

$
0
0

أدار المقابلة: جينيفر كليور.

سنتحدث في هذا اليوم ضمن سلسلتنا مع آلان كوكس. يمكنك الاطلاع على بقية المقابلات على هذه الصفحة. سنتعرف من خلالها عن طبيعة ارتباطه بمجتمع لينكس وعن الأسباب التي من خلالها لا يزال مهمتا به حتى الآن. بالإضافة إلى كل ذلك سيقدم لنا بعض النصائح الموسيقية.

ما اسمك؟؟

نعم؟ السؤال التالي.. أجميع أسئلتك بهذه الصعوبة؟!

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

عملت على عدد كبير نسبيا من مشاريع تطوير النواة وعلى فترات مختلفة. في يوم من الأيام كنت أحاول فيها أن انهي العمل على إعادة صياغة تطبيق لسطر الأوامر ، ومحاولة تأمينه وإصلاح ما تبقى من علل وإضافات في هذا المجال. لقد كانت إحدى تلك الأوقات العصيبة والمليئة بالمشاكل التقنية غير المثيرة والتي لا يألوها كثير من الناس ذاك الاهتمام.

عدا ذلك ، فأنا اعمل حاليا للحصول على نسخة مستقرة من دعم رسومات 2D لمختلف الأجهزة الرسومية والمبنية على التخيل بمعامل شركة إنتل. بالإضافة إلى مهمتي (دون أي فريق مساند) في تنظيف متتبع العلل bugzilla الخاص بنواة لينكس.

من الذي يقوم بدفع راتبك الشهري؟؟

بعد أن قضيت ما يقارب من عشر سنوات للعمل بشركة ريدهات ، انتقلت إلى شركة انتل منذ بضع سنوات وها أنا مستمتع بوقتي حاليا. ( تحديث: في يناير 2013م أعلن كوكس أنه اعتزل إنتل وتطور نواة لينكس بسبب ظروف أسرية يمر بها )

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

أسكن في سوانسي بجنوب ويلز. انتقلت إلى ويلز في بداية الأمر بعد انتقالي إليها لدراستي الجامعية الأولى ، عندها التقيت بزوجتي ها هنا ولم انتقل منذ ذلك الوقت. كذلك أجد هذا المكان مكان استرخاء وأكثر صداقة للبيئة مقارنة بالمدن الكبيرة. فمن الممتع أن تجد الفرصة في النظر إلى التلال والبحر من خلال نافذة منزلك.

ومن الأمور الأخرى المشجعة أيضا وجود أفضل فريق للغة روبي هنا في انجلترا.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟ وماذا تشغل على سطح مكتبك؟؟

عقلي وخبرتي وأحيانا بعضا من الحظ. أما أدواتي التقنية فهي تقليدية جدا لكن مع ذوق أفضل من أدوات التحرير. لذلك فأنا استخدم كل من bash shell و joe editor و gcc و make و git .

استخدم في الأغلب نظام فيدورا ولكن ما استخدمه على سطح مكتبي يعتمد أحيانا على النظام المستخدم وأحيانا على الإعدادات وأحيانا بشكل عشوائي انتقل من واجهة إلى أخرى عندما أشعر بالحاجة إلى تغيير بعض الأمور وتجربة أمور أخرى. في الوقت الحالي أحاول تجربة واجهة جنوم ٣ لأن فيدورا ١٧ لا يتوافق كليا مع بطاقة عرض جهازي. خياري الآخر في كثير من الأحيان هو واجهة Xfce.

اعمل على Ubuntu VM حصريا لتصميم وبناء تطبيقات لنظام اندرويد ولكن مع ذلك فهو يشغل Unity والذي على ما يبدو أنه نسخة رديئة من Windowmaker بدون التصميم الخارجي.

أقوم أحيانا ببعض التجارب على اختياري ضمن التوزيعات الموجودة حيث وجدت بأن نظام فيدورا (بالرغم من قوتها التقنية ووجود الكثير من الأشياء الابتكارية والمدمجة بالنظام بشكل جيد) بدأت تظهر عليها بعض العلل.

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

في الغالب بالصدفة. كنت أعمل على إضافة بعض الإضافات لنظام يونكس مثل البريد الإلكتروني و userids لـ Amiga ولكن كانت بحاجة فعلية لنظام أفضل لتشغيل لعبة AberMUD. نظام ويندوز آنذاك كان مجرد مزحة لمثل هذه الاستخدامات وكان 386BSD بحاجة إلى FPU والعديد من التعديل بينما نظام لينكس كان حينئذ يقوم بالمهمة بالشكل الجيد.

وبعد اكتشافي بأن نظام لينكس قد قام بالمهمة ، اكتشفت بعدها بأنه لم يقم بالمهمة فقط ولكنه قام بالعديد من الإصلاحات وبعدها بما يتعلق بالشبكات(كانت اللعبة تدعم خاصية multi-user). وانتهى بي الأمر في العمل على الإبقاء عليه ثم العمل على الإصدارات المستقرة. وأثناء كل ذلك صادفت وأن عملت مع توماس رادك لإنتاج دعم Linux SMP (لسوء حظ توماس فهو غالبا ما ينسى أمره) وكانت لدينا مغامراتنا المغمورة في عدة مشاريع أقل نضجا مثل Linux Mac68K و mini Linux على 8086.

ما سبب استمرارك بالاهتمام بالمجتمع؟؟

أحد هذه الأسباب هو أن المجتمع دائما في تغير مستمر. العتاد يتغير والبرامج تتغير والاحتياجات أيضا في تغير مستمر. لذا فأنت دائما ما تواجه تحديات جديدة.

أما السبب الآخر في استمراري بالعمل ضمن المجتمع هو تغيير العالم. ويتحقق ذلك بصورة مباشرة من خلال توفير أجهزة كمبيوتر بأجزاء من العالم لا يمكنهم من تحمل تكاليف تراخيص الأنظمة والتطبيقات الباهظة. وبطريقة غير مباشرة فالمجتمع يشكل جزءا لا يتجزأ من الموجة الأولى من حركة إصلاح الجانب الثقافي والإنتاجي وإعادته للناس والتي بدأت تنتقل تدريجيا للعالم المادي أيضا.

ما أكثر شيئا استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الإنجازات المدهشة)؟؟

لست متأكد من قدرتي على انتقاء لحظة مسلية واحدة لكثرة المواقف القصيرة التي تمر علي. فالمجتمع ليس بالمكان الممل فأنا أشاهد تزايد أعداد مستخدمي نظام أندرويد بشيء من حس الفكاهة. وعلى هذا المعدل من التقدم قد يتفوق نظام لينكس على فرقة (the Beatles) في عدد النسخ في يوم من الأيام.

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

إياك أن تعترف بأنك تعرف أي شيء عن قواعد البيانات ولا تحاول أن تقدم أي مساعدة في إعدادات bugzilla.

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

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

أيضا لا تحاول التركيز على برمجة النواة لأنها معروفة ومشروع كبير مما يجعل العمل عليها أمرا صعبا في البداية. فإذا قمت بالعبث بأكواد النواة فهناك الكثير من المبرمجين الذين يهتمون وسيلاحظون ذلك.

ولكن في المقابل هناك الكثير من البرامج والتقنيات الجديدة التي تتيح انفتاح ومرونة أكبر. وهناك من الأشخاص الذين يقومون بأمور جنونية من خلال استخدام تقنية طباعة 3D أو HTML5أو webgl وهي على الأرجح قريبة من ناحية الفكرة من الأيام الأولى لظهور نظام لينكس عندما كان أي شيئ ممكن وأي شيء يبدوا سخيفا في بداية الأمر لأنه لم يكن لأحد أن يتخيل ما سيقدمه من إنجازات.

ما الذي تستمع إليه وأنت تبرمج؟؟

إذا كنت أعمل على كود معقد فلا أستمع إلى شيء. أما إذا كنت أعمل في وقت متأخر ففي الغالب يعتمد على مقدار ملل الأمر الذي أنا بصدد القيام به. هناك مجموعة واسعة من folk/rockbands مثل Show of Hands حتى بعض المقطوعات مثل ZZ Topأو New Model Army . أما للعمل الممل المتكرر الذي لا يتطلب الكثير من التركيز فاستمع إلى Mötorheadوربما بعض المقطوعات الغريبة من Ministry أو Dead Kennedys .

كما استمع إلى بعض المقطوعات المستقلة مثل The Fishermans Friendsو Machinae Supremacy و Hörstreich . والأمر الجيد رؤية مثل هؤلاء وبداية كسر احتكار الشركات الموسيقية الكبرى.

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

أستخدم عددا قليلا من قوائم النواة البريدية ولكن لا أحضر الكثير من المؤتمرات. لست من عاشقي السفر الطويل ، كما أكره وأمقت السفر بالطائرة. لقد كان سيئا كفاية حتى قبل المسرحيات الأمنية أما الآن فقد اصبح أمرا لا يطاق.

لقد استمتعت على كل حال بالرحلة من مدينتي إلى براغ بالقطار وربما من الأرجح أن تجدني في أحد معارض السكك الحديدية أو على نموذج من السكك الحديدية العتيقة بدل مؤتمر لينكس. اعترف بأن نظام لينكس أمرا ممتعا ولكنه لا يزال "عمل"بالنسبة لي.

 

رابط المقالة باللغة الإنجلزية هنا.

ترجمة: زاهر النوتكي

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: أرند بيرجمان

$
0
0

أدار المقابلة: جينيفر كليور.

التقينا هذا الأسبوع ضمن سلسلتنا الأسبوعية مع أرند بيرجمان  Arnd Bergmann والذي قام من خلال هذه المقابلة باطلاعنا على الجوانب التي يركز عليها حاليا بالإضافة إلى بعض النصائح التي سيقدمها للمبرمجين الجدد في هذا المجتمع. يمكنك الاطلاع على بقية المقابلات على هذه الصفحة.

ما اسمك؟؟

أرند بيرجمان

ما الدور الذي تقوم به في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

أنا مشرف مشارك في تصميم معمارية نواة arm-soc مع أولوف جوهانسون حيث نقوم بجمع عشرات الترقيعات من مشرفي الأنظمة الفرعية لمعمارية ARM وندمج هذه الترقيعات لنافذة الدمج لإرسالها في وقت لاحق مباشرة للينوس تورفالدز. تبلغ هذه الترقيعات حاليا ما يقارب ١٠٠٠ ترقيعة لكل نافذة دمج.

بالإضافة إلى هذا أقوم بمراجعة جميع منافذ المعمارية الجديدة المقدمة لإدراجها ضمن نواة لينكس ، بالإضافة إلى ما أقوم به في بعض الأوقات بمراقبة drivers/char و drivers/misc و include/asm-generic directories ضمن النواة.

من الذي يقوم بدفع راتبك الشهري؟؟

أعمل في شركة IBM Deutschlandللبحوث والتطوير في مدينة Böblingen والتي بدورها تتيح لي العمل بدوام كامل على مشروع Linaro غير الربحي من خلال اتفاقية مع مركز لينكس أي بي أم للتقنية ومركز أي بي أم للإلكترونيات الدقيقة.

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

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

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟ وماذا تشغل على سطح مكتبك؟؟

أقوم بأغلب أعمالي باستخدام كل من git و vim. بالإضافة إلى ذلك فأنا أعمل على محطة عمل x86 فائقة السرعة لبناء نواة معمارية ARM. أستخدم Kubuntu على سطح مكتبي ومع ذلك فأنا أفكر منذ فترة في الانتقال إلى واجهة XFCE4عندما اهتدي لطريقة ما لترحيل إعدادات بريدي الإلكتروني بعيدا عن kmail 1.12 .

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

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

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

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

ومن الجوانب الإيجابية في عملي هو أن العمل الجيد الذي نقوم به يظل موجودا ومعترفا به حتى وأن قمت بتغيير وظيفتي أو أغلق المشروع بأكمله.

ما أكثر شيئا استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الانجازات المدهشة)؟؟

في مرة من المرات راجعت تسليم أحد المطورين لمعمارية جديدة كانت تناقش مسألة إدراجها ضمن النواة وأخبرت المبرمج بأن مثل هذه الأمور بحاجة إلى الكثير من المراجعات والتي قد تستغرق شهورا وأدرجت ما يقارب من ١٠٠ جزئية لمراجعتها لوجود أخطاء وعلل بها. ولكن وبصورة مذهلة جاء المطور بعد أسبوع واحد فقط بإصدارة جديدة والتي قام من خلالها بإصلاح كل العلل وتم قبول الكود البرمجي لإدراجه ضمن النسخة القادمة من النواة.

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

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

وعندما تبدأ مساهماتك الأولى بالمجتمع حاول أن تبدأ بشيء مفيد وصغير مثل إصلاح علة واضحة. وهناك الكثير من العلل التي من الممكن أن تكتشفها باستخدام بعض الأدوات الآلية المدرجة ضمن ملفات توثيق نواة النظام.

ما الذي تستمع إليه وأنت تبرمج؟؟

تعودت على الاستماع على قناة last.fm ولكن لم تكن تعمل بشكل جيد بسبب الحماية والجدران النارية التي تستخدمها الشركات ، لذا فأنا حاليا استمع على radioparadise.comعلى المشغل squeezebox.

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

أحضر ما يقارب ٣ أو ٤ من مؤتمرات Linaro Connect كل سنة ، بالإضافة إلى كل من LinuxCon وELCكلما وجدت وقتا لذلك. أما بالنسبة لقنوات المحادثة الرئيسية في هذا الوقت فهي كل من #linaro-kernel و #armlinux على موقع freenode.net.

 

رابط المقالة باللغة الإنجلزية هنا.

ترجمة: زاهر النوتكي

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: جون دبليو لينفيل

$
0
0

أدار المقابلة: جينيفر كليور.

مقابلة هذا الأسبوع هي مع جون لينفيل ، المشرف العام على تطوير النظام الفرعي المختص بالشبكة اللاسلكية ضمن نواة النظام منذ عام ٢٠٠٦. كما يذكر لينفيل بأنه لا يتذكر كثيرا الأمور المثيرة التي تواجهه ولكنه مع كل ذلك يعترف لنا بأن هناك أكثر من طريقة لحل أي مشكلة ما مهما كانت.

يمكنك الإطلاع على بقية المقابلات ضمن سلسلتنا الأسبوعية على الصفحة التالية.

ما اسمك؟؟

جون دبليو لينفيل

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

عملت كمشرف عام على تطوير النظام الفرعي للشبكة اللاسلكية ضمن نواة اللينكس منذ عام ٢٠٠٦. وكم كنت أتمنى أن يقتصر عملي على كتابة الأكواد البرمجية فقط ولكن في أغلب الوقت فإن العمل كان عبارة عن مراجعة أكواد ، تجميعها ودمج الترقيعات ... ألخ. وفي الحقيقة كان أغلب مطوري الشبكة اللاسلكية على دراية بالأمور البرمجية أكثر مني ، مما سمح لي بأن ألعب دورا محايدا فيما يتعلق بتحقيق التوازن بين تأثير مختلف المساهمين في الناتج العام"الكود البرمجي". ولكن وفي الحقيقة كنت أحافظ على مسافة بعيدة في هذا الصدد لأن أغلب المبرمجين كانوا متفاهمين مع بعضهم البعض بطريقة سلسة لا تستلزم تدخلي.

وفي الآونة الأخيرة ، يقوم كل من مطوري تقنية البلوتوث وتقنية الاتصالات الميدانية القريبة (NFC) بإرسال ترقيعاتهم للنواة عن طريقي. وعلي أن أعترف بأنني لست خبيرا في هذا المجال ولكن أعتقد بأن الدور الذي ألعبه يساعد على تخفيف الدور الكبير الذي يقوم به ديف ميلر والذي يؤدي في النهاية إلى الحفاظ على سلاسة إرسال الأكواد البرمجية والترقيعات إلى لينوس تروفالدز بصورة سلسلة.

من الذي يقوم بدفع راتبك الشهري؟؟

أنا موظف في شركة ريدهات.

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

أعيش في منطقة ريفية تبعد ما يقارب من ٤٥ دقيقة غرب رالي بمدينة نيويورك. والمنطقة التي ترعرعت فيها مطابقة نوعا ما من هذه المنطقة وأعتقد بأنها منطقة مناسبة جدا لتكوين أسرة. في الغالب أقوم بعملي من منزلي ولكن وفي بعض الأحيان أذهب إلى مقر الشركة برالي للقيام بعض الاجتماعات "وجها لوجه"مع بعض زملائي بالعمل.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟ وماذا تشغل على سطح مكتبك؟؟

أنا من الناس البسطاء التي تعتمد على برامج سطر الأوامر لقضاء أغلب أعمالها. لذا فغالبا ما يكون سطح مكتبي مليئا بنوافذ سطر الأوامر. بالإضافة إلى هذا فأنا سعيد باستخدام كل من Bash و sed و awkعندما أكون في حاجة إلى تسريع بعض المهام.

أما بالنسبة لواجهات سطح المكتب فكنت في السابق من مستخدمي واجهة كيدي 3.xولم أقم باعتماد الإصدارة الرابعة أبدا. بعدها انتقلت إلى استخدام واجهة جنوم ٢ ولكن … حسنا، أنا حاليا لاجئ من جديد.

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

منذ ما يقارب من ٢٠ سنة تقريبا كنت مرغما حينها على القيام ببعض التعديلات حتى أستطيع أن أضبط بطاقة الإنترنت لتعمل على أي نواة لينكس كنت أعمل عليها حينها. ولكنني لم أنخرط في تطوير نواة لينكس حتى أواخر عام ١٩٩٨. في ذلك الوقت كنت أحاول أن استخدم نظام لينكس كنظام تشغيلي على منصة عتاد تجريبية قام رب عملي بتوفيرها لزبائنه. كان الجهاز عبارة عن معالج شبكات وكنت استخدم نظام لينكس في محاولة مني لتعريف الجهاز على النظام ليقوم الجهاز بالعمل المطلوب. بطبيعة الحال كان هذا الكلام قبل أن يسيطر نظام لينكس على جزء لا بأس به من الحصة السوقية. لذا فعندما نجحت في مهمتي ، قامت إدارة الشركة بتهنئتي لما قمت به وطلبوا مني إن كان بالإمكان أن أقوم ببرمجته ليعمل على VxWorks. ولحسن الحظ ، أظهرت الشركات التي وظفتني لاحقا رغبتها في الاستفادة من مهاراتي في هذا المجال وبالخصوص برمجة نظام لينكس.

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

كان استمراري نابع من قناعة بأن كل من نظام لينكس والمصادر المفتوحة بشكل عام أمرا يتلاءم مع توجهاتي حيث استخدمت الأنظمة المبنية على نظام لينكس منذ كنت طالبا في الكلية وكنت دائما ما أرى بأن فلسفة المصادر المفتوحة طريقة مغرية لي في طريقة استخدام أجهزة الحاسب الآلي. لذلك أصبح نظام لينكس الخيار الحديث والطبيعي لمواصلة هذه التقاليد والميول. وبالإضافة إلى ما سبق ولكوني مهندس كمبيوتر كانت لدي الرغبة في القيام بإصلاح بعض الأمور أو تحسينها حسب رغبتي الشخصية وكانت في الوقت نفسه نواة لينكس وبعض الملحقات الأخرى بالنواة والمفتوحة المصدر تقدم لي هذه الخدمة بكل أريحية بدل أن أكون مرغما على التكيف مع أحتياجات أشخاص آخرين.

ما هو أكثر شيئ استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الإنجازات المدهشة)؟؟

بصراحة لا أجيد مسألة "الاحتفاظ بسجل"عن مثل هذه الأمور ولكن عادة ما أكتم ضحكة مكتومة عندما يقرر شخص ما بأنهم وجدوا "الطريقة الصحيحة والوحيدة"للقيام بأمر ما ويحاولون بكل الطرق إقناع كل من في المجتمع بموافقة فكرتهم وتبنيها وربما كان أفضل مثال يتبادر إلى ذهني الآن النقاشات المتكررة حول السماح لأكواد لغة ++C ليتم إدراجها ضمن نواة النظام. لغة ++C أفضل من لغة C ، أليس كذلك؟؟

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

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

ما الذي تستمع إليه وأنت تبرمج؟؟

أنا انسأن ممل وأستمع إلى محطات "الأخبار\النقاشات"على جهاز الراديو.

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

أراقب كل من قناة linux-wireless@vger.kernel.orgو netdev@vger.kernel.orgو (بصورة أقل) linuxkernel@vger.kernel.orgبالإضافة إلى غيرها من القنوات الأخرى. أيضا من السهولة بمكان أن تصل إلي عن طريق ايميلي الخاص. أما بالنسبة إلى قنوات IRC فأنا أحمل لقب "linville"على كل من Freenodeو OFTCوغيرها من الشبكات الأخرى. أما بالنسبة إلى المؤتمرات التي أحضرها ، فلقد ذهبت إلى كل من مؤتمر لينكس بأمريكا الشمالية ومؤتمر Linux Plumber's Conferenceفي السنوات القليلة الماضية. وسأحاول أن أحضر كل من LinuxCon Europeأو غيرها من أحداث مؤسسة لينكسبقدر المستطاع "يعتمد على إيجاد من يرعى تكاليف النقل". بالإضافة إلى كل ذلك فقد حضرت مؤتمر FUDCon وغيرها من الأحداث على مدى السنوات الماضية.

 

رابط المقالة باللغة الإنجلزية هنا.

ترجمة: زاهر النوتكي

سنة على نظام لينكس المكتبي في مدرسة وستكلف الثانوية للبنات

$
0
0

بمناسبة اقتراب عيد الفطر السعيد أعاده الله على الجميع باليمن والبركات، قمت بترجمة مقابلة مثيرة للاهتمام عن تجربة أحد المدارس البريطانية للانتقال إلى منصة لينكس وكيف مضت هذه التجربة. للعلم أنا قمنا بنشر مقالتين حول ضرورة استخدام البرمجيات الحرة في التعليم والمقالات هي:لماذا يجب استخدام البرمجيات الحرة في التعليم؟و لماذا يجب على المدارس أن تستخدم البرمجيات الحرة خصيصاً. صاحب المقالة هو ستو جارفاس وقد بدأت باستخدام برمجيات كدي في عام 2003 وبدأت العمل في فريق ترويج كدي عام 2008 عن طريق كتابة المقالات لموقع أخبار كدي. وبدأ ببطء بالانخراط أكثر وأكثر أنشطة فريق الترويج عن طريق كتابة إعلانات إصدارات كدي الرئيسية وأصبح محررا في موقع أخبار كدي عام 2009.  وفي عام 2010 أصبح عضوا في مجلس كدي الاستشاري و مجموعة التسويق. وهو يمثل كدي في مشروع ALERT البحثي الممول من الاتحاد الأوروبي في مدته من 2011- 2013م.

نص المقابلة:

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

 

ستو: مرحبا ملكولم، شكرا لك للموافقة على المقابلة. هل يمكن أن تخبرنا قليلا عن المدرسة و دورك فيها؟

ملكولم: مدرسة وستكلف الثانوية للبنات هي مدرسة نحوية اختيارية بدأت بـ 340 طالبة. أسست عام 1920م كمدرسة تعليمية شريكة في جادة فكتوريا ساوثإند وانتقلت إلى موقعها الحالي في عام 1931م. ومنذ ذلك الحين كبرت المدرسة لحجمها الحالي بـ 1095 طالبة.

تحوي دائرة الدعم الفني ثلاثة موظفين: أنا و بول أنطونيلي و جيني لدبيري. ودوري هو مدير الشبكة. دور دائرة الدعم الفني هو توفير ودعم كل المعدات ذات العلاقة بتقنية المعلومات داخل المدرسة. وهذا يشمل 200 حاسوب للمدرسين، و 400+ حاسوب للطلبة، و 33 أي ماك و +100 حاسوب محمول و بعض حواسيب أندرويد اللوحية. كذلك نقوم بدعم كل أجهزة الملتيمديا من مثل أجهزة الإسقاط و السبورات التفاعلية و التليفزيونات ..إلخ.

 

ستو: فكرة من كانت تحويل الحواسيب إلى نظام لينكس؟ وما الأسباب التي دفعت إلى ذلك؟

ملكولم: لقد استخدمنا لينكس لخادوم البريد الإلكتروني و بيئة التعليم الافتراضية و الموقع منذ فترة من الزمن بحكم أني استخدمته من قبل في عملي السابق في القطاع المالي.

لقد كانت فكرتي تحويل أجهزة الطلبة إلى نظام لينكس لأنه أصبح واضحا بازدياد أنه مع الحجم و الكلفة و تعقيد التقنية المتزايد بشكل تصاعدي أنه يجب أن يتعامل مع هذا الشيء و الفخر الوظيفي لم يكن ليسمح بأن تكون النتيجة تضر جودة النظم التي ندعمها. لقد اختبرنا مجموعة صغيرة من الحواسب ( 60 حاسوب) واستقبلنا المقترحات من الطلبة ومن ثم عدلناها على حسب المقترح واختبرناها مرة أخرى وهكذا. وحالما ما انتهينا من هذه الحلقة لعدة مرات مع توزيعة RedHat/Fedora وتوزيعة SUSE/openSUSE وكنا راضين بالنتيجة، قدمت مقترحي إلى قائد الفريق.

لقد كانت الدوافع وراء هذا التحول بداية دافع التكلفة و دافع فلسفي، فحتى في أفضل المدارس يعتبر التمويل دائما محدودا ( يبدو أن الساسة لا يفقهون المثل: إذا كان التعليم غاليا، فجرب الجهل ). إن تكلفة استخدام ويندوز عالية ولكنها ليس دائما واضحة، يحمل ويندوز الكثير من الحقائب التي ترفع التكلفة بفارق واضح مقارنة مع بيئة لينكس. أما الناحية الفلسفية فكان في الغالب فلسفة المنفعة.

لقد أردنا أن نوفر أفضل أنظمة تقنية المعلومات والتعليم الممكنة بالتمويل المتوفر. المال الذي ينفق بشكل أساسي في ترويج مايكروسوفت ويندوز و مايكروسوفت أوفس بين الطلبة يمكن أن ينفق بشكل أفضل على الأشياء التقليدية من مثل المعلمين و التعليم الحقيقي.

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

 

ستو: هل كانت هناك مقاومة للفكرة و كيف تغلبتم عليها؟

ملكولم: بشكل لا يصدق، قليلا. سحبني قائد الفريق فقط في اجتماعين طويلين وكانا ممتعين.

فعندما تتخلص من الفكرة أن الحواسيب هي ويندوز ، وتفكر بالأمر بشكل جدي، فإن الإيجابيات ترجح على السلبيات بشكل واضح. فالعالم يتغير بشكل سريع. هناك استبانة تقول أنه في عام 2000م ما نسبته 97% من الأجهزة مثبت عليها نظام ويندوز، ولكن الآن مع وجود الحواسيب اللوحية والهواتف الذكية، إلخ ، فإن ويندوز مثبت على 20% فقط من أجهزة الحوسبة، وفي عالم مليء بالأجهزة الضخمة والقوية والسريعة، فإن لينكس يملك المقام الأعلى. نحن مختصين في العلوم والهندسة ونريد طلبتنا أن يقوموا بأعمال عظيمة من مثل إنشاء جوجل جديدة أو خسوف الكون في CERN. في هذه البيئات، هم بحاجة بشكل أكيد لمعرفة نظام لينكس.

 

ستو: ما الخيارات التي قمت بها من ناحية البرمجيات ولماذا؟ هل كنتم بحاجة لعتاد جديد؟

ملكولم: لقد بدأنا بنظرية بسيطة وهي أن الطلبة يجب أن يعجبوا بالواجهة، لذا كان الجمال ميزة مطلوبة في محطات العمل. أما فريق الدعم الفني، فإن الثبات عمليا هو كل ما نريده للمخدمات. وبينما أعرف العديد من الناس تمتلك توزيعات مفضلة، أنا أعرف فقط التوزيعات المبنية على RPM. لو كان لدينا الكثير من المصادر، لكان باستطاعتنا النظر في المزيد من التوزيعات، ولكننا جربنا مزيج Red Hat/Fedora و SUSE/openSUSE . في النهاية، فازت SUSE/openSUSE بسبب دعمهم لبرمجيات KDE. في البداية، لم نرغب بأن يكون التغيير كبيرا للطلبة حتى يستوعبوه، و بلازما كدي يمكن أن تخصص لتصبح مألوفة جدا. ثانيا، وخلال مرحلة الاختبار، شجعنا الطلبة لتجربة بلازما كدى و جنوم. كانت بلازما بفارق شاسع الأكثر نجاحا من ناحية قبول المستخدم. [ اختيار البرمجيات النهائية كانت openSUSE 12.2 و سطح مكتب كدي بلازما 4.10 ]

طالما أن محطات العمل تعمل من دون مشاكل، لم نكن بحاجة إلى شراء عتاد جديد. أحد أسبابنا رئيسية للانتقال إلى لينكس أنه يعمل بشكل جيد على العتاد القديم. إن عملية الاستبدال المستمرة لـ 400 حاسوب للطلبة كل ثلاث أو أربع سنوات مكلفة بشكل رهيب.

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

 

ستو: كيف مرت عملية الانتقال النهائية؟ هل كانت هناك مشاكل تقنية وكيف تغلبتم عليها؟

ملكولم: تمت عملية الانتقال خلال إجازة صيف 2012م. في تلك النقطة، لم نواجه أي مشاكل تقنية كبيرة، بالرغم أن ذلك لا يعني بأننا لم نواجه أي مشاكل لاحقا.

 

ستو: هل كانت أي برمجيات ناقصة مقارنة مع الأنظمة القديمة؟

ملكولم: حاليا الطلبة يستخدمون لينكس والموظفين ويندوز 7. ولو كان يوجد عميل لـ SIMS ( نظام إدارة معلومات المدرسة ) لمنصة لينكس، لكان من الممكن نقل كامل المدرسة إلى نظام لينكس ولكان من السهولة تجاوز هذه العقبة. لا يوجد نقص في البرمجيات التعليمية لنظام لينكس، ولكن أبقينا بضع تطبيقات ويندوز والتي تعمل تحت منصة WINE حتى يتمكن الطلبة الذين يعملون عليها من الانتقال ببطء إلى بدائل لها.

أحد الأشياء المثيرة هو استخدام حاسوب Raspberry Pi و ما يشابه في المدارس. حيث أشار فريق Pi أن أحد فوائد استخدام حاسوب Pi هو أن الطلبة يمكن عمل تجارب من دون تخريب حواسيب المدرسة أو الأسرة. ومع اللينكس، يمكن للطلبة أن يعملوا تجارب عليه الآن.

تقوم دائرتنا لتقنية المعلومات و الاتصالات بتدريس البرمجة للطلبة من السنة السابعة [ حاولي سن 11 ] وفي بيئتنا أسوأ شيء يمكن أن يعملوه هو تدمير حسابهم الخاص. حتى ولو أنهم تمكنوا من تدمير منطقتهم بالكامل، فإنه يمكن استعادتها في دقائق ولن تؤثر على الشخص التالي الذي سيستخدم الجهاز.

 

ستو: هل تواصلتم مع KDE أو openSUSE للمساعدة؟ إذا كان كذلك، كيف كانت الاستجابة؟

ملكولم: أقوم بالتواصل عادة مع كل من كدي و أوبن سوز معا من خلال المنتديات و مواقع تبليغ العلل، وكلاهما متساعدون جدا. منتديات أوبن سوزيمكن أن تكون غير ودية حينما يظن الآخرون أن الأسئلة مطروحة بشكل غير جيد أو لم يفكر فيها بشكل جدي. وللسعادة، لا يوجد هذا في منتديات كديحيث كل شخص هناك متأدب و متساعد. وفي الدفاع عن أوبن سوز، بعض الأسئلة التي طرحتها لم تكن بشكل جيد. على كل حال، كما قلت سابقا، نحن ثلاثة أشخاص فقط و بعض الأحيان قراءة التوثيق ليس خيارا لنا.

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

 

ستو: كيف فكر الطلبة و أولياء الأمور و الموظفين في التغيير؟

ملكولم: تقبل صغار الطلبة بالأمر بشكل عادي. أما الطلبة الكبار فإنهم أقل مرونة. وما يزال هناك قلة ممن أستطيع أن أقول أني أستطيع التخلص من مايكروسوفت وورد عندما أستطيع أن انتزعه منهم. كذلك الحال مع الموظفين ( بالرغم أنه وللدهشة ليس للعمر علاقة ). بعض منهم وافق والبعض كره التحول. ومع قولي ذلك، فإن نفس العدد كرهوا ويندوز 7 ولا أحد أحب ويندوز 8. أظن أن المشكلة الأساسية أن ويندوز إكس بي هو ضحية لنجاحه. حيث أنه يعمل بشكل جيد من وجه نظر المستخدم، وهو ما يزال عملي باستمرار، والناس لا تحب التغيير ، بمن فيهم بعض الطلبة بشكل غريب.

عندما قررنا أن نمضي في خطتنا، أرسلت نشرة إخبارية خاصة إلى كل أولياء الأمور. كان لدينا ما يقارب أقل من نصف دزينة ممن لم يوافقوا، على اعتبار أن تعلم أوفس مهارة مفيدة. وبينما قبلنا وجه نظرهم، إلا أني برهنت أن الطالب ذي 11 عاما يبدأ معنا في سبتمبر 2014 فإنه ليس من المحتمل أن يدخل سوق العمل قبل عام 2024 م أو ما يقاربه. ماذا سيكون شكل أوفس 2024؟ إن تخمينك سيكون مثل تخميني ، ولكن المهارات الأساسية الجيدة و الطريقة التحليلية و المنطقية في التعامل مع الحواسيب ستكون جيدة لمدى الحياة.

 

ستو: بعد مضي سنة، ما الأشياء التي عملت و ما الأشياء التي لم تعمل؟ ما الشيء الذي ترغب بفعله بشكل مختلف أو تنصح مدرسة أخرى بفعله بشكل مختلف؟

ملكولم: سيكون من الجيد القول أن كل شيء عمل بشكل متكامل، ولكنه لم يكن كذلك. نصف الفصل الأول كان مريعا. كانت المشكلة الأساسية هي سرعة النظام، وخصوصا الولوج إلى كدي بلازما. كانت بيئة الاختبارية التي استخدمناها تحوي فقط على ما يقارب ستين جهازا وكان من الصعوبة بمكان تجميع الطلبة في وقت الغداء وبعد الدراسة لاختبار النظام بشكل مكثف. بالإضافة إلى أنه وبينما نحن في مرحلة الاختبار، كان علينا صيانة 400 حاسوب للطلبة مثبت عليها ويندوز إكس بي.

وخلاصة المشكلة أنه وبينما يعمل لينكس بشكل جيد على الأجهزة القديمة، إلا أنه في حالة استخدام توثيق LDAP و مجلدات المنزل NFS -- كما هو الحال في بيئة المدرسة أو العمل، يجب عليك أن تمتلك شبكة سرعتها جيجا بايت. ستعمل الأنظمة على سرعة 100 مجيا ولكنها ستكون تجربة غير سعيدة كما اكتشفناها على حسابنا. في نهاية المطاف، كان علينا استبدال ما يقارب ثمانية محولات لترقية كامل شبكتنا إلى سرعة جيجا بايت في كل مكان ( حسنا لقد كان مخططا لحدوث هذا على كل حال، ولكن لم أكن مستعدا لفعلها على حساب راحتي!).

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

 

ستو: كيف يمكن لكدي أن تجعل مثل هذا التحول أسهل؟

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

 

ستو: أي من التطبيقات ( سواء كدي أو غيرها) كانت مذهلة؟ وفي أي المناطق كان التطبيقات ناقصة؟

ملكولم: مع استثناء نصف دزينة من الطلبة الذين يستخدمون جنوم، كل شخص أحب الحقيقة أنه باستطاعتهم إعداد سطح مكتبهم وتطبيقاتهم. معظم مدراء الأنظمة يغلقوا ويندوز في وجه التخصيص لأنه من السهل للناس وخصوصا الطلبة أن تحطم ويندوز. لقد اعتمدنا النظرة أنه يجب أن نرجع إلى الحواسيب وكأنها حواسيب شخصية، لذا يستطيع الطلبة إعدادها بالطريقة التي تعجبهم والتي تعطيهم الحس بامتلاك أسطح مكتبهم. لدينا قيود في إعداد أي جهاز بشكل غير مناسب أو بطريقة مضرة بعمله. ويقوم الطلبة عامة بإعادة ضبط الجهاز قبل أن نتكلم معهم. السماح بهذا فكرة رائعة في المدارس. ففي البداية، أعدت بعض أسطح المكتب للتدمير ! أما الآن وبعد أن تغلبت إيجابيات الفكرة أصبحت أسطح المكتب أكثر تعقلا، ولم نعد بحاجة إعادة ضبط الحساب إلى حالته المقبولة لشهور. وفي هذا الموضوع، إنه لنجاح كبير للطلبة أن يكونوا مسؤولين عن بيئة عملهم وكيفية تحقيق المهام بدلا عن يأمروا بها، "هذا ويندوز وأفيس عام، استخدمه. "

 

ستو: هل هناك تعليقات أو استنتاجات أخرى حول هذه التجربة؟

ملكولم: هل منحتني هذه التجربة ليالي من دون نوم؟ نعم ، هل دفعتني إلى ما يقارب الجنون؟ نعم، هل سأفعلها مجددا ..من دون تردد!

 

ستو: شكرا جزيلا لك وحظا موفقا في المستقبل!

 

تعطينا تجربة مدرسة وستكلف الثانوية للبنات العديد من الأشياء لنفكر بها. إنه لينكس مع برمجيات كدي تستطيع العمل بشكل واضح في مثل هذه البيئة، ولكن ما زال هناك تحديات في نشر النظام و التعود على النظام الجديد. إن تجارب ملكولم توضح لنا مدى أهمية منتديات كدي في الترحيب ودعم المستخدمين الجدد لجلب البرمجيات الحرة لقطاع أكبر من المستخدمين.


نظرة على الإصدار الرابع من محاكي نظام التشغيل فيرفكس للهواتف الذكية

$
0
0

منذ الإعلان عن نظام التشغيل فيرفكس للهواتف الذكية والأجهزة اللوحية وشركة موزيلا تحاول تقديم تجربة مشابهه للنظام عن طريق محاكي يتم تثبيته على متصفح فيرفكس ، المحاكي يقدم تجربة قريبة نسبيا من النظام  تهدف إلى تعريف المستخدم بنظام التشغيل وتساعد المطور على فهم النظام . حسناً لنلقي نظرة سريعة على هذا المحاكي .


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

       

 

الشاشة الرئيسية :

يبدو أن موزيلا تنوي أن تجعل نظام فيرفكس بسيطاً وجميلاً في نفس الوقت فنجد أن الشاشة الرئيسية خالية تماما من أي شيء باستثناء شريط الأيقونات والتاريخ والوقت ، وبالانتقال إلى اليمين نجد صفحات التطبيقات ، أما الانتقال إلى اليسار فإننا نجد خانة البحث ومجموعة كبيرة من محركات البحث .

                              

                              

 

مركز التحكم :

لم أجد أي شيء مميز في مركز التحكم وهو يعمل من خلال السحب من الأعلى إلى الأسفل لنجد في الأسفل خمس أيقونات : الإعدادات ، وضع الطيران ، البلوتوث ، أتصال البيانات ، Wi-Fi. وبالنسبة للمساحة الفارغة فهي مخصصة للإشعارات .

 

دعم اللغة العربية :

من الرائع أن نجد محاكي النظام يقدم دعم اللغة العربية في أول بداياته فهذه بشارة تبشرنا بدعم كامل للغة العربية خلال الإطلاق الرسمي للنظام ، ويجب ألا ننسى أن النظام يدعم اللغة العربية قراءة وكتابة ( هناك مشاكل في المحاكي عند استخدام اللغة العربية كلغة أساسية ).

                              

 

متجر التطبيقات :

وصلنا الآن إلى الشيء الأهم ، في الحقيقة ما قدمته لنا موزيلا في متجر التطبيقات شيء رائع فعلاً ، الشكل البسيط والمنظم وتوزيع التطبيقات ولا ننسى التصنيفات التي تسهل عليك الوصول إلى التطبيق المراد ، وخيارات العرض التي تسمح لك بإلقاء نظرة على التطبيق دون الحاجة إلى الدخول عليه ، وأيضا إمكانية تثبيت التطبيق بدون الحاجة إلى الدخول إليه ، وخيارات أخرى لن نتطرق إلى ذكرها هنا .

                              

                             

 

الإعدادات :

نلاحظ هنا أن الخيارات كثيرة فستجد كل شيء تقريبا من ، إعدادات وضع الطيران ، GBS ، Wi-Fi ، خيرات المكالمات ، البلوتوث ، الأصوات ، الشاشة ، قفل الهاتف ، اللغة ، لوحة المفاتيح ، والكثير من الخيارات الأخرى .

                              

                              

 

زر home :

يوجد أيضا في المحاكي زر home وعند الضغط عليه مرة واحدة سيقوم بنقلك إلى الصفحة الرئيسية ، أما الضغط المستمر فسيعرض لك كافة التطبيقات المشغلة ، فتستطيع الانتقال إلى ما تريد منها بكل سهولة بتمرير الشاشة من اليمين أو اليسار وتستطيع إغلاق أحدهم إما بسحبه للأعلى أو بالضغط على علامة x ، ولا ننسى أيضا المؤثرات البصرية الرائعة التي تظهر عند التمرير بين التطبيقات المشغلة .

                              

 

أخيراً :

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

تستطيع تثبيت محاكي نظام فيرفكس للهواتف الذكية على متصفح فيرفكس من خلال هذه الوصلة (بعد التثبيت ستجد المحاكي في إعدادات فيرفكس >> مطور الويب >> firefox os simulator)

ولمزيد من المعلومات عن المحاكي باللغة الإنقليزية توجه إلى هذا الرابط .

حسناً ، قم بتجربت المحاكي وأخبرنا بإنطباعك في التعليقات .

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: جونيس بيرغ

$
0
0

أدار المقابلة: جينيفر كليور.

مطور النواة جوهانس بيرغ هو المشرف على تطوير الكود البرمجي الخاص بالشبكة اللاسلكية في نواة النظام بالإضافة إلى تعاريف iwlwifi. ومثل العديد من المطورين فقد انخرط مع نظام لينكس في بداية الأمر عندما انكب على إصلاح مشكلة بقطعة عتاد ملحقة بجهازه الحاسوبي ولم ينظر إلى الوراء من حينها. هذه المقابلة هي جزء من سلسلة المقابلات الأسبوعية والتي نجريها مع مطوري نواة نظام لينكس

يمكنك الإطلاع على بقية المقابلات ضمن سلسلتنا الأسبوعية على الصفحة التالية.

ما أسمك؟؟

جونيس بيرغ

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

أقضي أغلب وقتي بوظيفتي على برمجة الشبكة اللاسلكية (802.11) والإشراف على أغلب الأكواد البرمجية المتعلقة بهذه التقنية ضمن نواة لينكس بالإضافة إلى تعاريف تقنية iwlwifi. أقوم في بعض الأحيان ببعض الأعمال المتعلقة ببعض الأنظمة الفرعية بالنواة والتي تتفاعل بتقنية الإرسال اللاسلكي أو عندما يطرأ أمر ما يؤرق منامي. كما قمت في الماضي أيضا وكهواية ببعض الأعمال المتعلقة بـ powerpc، فعلى سبيل المثال لا الحصر فقد قمت بتطبيق خاصية الإسبات (hibernation) على أجهزة 64-bit powerpc. (ولكن لا تسألني ما إذا كانت لا تزال تعمل أم لا!!)

من الذي يقوم بدفع راتبك الشهري؟؟

شركة انتل.

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

في مدينة ديتمولد ، ألمانيا. لقد ترعرعت حول هذه المنطقة وأحببت العيش بها ولكن السبب الأكثر واقعية هو أنني يمكنني هنا من انتقاء اختياراتي بالطريقة التي أريدها كما أن زوجتي تعمل هنا أيضا.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟ وماذا تشغل على سطح مكتبك؟؟

سأترك أمر واجهة سطح مكتبي سرا خشية أن ينظر إلي بقية أعضاء مجتمع نواة نظام لينكس بأنني متخلف عقليا ولكن وفي الغالب فإن أكثر ما أعمل عليه عبارة عن متصفح إنترنت وعميل بريد إلكتروني والكثير من نوافذ سطر البرامج لكل شيء آخر. أما بالنسبة للأدوات الإنتاجية الأخرى فلا يمكنني العيش دون محرري المفضل " joe"ولا أستخدم أكثر من الأدوات القياسية والمتعارف عليها في تطوير النواة مثل: المحرر ، git ، sparse ، spatch أما بالنسبة إلى عملي على الشبكة اللاسلكية فأنا بحاجة إلى wireshark وفي السنوات القليلة الماضية أحببت استخدام trace-cmd لأنه يتيح للمستخدمين من تجميع الكثير من البيانات لعملية ترقيع العلل والتي يمكنني من مراجعتها لاحقا دون الحاجة إلى اتصال بالشبكة.

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

 

قضية انضمامي إلى المجتمع تعود إلى قصة طويلة ولكنها تتلخص في مواجهتي لبعض العتاد (Hardware) الذي لم يكن يعمل بالطريقة المطلوبة. وفي أحد المرات كانت قطعة العتاد عبارة عن بطاقة شبكة لاسلكية (Broadcom wireless) على جهاز PowerBook مودل ٢٠٠٥.

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

الأمر المسلي في المجتمع هو مواجهتك للتحديات الجديدة بشكل يومي والحلول ليست دائما متوفرة لديك مما يسهل لي في إشباع نهمي الإبداعي. بالإضافة إلى ذلك فأنا أعشق القيام بالأعمال التي تترك في الواقع تأثيرا على الكثير من الناس. استمع في الغالب إلى الكثير من التعليقات والتغذية الراجعة عندما يكون هناك تأثير سلبي لعمل قد قمت به ولكن لا يمكنه أن يكون كله بهذا السوء طبعا.

ما أكثر شيئ استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الإنجازات المدهشة)؟؟

بعض تقارير تصليح العلل التي تسلم على أنها أمثلة لـ"كذبة أبريل"إلا أنها أحيانا تحتوي على أمور ابداعية.

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

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

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

لقد توقفت عن الاشتراك في العديد من القوائم البريدية ، لذلك فأنا أتابع القائمة المتعلقة بالشبكات اللاسلكية بالنواة. وهناك قناة #linux-wireless التي أتابعها بشكل مستمر وعدد قليل آخر ولكن ليس بتلك الأهمية. أما اختياري للمؤتمرات التي أحضرها يكون في الغالب بشكل عشوائي. وبالمناسبة سأكون أحد المتحدثين ضمن مؤتمر نظام لينكس الذي سيعقد في أمريكا الشمالية مؤخرا ولكنني سأضطر إلى تجاهل مؤتمر نظام لينكس الذي سيعقد بأوروبا هذه المرة على الرغم من أن هناك قمة عن تقنية الاتصال اللاسلكي ملحقة بالمؤتمر.

رابط المقالة باللغة الإنجلزية هنا.

ترجمة: زاهر النوتكي

عشرة أسباب تجعل من بايثون أداة رائعة للأبحاث وأسباب أخرى تُقلل من روعتها

$
0
0

ما ستقرؤونه هنا هو تجربتي الشخصية مع بايثون، و لأن هذه التجربة كانت إيجابية فإن ما أكتبه هنا ما هو إلا محاولة و بلا حرج لتعزيز استخدام بايثون في البحث العلمي و تطويره . أربع سنين مضت على تركي لماتلاب MATLAB لصالح بايثون كلغتي الأساسية لمشاريع بحوث البرمجة، هذه المقالة تُوضح مدى استمتاعي بهذه التجربة .

كما سأشرح في الأقسام القادمة، مدى تنوع وجودة الخصائص التي أفسدتني بها بايثون، حتى في المهمات البرمجية الصغيرة، أصبحت الآن أعتمد على تراكيب البيانات الهائلة لدى بايثون ، تصنيفاتها، وظائفها المتداخلة، نص النداء المرن و المكتبة القياسية المضمنة( كبالوعة المطبخ) و أيضاً المكتبات العلمية العظيمة و التوثيق المميز.

للتوضيح، أنا لا أروّج لاستخدام بايثون لوحدها كبيئة مثالية في البرمجة العلمية ، أنا أروج للغة بايثون مع ثلة من المكتبات المستقلة الناضجة مفتوحة المصدر ، و بالتحديد Numpy/Scipy للعمليات العددية ، و Cython  للتحسينات في أدنى مستوى ، و IPython  للعمل التفاعلي ، و MatPlotLib للرسومات ، لاحقاً سأشرح ما سبق سرده بالإضافة إلى مكتبات أخرى بتفصيل أكثر، حيث أنني ذكرتهم الآن حتى أتحدث عنهم لاحقا ضمن هذه المقالة.

بوجود هذه المكتبات، صارت الخصائص الموجودة في ماتلاب التي تسمح لمستخدمها  بكتابة نص برمجي بسرعة بمجال تعليم الآلة و الذكاء الاصطناعي- مجالي البحثيّ الأساسي- جزء صغير من ما هو موجود في بايثون. بعد قضاء يوم في تعلم بايثون، مازال بإمكاني استخدام كل حيل المصفوفات التي تعلمتها في الماتلاب في بيئة بايثون بل و تحديد تراكيب بيانات أقوى و تصميم أنماط حسب الحاجة.

تصميم اللغة الكلي

كنت أؤمن بأن اللغة المثالية للبحوث هي اللغة التي تتيح الترجمة المباشرة من خربشات المفكرة إلى نص برمجي، بشكل عام هذا إيمان منطقي، لأن كثرة العقبات بين صناعة الأفكار و تطبيقها تبطئ عملية البحث، بكلمات أخرى: كلما قلّ الوقت اللازم في التفكير بخصوص البرمجة كلما كان أفضل، أما الآن أنا أؤمن بأن هذا الإيمان كان خاطئاً

يُركز تصميم لغة الماتلاب على المصفوفات وعمليات الجبر الخطية و لتحويل مثل هذه العمليات إلى عملية خطية هو في الحقيقة سهل و غير مسبوق، لكن الذهاب إلى أبعد من ذلك و يجعل العملية كتدريب على الإحباط.

لغة R  جميلة لتحليل البيانات تفاعلياً و مكتباتها المفتوحة لحزم الإحصائيات رائعة بحق ، ولكن تصميم اللغة غير طبيعي ومن الممكن أن يصاب المرء بالجنون في حالة استخدامها في مشاريع كبيرة. وبينما لغة Mathematicaمثالية للعمل التفاعلي مع الرياضيات الخالصة فقط، إلا أنها لم تصمم بغرض البرمجة بشكل عام.

المشكلة مع توجه البحث عن "المطابق الأمثل"هو أنك تخسر بذلك الشمولية بسرعة. وحين يكون مجال تصميم اللغة ضيق جدا ستضطر لتصل بتطبيق واحد فقط إلى المثالية على حساب أن يكون لديك أكثر من تطبيق جيد. لهذا توفر الجامعات برامج دراسية تُعنى بتصميم لغات البرمجة (عملية تحديد إيجابيات و سلبيات عدة تصاميم مختلفة بشكل صائب هو أمر فائق الصعوبة). الاستخدام الواسع لبايثون في كل شيء ابتداءا من إدارة الأنظمة و تصميم المواقع إلى طحن الأعداد عدديا يُظهر أنها لغة ناجحة جدا بكل تأكيد. في الحقيقة كنت شاهدا عن كثب كيف أن تطوير المهارات في لغة R يؤدي إلى تطوير مهارات التفاعل مع البيانات، و تطوير المهارات في ماتلاب يؤدي إلى تطوير مهارات كتابة سكربتات سريعة (رديئة) ،  وتطوير المهارات في بايثون يؤدي إلى تطوير مهارة البرمجة بشكل الحقيقي.

عملياً، في مجال عملي، الجانب السلبي هو أن بعض عمليات المصفوفات التي تمثل باستخدام بنى نحوية في ماتلاب تصبح نداءات لوظائف (على سبيل المثال x = solve(A, y) عوضا عن x = A \ y ). وفي مقابل هذا الإسهاب- والذي لا أجده مشكل- يجد الواحد هذه الوظائف مرنة جدا و أنها لغة واقعية ابتداءا من الأنظمة الأوتوماتيكية حتى البحث العلمي. لا يحتاج المبرمج لتبديل إلى لغة أخرى إذا ما اضطر لكتابة نص برمجي غير علمي كما أن هذه اللغة تقدم منفذا سهلا لمكتبات أخرى( مثل قواعد البيانات) للبحث العلمي.

بالإضافة إلى ذلك، تسمح بايثون لمستخدمها بالنفوذ السهل إلى نماذج تصميم البرمجة الشيئية و البرمجة الإجرائية. فكما أن وجود بعض المشكلات المختلفة يتطلب طرقا مختلفة لحلها فهناك أيضا مشكلات مختلفة تتطلب طرق برمجية مختلفة. لا يوجد هناك أي شك بأن النظام الخطي الإجرائي هو نظام معتاد عليه لحل مشكلات علمية عديدة، لكن النظام الشيئي المبني على منظومات تحتوي على وظائف داخلية و تصرفات خارجية هو الحل المثالي للبعض. لهذا فإن الأصناف classes في بايثون هي مكتملة الخصائص و عملية. البرمجة الوظائفية، والتي تُبنى على قوة العدادات و الوظائف كمتغيرات تجعل الكثير من الحلول البرمجية موجزة و بديهية بكل عبقرية في بايثون، حيث يمكن تمرير كل شيء كعنصر، مثل الوظائف و تعريفات الأصناف و أيضا الوحدات. العدادات Iterators هي أحد أهم مكونات اللغات البرمجية و بايثون تأتي بمكتبة متكاملة للعدادات ، رغم أنها لا تذهب بعيدا في العدادات مثل النماذج الرائدة فيه مثل جافا و هاسكل، لكنها تسمح باستخدام أدوات عملية من هذه النماذج، هذه الخصائص أجمع تجعل من بايثون لغة عملية و حلالة للمشاكل وهذا أحد مفاتيح شهرتها.

قابلية القراءة

لتكرار نقطة متواترة ، بناء لغة بايثون مصمم بشكل واع ، على عكس الكثير من لغات البرمجة( مثل بيرل)، قابلية القراءة هي محط اهتمام رئيسي أُخذ بعين الاعتبار في تصميم بايثون، في الحقيقة أن الطرافة تكمن بأن تحويل نص شبه برمجي بنص برمجي في بايثون ما هو إلا تصحيح الإزاحة.

هذه القدرة لها العديد من الفوائد الإيجابية، يقول مصمم بايثون الأساسيGuido van Rossum :

هذا التركيز على القدرة القرائية لم يحدث بمحض الصدفة، كلغة برمجة شيئية، بايثون تهدف إلى تشجيع إنشاء نص برمجي يمكن إعادة استخدامه، حتى لو كتبنا توثيق كامل في كل وقت ،فإن النص البرمجي سيعاد استخدامه بصعوبة إذا لم يُقرأ بسهولة. العديد من خصائص بايثون ، بالإضافة إلى استخدام الإزاحة الخاصة بها، تجعل النص البرمجي الخاص بها يُقرأ بفاعلية أكبر. [1]

بالإضافة إلى ذلك ، وجدت أن هذه الميزة مشجعة للتعاون وليس فقط مسهلة للتشارك في مشاريع بايثون مفتوحة المصدر. فإذا كان بإمكانك مناقشة نصك البرمجي بسهولة مع الآخرين في مكتبك، ستكون النتيجة أفضل و سيكون المبرمجون أفضل.

كمثالين على هذا الأمر ، اقرأ النص البرمجي التالي:

def classify(values, boundary=0):
"Classifies values as being below (False) or above (True) a boundary."
return [(True if v > boundary else False) for v in values]

# Call the above function
classify(my_values, boundary=0.5)

دعوني أشرح لكم النقاط الثلاثة التي تعرض لها هذا النص البرمجي أولا: أنها وظيفة مكتملة بنفسها احتاجت إلى ثلاثة أسطر فقط لتعريفها مع التوثيق المرافق لها، ثانيا: القيمة الافتراضية للحد معرّفة بطريقة سهلة القراءة بجنون ( نعم، هذا الأمر يظهر في حال استخدام “Sphinx” لإنشاء توثيق آلي)، ثالثا: البناء النحوي لمعالجة القائمة list مصمم ليكون قابل للقراءة، حتى لو لم تكن معتاد على قراءة نصوص بايثون البرمجية ، فإنه من السهل تحليل هذا النص- ستنشئ وتعيد قائمة جديدة عائدة بقيمة True إذا كانت قيمة v هي أعلى من الحد boundary و بقيمة False لبقية الأحوال. أخيرا ، حين مناداة الوظائف ، تسمح بايثون بالمعطيات المسماة named arguments- هذا يشجع الوضوح كما يقلل ثغرات المتابعة bookkeeping الغبية، تحديدا إذا كانت هذه الوظائف تتطلب أكثر من معطى.

اسمحوا لي بمقارنة هذه الخصائص بما هو موجود في ماتلاب، حيث أنه في ماتلاب يتم حفظ الوظائف المتغيرة العامة في ملفات منفصلة، غير مشجعة على استخدام الوظائف القصيرة –وعمليا- تشجع عمليات القص و اللصق في البرمجة، والتي هي لعنة التنقيح الأكواد. كذلك المعطيات الافتراضية تسبب الكثير من الألم ؛ حيث أنها تحتاج إلى برمجة مشروطة لتحديد المعطيات غير المحددة. أخيرا، تحديد المعطيات بالاسم حين المناداة ليس بخيار مطروح- مع أن هناك بناء مشهور ولكنه افتراضي يغير بين الأسماء و القيم في قائمة المعطيات يسمح بذلك إلى حد ما.

 

الموازنة بين البرمجة المستوى العالي و المستوى المنخفض

سهولة الموازنة بين البرمجة ذات المستوى العالي و المستوى المنخفض هي نقطة قوة تُحسب لصالح بايثون، تعتبر نصوص بايثون البرمجية نصوص ذات مستوى عالي إلى حد معقول ، سمعت أنه حال كتابة خوازميات متشابهة بالمتوسط يمكنك أن تكتب ستة أسطر في سي/سي++ لكل سطر مقابل في البايثون. على أية حال، كما هو في أغلب لغات البرمجة عالية المستوى ، أنت بالغالب ستضحي بسرعة تنفيذ نصك البرمجي لصالح سرعة البرمجة.

المقاربة المعقولة لهذا الأمر هو التعامل مع العناصر ذات المستوى العالي- مثل المصفوفات و القوائم- و تحسين العمليات المُنفذة على هذه العناصر لجعل البرمجة أسرع بشكل مقبول، هذه هي طريقة ماتلاب وهي أحد مفاتيح نجاحه، كما أنها طبيعية في بايثون، في هذا السياق تعني عملية تسريع البرمجة جعل خوارزمياتك كمتجهات تعمل مع مصفوفات عددية عوضا عن أرقام فردية، هذا سيقلل الضغط المُحمل على اللغة إذا ما كانت عمليات المصفوفات محسّنة.

التجريد Abstraction مثل هذا ضروري جدا للبرمجة العلمية، والتركيز على العمليات ذات المستوى العالي و المنفذة على أنواع بيانات ذات مستوى عالي يؤدي بشكل عام إلى اكتساب سرعة برمجة كبيرة و دقيقة. يسمح نظام بايثون لتوسيع الأنواع بسهولة للمكتبات لتُصمم أنواع جديدة بشكل متكامل، مصفوفة ” Numpy” تعتبر مثال رائع على هذا الأمر.

على أية حال، التجريدات المتوفرة ليست كافية دائما حينما تطور خوارزميات جديدة أو حين تبرمج أفكارا جديدة، كمثال جعل النص البرمجي كمتجه باستخدام المصفوفات هو أمر قوي لكنه محدود، في حالات عديدة تحتاج العمليات إلى حلقات ، و وظائف عودية وغيرها من هياكل البرمجة التي تعمل بشكل جيد مع النص البرمجي المحسن و المنشئ بلغة الآلة و لكنها ليس باللغات المفسرة الشائعة، المتغيرات - كما هو في الحال في كثير من اللغات المفسرة - لا تكتب بشكل ثابت و لا يستطيع النص البرمجي تنفيذه بلغة الآلة. في السياق العلمي ، سايثونCythonتوفر التوازن المثالي بين الأمرين عبر توفيرهما معا.

سايثون Cythonتعمل أولا بترجمة نص بايثون البرمجي إلى ما يعادله في لغة سي حيث يُنفذ نص بايثون المعدل هذا عبر واجهة برمجة التطبيقات لبايثون سي، و من ثم يستخدم مترجم لغة سي لإنشاء مكتبة مشتركة يمكن تحميلها كوحدة بايثون. بشكل عام، هذه الوحدة تطابق بخصائصها لوحدة بايثون الأصلية و تتفوق عليها بالسرعة هامشيا. من إيجابيات استخدام سايثون على كل حال، أنها تسمح بكتابة المتغيرات بشكل ثابت، مثال ( cdef int i ) تُعرّف i كعدد صحيح، هذه الخاصية تزيد من السرعة بشكل فائق لأن المتغيرات المكتوبة تُعامل الآن في بايثون باستخدام متغيرات من مستويات أدنى عوضا عن متغيرات بايثون نفسها. مع هذه الفروق سيكون نص بايثون البرمجي الخاص بك بسرعة نص سي البرمجي من دون الحاجة إلى معرفة كبيرة بلغة الأخيرة.
عملياً، قليل من تعريفات الأنواع ستعطيك سرعة عظيمة، كمثال، اعتبر أن لديك هذا النص البرمجي:

def foo(A):
for i in range(A.shape[0]):
for j in range(A.shape[1]):
A[i,j] += i*j

حيث A هي مصفوفة NumPy من بعدين. هذا النص البرمجي يستخدم حلقات مفسرة ولهذا تعمل ببطء شديد، على أية حال، فلنضف معلومات النوع ولنستخدم سايثون:

def cyfoo(ndarray[double, ndim=2] A):
cdef size_t i, j

for i in range(A.shape[0]):
for j in range(A.shape[1]):
A[i,j] += i*j

تترجم سايثون عمليات بايثون الضرورية إلى نداءات لواجهة سي عبر بايثون Python C-API و لكن الحلقات و الفهرسة تتحول إلى نص سي منخفض المستوى، لكل مصفوفة بحجم ١٠٠٠×١٠٠٠ على جهازي ذو 2.4 قيقا هرتز ، بايثون تستهلك 1.67 ثانية بينما نسخة سايثون تستهلك فقط 3.67 ملي-ثانية ( النسخة المتجهة من النص البرمجي السابق باستخدام الضرب الخارجي تستهلك 15.1 ملي-ثانية)

كقاعدة عامة يستهلك برنامجك ٨٠٪ من وقته لتنفيذ ٢٠٪ من نصه البرمجي ، فلهذا كاستراتيجية جيدة لنص برمجي فعال هي كتابة كل شيء، ثم تحليل النص البرمجي ، ومن ثم تحسين الأجزاء التي تحتاج إلى تحسين.

محللات بايثون profilersرائعة ، وسايثون تسمح لك بتحسين نصك البرمجي بأقل جهد مبذول.

إمكانية التبادل في اللغة

كعرض جانبي لعمومية اللغة هو أن بايثون لاصق ممتاز للغات البرمجة المختلفة ، حيث يستطيع الواحد مناداة وظائف ماتلاب من بايثون( عبر محرك ماتلاب) باستخدام MLabWrap؛ مما يسهل عملية الانتقال من ماتلاب إلى بايثون، هل تحتاج إلى استخدام حزمة الانحدار الخطي من لغة R ؟ RPyسيضعها على أطراف أصابعك ، هل تملك نص فروترنFORTRAN سريع لخوارزمية عددية معينة؟ F2pyسيقوم بتغليف ذاك النص بدون جهد ، هل تملك مكتبات سي وسي++ عامة وتريد مناداتها؟ سيقوم بذلك بدون أي جهد.

تريد استخدام مكتبات سي او سي++؟ Ctypes، أو Cython، أوSWIهي ثلاثة طرق سهلة لتخاطب معها ( سايثون هي تفضيلي الشخصي). الآن لو أن كل هذا يمشي بالاتجاهين...

نظام التوثيق

ببراعة تدمج بايثون توثيق الوحدة، والصنف ، والوظيفة مباشرة في اللغة نفسها. في الحقيقة هناك مستويين من التعليقات - التعليقات مستوى البرمجة (تبدأ ب #) التي يتجاهلها المترجم، والتعليقات الوثائقية التي تحديد من قبل doc stringبعد الدالة أو الوظيفة. نصوص الوثائق هذه تضيف الوسوم إلى الوظائف التي يمكن الوصول إليها من قبل أي شخص باستخدام منصة بايثون التفاعلية أو عن طريق مولدات الوثائق التلقائي.

جمال نظام بايثون يصبح واضحا عند استخدام سفنكس Sphinx - نظام توليد الوثائق التي بنيت أصلا لتوثيق لغة بايثون-. للسماح بمرونة كافية للعرض ، تتيح توجيهات reStructuredTextلغة ترميزية سهلة و مقروءة ، والتي أصبحت تستخدم على نطاق واسع في وثائق التعليمات البرمجية.

سفينكس يعمل بسهولة مع من نصوص دوك المضمنة، ولكنه مفيد بشكل يتعدى التوثيق فقط - على سبيل المثال، موقعي الشخصي صفحات الويب الخاصة بمناهجي عندما أقوم بالتدريس، و مواقع توثيق مستندات نصوصي البرمجية و طبعا ، موقع بايثون الأساسي كلها صممت باستخدام سفينكس.

هناك خاصية تساعدك في البرمجة العلمية هي قابلية استخدام عمليات لا-تكس و القيام بتنفيذ رسم هندسي نقطي داخل وثائق النص البرمجي، كمثال مكنك الكتابة كالتالي:

.. math:: \Gamma(z) = \int_0^\infty x^{z-1}e^{-x}\,dx

سيظهر في صفحة الويب هكذا



تضمين النقاط أمر سهل، النص التالي:

.. plot::

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,2, 1000)

plt.figure()
plt.plot(x, np.sqrt(x), label = r"Skiing: $\sqrt{x}$")
plt.plot(x, x**2, label = r"Snowboarding: $x^2$")
plt.title("Learning Curves for Snowboarding and Skiing")
plt.xlabel("Time") ; plt.ylabel("Skill")
plt.legend(loc='upper left')
plt.show()

يعطي

(Source code, png, hires.png, pdf)



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

نظام الوحدات الهرمية

تستخدم بايثون البرمجة الوحدية، نظام شائع بطبيعته يرتب الوظائف و الدول داخل مساحات اسمية namespace . كل ملف بايثون يعرف وحدة. الوظائف والأصناف وا لمتغيرات المعرفة أو مجلوبة داخل الملف ستظهر في مساحة الاسم لهذه الوحدة، استيراد الوحدة يمكن أن ينشئ قاموسا محليا يحمل عناصر هذه الوحدة أو يسحب بعض عناصر هذه الوحدة إلى المساحة الاسمية.

كمثال import hashlib تربط hashlib.md5 بوظيفة التحقق من md5 التابعة لhashlib ، بالتناوب from hashlib import md5 تربط md5 بهذه الوظيفة ، هذا يساعد برمجة المساحات الاسمية لتتبع نظاميا هرميا.

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

اسمحوا لي بالتحدث قليلا عن ماتلاب ليساعدكم في فهم لما هذه خاصية رائعة، في ماتلاب جميع الوظائف تعرف في المساحة الاسمية العالمية، وتتخذ من أسماء الملفات أسماء لها في نفس المسار المحدد. على أية حال، هذا لا يشجع خاصية إعادة استخدام النص البرمجي لأنها تجعل المبرمج مضطرا لعمل إضافي لفصل النصوص البرمجية عن بعضها البعض، بكلمات أخرى ، بدون هيكلة هرمية للبرنامج، سيصبح من الصعوبة استخراج و إعادة استخدام وظيفة معينة.

ثانيا، المبرمجين يجب عليهم أن يعطوا لوظائفهم أسماءا طويلة( أي أنهم يقوموا بوظيفة الهيكل الهرمي بأنفسهم) أو المخاطرة بمساحات أسماء تتعارض مما يصعب الأمر و يصعب حله. بينما يسمح هذا للشخص بإنشاء برنامج بسرعة إلا أنه نظام سيء من وجهة نظر برمجية.

 

هيكلة البيانات

البرمجة الجيدة تحتاج إلى امتلاك واستخدام هيكلة بيانات صحيحة لخوارزميتك، هذا الأمر لا يعار له الاهتمام الكبير في البرمجة البحثية، في حين أن نصوص البرمجية على شاكلة إثبات المبدأ لا تحتاج بالعادة إلي هيكلة بيانات محسنة إلا أنها تسبب مشاكل عند وضعها في الإنتاج، هذا بالغالب - مع ندرة التحدث عنه- يقلل من توسع الكثير من النصوص البرمجية المتوفرة حاليا، بالإضافة إلى أن هكذا خصائص ليست طبيعية في تصميم اللغة ، فإن المبرمجين غالبا ما يتجنبونها و يفشلون في تعلم أنماط تصميم جيدة.

تملك بايثون قوائم، وجداول ،و مجموعات ، وقواميس، ونصوص، وصفوف الخيوط الآمنة و العديد من الأنواع المبنية داخلها. تحمل القوائم عناصر بيانات عشوائية التي يمكن أن تُصنف و تشرّح و تجمّع و تستخدم ككومات، والمجموعات تحمل عناصر فريدة و غير مرتبة، والقواميسDictionariesتوصّل بين المفاتيح الفريدة لأي شيء و أيضا تكون قواعد اللغة الأساسية.

الأكوام متوفرة كعمليات على أول القائمة( تشابه أكوام السي++) . أضف نمبيNumPy و ستحصل على هيكل لمصفوفة متعددة الأبعاد والتي تدعم التحسين و عملية في النشر و عمليات المصفوفات. أضف ساي-باي SciPy و ستحصل على مصفوفات متناثرة، وإشجار كي دي، وعناصر الصور ، وسلسلة الوقت و المزيد.

المكتبات المتوفرة

تحتوي بايثون على مكتبة رائعة محزّمة بداخلها، فلسفتها تعتمد على إضافة البطاريات batteries-included، وتوزيعة بايثون الأساسية تأتي بقواعد بيانات مدمجة و بأنواع بيانات ثابتة و مختلفة و روتينات الواجهات لأنظمة التشغيل و وواجهات الويب و البريد الإلكتروني و أدوات الشبكات، و أدوات ضغط البيانات و التشفير و دعم الاكس ام ال و التعبيرات الاعتيادية و اختبار الوحدات و ثنائية النواة والعديد من المميزات، باختصار، إذا أردت أن أرتاح من برمجة عمليات المصفوفات وأقوم بجعل عملية في النظام تؤدى بشكل آلي ؛ فإني لا أحتاج إلي تغيير اللغة.

بالإضافة إلى وجود مكتبات واسعة تدعم الوظائف المطلوبة للبرمجة العلمية، ما سيأتي قائمة أستخدمها غالبا و أجدها مختبرة بشكل جيد و لها فاعلية :

NumPy/SciPy

هذا الزوج من المكتبات يدعم القوائم و المصفوفات و الجبر الخطي و التحسينات العددية و إنتاج الأعداد بعشوائية و وظائف الإحصائيات و هياكل مختلفة للمعادلات و تحويلات فورييه و معالجة الإشارات و الصور و نثر و تغليف القوائم و حساب المكانية و العديد من الوظائف و المعادلات الرياضية، باتحادهما يغطيان معظم وظائف ماتلاب الأساسية و أجزاء من الأدوات الإضافية و أيضا تدعم القراءة والكتابة لملفات الماتلاب، بالإضافة إلي ذلك يحتويان الآن على توثيق رائع محدث بشكل قوي عبر السنين الماضية كما أنها شائعة بين وسط نشط جدا.

IPython:

من أفضل الأشياء في بايثون هو اي-بايثون، وهي صدفة محسنة و تفاعلية تقوم بعملية التدقيق و تصنيف النص البرمجي و الرسم الهندسي. تدعم ميزة الإكمال عند ضغط زر tab للعناصر، وميزة التدقيق المدمج، وميزة إيجاد الوحدة و الكثير من الوظائف، بالإضافة إلى أنها بشكل أساسي تقوم بكل ما يمكنك توقعه من واجهة برمجية عبر سطر الأوامر.

Cython:

ذكرت سابقا، سايثون هي طريقة غير مؤلمة لإضافة أجزاء من نصوص برمجية معدلة و محسنة لبرنامج بايثون أكبر.

SQLAlchemy:

تجعل SQLAlchemyالاستفادة من قوة قواعد البيانات أمراً بالغ السهولة و بديهي ، وهي بالأساس التفاف حول قاعدة بيانات SQL و تبني أنت الاستعلامات باستخدام معاملات بديهية، ثم تبني هي نص اس كيو ال و تنفذه على قاعدة البيانات و تعيد لك مؤشرا للنتيجة، , ومع قاعدة بيانات sqliteاس كيوليت- المدمج أساسا في مكتبة بايثون- سيتمكن الباحث من الاستفادة من قوة قواعد البيانات لأجل أغراض علمية بسهولة شديدة. وأيضا إذا أخبرت اس كيوليت بأن تبني قاعدة بياناتها في الذاكرة ، ستحصل على هيكل بيانات أقوى. و استلهما من كاركتير xkcd ، فإن SQLAlchemy تجعل من قواعد البيانات أمراً ممتعا مرة أخرى.

PyTables:

إنها طريقة رائعة للتعامل مع كمية كبيرة من البيانات بطريقة ذات فاعلية و مرتبة و معتمدة ، حيث أنها تحسن من المصادر ، وتحول بشكل آلي البيانات من القرص و الذاكرة حسب ما يتطلبه الأمر، كما أنها تدعم أيضا الضغط الفوري و تعمل بسلاسة مع قوائم نمبيNumPy.

PyQt:

لكتابة واجهة رسومية للمستخدم عبر السي ++،فإنه لمن الصعب التغلب على كيو-تي Qt (شخصيا أنصح بها) ، PyQtتجلب سهولة الكيو-تي إلى بايثون، وأنا بالفعل أقصد هذه السهولة، لقد بنيت باستخدام مصمم كيو-تي واجهة رسومية لتطبيق علمي معقدة نوعا ما فقط عبر أسطر قليلة من النص البرمجي المخصص، كل الأمر تطلب مني أياماً معدودة فقط ، هذا النص البرمجي يعمل على أكثر من نظام تشغيلي ، مثل لينكس و ماك او-اس و ويندوز . إذا احتجت إلى تطوير واجهة أمامية لإطار بياناتك ولا تأبه لأمر الرخصة ( GPL ل PyQt و LGPL لمكتبة كيو-تي.) ، فمن خلال تجربتي فهذه أسهل طريقة لفعل ذلك.

TreeDict:

بدون تخطيط واضح، غالبا ما تكون المشاريع البحثية الكبيرة معرضة للقانون الثاني للديناميكا الحرارية: بمرور الوقت، ترتيب العوامل و البيانات و النتائج تصبح عشوائية بشكل متزايد. تري-دكت TreeDictهو هيكل بيانات لبايثون قمت بتصميمه لمحاربة هذه المشكلة، إنه يخزن المجموعات الهرمية للعوامل و المتغيرات و البيانات و يدعم النسخ و الربط و التجزئة و عمليات أخرى تنفذ على الهياكل الشجرية. هذا التنظيم الهرمي يدعم التنظيم الذي يتابع الانقسامات المفاهيمية التي تحدث في البرنامج ، كمثال: ملف واحد يمكن أن يُعرف كل المتغيرات بينما يعكس بناء باقي النص البرمجي.

Sage:

سيج لا ينتمي بالضرورة إلى هذه القائمة ، لأنه يحزم كل الحزمات المذكورة سابقا في إطار عمل واحد للبحوث الرياضية، إنه يهدف ليصبح الحل الكامل للبرمجة العلمية، كما إنه يتعاون مع المئات من المكتبات العلمية مفتوحة المصدر. إنه يبنيها بطريقة مفهوم كتاب الملاحظات الذي يساعد على شحذ التفكير و يساعد على تنظيم البحث العام. كما أنه يحتوي واجهة على الإنترنت لتجربتها . كحزمة متكاملة، أنا أوصي المبتدئين للبرمجة العلمية ببايثون لتجربة سيج أولا، إنه يعمل عملا جيدا في توحيد الأدوات المتوفرة في عرض ثابت.

توزيعة بايثونEnthought :

تقوم بتحزيم هذه مكتبات عديدة في حزمة واحدة متكاملة للحوسبة العلمية، توزع انثوت بايثون بواسطة شركة تدعم بشكل قوي تطوير و إدارة هذه المكتبات. وبينما يتوفر هناك خيارات تجارية، هذه التوزيعة مجانية للاستخدام الأكاديمي.

إطار الاختبار

أنا لا اشعر بالراحة اتجاه نشر النص البرمجي بدون إرفاقه باختبارات عديدة، هذا التصرف بالطبع يعكس حكمة برمجية، حيث أن النص البرمجي المضمون عمله على طريقة معينة ( بتضمينه وحدات اختبارات) هو نص برمجي قابل لإعادة الاستخدام و مستقل. وبالرغم أن وحدات الاختبار لا تكون بنفس جودة النص البرمجي بشكل دائم إلا أن هنالك علاقة وطيدة. للأسف ، المجتمع البحثي لا يعطي في الغالب تركيز كبير لكتابة اختبار صحيح للنص برمجي ، هذا راجع- بشكل جزئي- لان التركيز منصب بشكل مباشر على التقنية و النظرية و النشر، ولكن هذا هو بالضبط السبب الذي يجعل إطار الاختبار القوي و العملي والمعياري و بنى الاختبار البسيطة من مثل تأكيد البيانات في غاية الأهمية. بايثون توفر إطار اختبار مضمن وسهل الاستخدام يشجع تغطية اختبارية جيدة عبر جعل عملية الاختبار سريعة جدا من حيث وقت التدقيق و كتابة حالات الاختبار، بهذه الطريقة، بايثون مرة أخري تميز نفسها عن المنافسين في البرمجة العلمية.

الجانب السيئ

لا توجد مقالة مقنعة بالكامل بدون عرض صريح للجوانب السيئة، وبالفعل هنالك العديد منها للذكر، في الحقيقة العديد من نقاشاتي تتضمن عرض لجانب سيء ، مع خيارات عديدة في متناول اليد، من أين يبدأ الشخص؟ أن تتخذ قرارا فاصلا في كل نقطة يؤدي أحيانا إلى شلل في الإنتاجية، في معظم التطبيقات، أليس استخدام لغة جامدة ولكنها صامدة كماتلاب يعتبر خيارا أفضل؟

بينما يمكن للشخص أن يستخدم نصوص برمجية اعتيادية في بايثون و لكنني أميل للموافقة بهذا الشأن ، على الأقل إلى حد معين، على أية حال، الحال هنا ليس سيئا بشكل عام و على العكس، نستطيع مقارنته بين تعلم التزلج على الجليد وتعلم التزلج على الثلج، يمكن للشخص أن يمر بأيام مريعة في بداية تعلمه التزلج على الثلج بينما يمكنه تعلم التزلج ومبادئها بشكل أسرع. على كل حال، بعد مرور بضعة أسابيع و بينما المتزلج على الثلج يصبح بإمكانه القيام بخدع مثالية، يبقى المتزلج على الجليد يعمل على عدم فعل الانشقاقات، ربما تشبيه مبالغ فيه ولكن المبدأ ما زال قائما، الاستثمار في بايثون سيؤدي إلى نتائج رائعة لكن يجب بذل الوقت للتعلم حتى يمكن استحقاق هذه القوة.

الجانب السيئ الأخر في استخدام بايثون في البرمجة العلمية العامة هو المشهد الحالي للعرف و المصادر المتوفرة ، لأن ماتلاب اشتهر باستخدامه في مجالات عديدة و أصبح عرفا نشر النصوص البرمجية عبر ماتلاب( إلا في بعض مجالات الرياضيات التي يشتهر فيها استخدام بايثون بسبب وجود سيج أو في مجال الإحصائيات حيث تعتبر لغة R هي المعتمدة) بينما ام-لاب-راب MlabWrapيجعل الأمر يعمل بعدالة إلا أنه ما زال يعني أن مبرمج بايثون ما زال يحتاج إلى التعامل مع اللغتين و الحصول على رخصة ماتلاب، أي شخص يفكر في التبديل يجب أن يكون ملما بهذا الأمر المزعج ، على كل حال، يبدو أن هناك حراك قوي مع البحث العلمي بالتوجه إلى بايثون و بنسبة كبيرة للأسباب التي ذكرتها هنا.

 

حل برمجي متكامل

باختصار و تأكيدا لنظرتي كيف أن بايثون هي الحل البرمجي المتكامل، أتعرض لذكر ثلاث نقاط إضافية و كل نقطة ستفتح عليك بابا من التفكير. أولا أنها مفتوحة المصدر و مجانية بالكامل، حتى للاستخدام التجاري، والحال نفسه للكثير من المكتبات العلمية الجوهرية. ثانيا، أنها تعمل بسلاسة في بيئات ويندوز، ماك، لينكس و غيرهم، كما تعمل مكتبها الأساسية أيضا بنفس الشكل و أيضا مكتبات الطرف الثالث اللاتي سبق و تحدثت عنهن . ثالثا، أنها تعمل مع البرمجة السريعة للشفرات أو مع التطوير للمشاريع الكبيرة بشكل متساو. باستعراض سريع لبعض قصص نجاح بايثون المذكورة في موقع بايثون يعرض لنا الاختلاف بين بيئات العمل التي وفرت فيها بايثون لمبرمجيها حلول برمجية متكاملة و واسعة و مدعومة للبحث و البرمجة العلمية. على أية حال، أفضل ما أختم به كلامي هو ما قاله راندال مونري، مؤلف xkcd“( البرمجة أصبحت ممتعة مرة أخرى).

التذييل

[1]

http://www.python.org/doc/essays/foreword/

 

مصدر المقالة: http://www.stat.washington.edu/~hoytak/blog/whypython.html

تأليف: هويت كويبك طالب دكتوراه في قسم الإحصاء بجامعة واشنطن للمزيد تابع Hoyt Koepke

ترجمة: سُلاف سليمان

مراجعة: زايد السعيدي

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: مارتن .كي. بيترسون

$
0
0

أدار المقابلة: جينيفر كليور.

ترجمة: زاهر النوتكي.

يوافق هذا الأسبوع موعد الهجرة السنوية للعديد من مطوري نظام لينكس من شتى بقاع العالم لحضور قمة نواة نظام لينكس والتي ستعقد في مدينة سان دييغو وهو الموقع التي يشترك فيه إقامة كل من LinuxConو CloudOpen. وتعتبر هذه المجموعة من المطورين من بين أفضل مطوري الأنظمة بالعالم أجمع ويسعدنا في هذه المقابلة بأن نستضيف مشاركا آخر ومساهم كبير ضمن أكبر مشروع تطويري وتعاوني على مستوى العالم. مارتن بيترسون هو ضيفنا في هذا الأسبوع ضمن سلسلتنا الأسبوعية والتي نقوم من خلالها بتقديم لمحة مختصرة عن حياة هؤلاء المطورين واحدا لكل أسبوع.

ما أسمك؟؟

مارتن .كي. بيترسون.

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

أعمل بشكل أساسي على إضافة الدعم التقني لميزات أجهزة التخزين الجديدة لذا فإن مناطق اهتماماتي تتركز على كل من الـblock وطبقات SCSI وأحيانا وبصورة أقل على نظام ATA.

من الذي يقوم بدفع راتبك الشهري؟؟

أعمل حاليا لدى مؤسسة لينكس أوراكل.

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

ترعرعت منذ الصغر في الدنمارك ولكن أسكن حاليا في مدينة مونتريال ، كيبيك بكندا. انتقلت إلى كندا في الأساس للانضمام إلى شركة لينكس ناشئة والتي تعود إلى أيام فقاعة دوت كوم.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟وماذا تشغل على سطح مكتبك؟؟

أستخدم فيدورا على سطح مكتبي ولكن يعود استخدامي لها في الأساس لكونها مجرد محطة طرفية X. أما أغلب العمل الحقيقي فيتم على أجهزة طرفية بعيدة. وأدواتي التي استخدمها نادرا ما تتغير متمثلة في كل من: xterm و emacs و perl و mc و git . فقدت الصبر في استخدام بيئات سطح المكتب الرسومية منذ فترة طويلة لذا فأنا أستخدم في المقابل مدير النوافذ i3 لما يتيحه لي من إمكانية تنظيم المحطات الطرفية بطريقة جيدة.

كيف أنضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

في بدايات التسعينات من القرن الماضي كنت طالبا وكانت المحطات الطرفية ومحطات العمل أمرا نادر وجوده في الجامعة حينها ، لذا فأن تكون قادرا على تشغيل نظام شبيه بنظام يونكس على جهازك الخاص وفي البيت أمرا مغريا. كان نظام لينكس حينها نظاما جديدا ومثيرا وكان يمثل الخيار الواضح لي. بدأت من حينها في محاولة القيام بعض التغييرات والتعديلات على نواة النظام والخادم X ليعمل بالصورة المناسبة على جهازي الخاص. ومنذ ذلك الوقت بدأت بالقرصنة على منصات أكثر إثارة مثل PA-RISC و Itanium .

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

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

ما هو أكثر شيئ استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الإنجازات المدهشة)؟؟

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

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

ربما النصيحة المثالية هي "الصمت". في الحقيقة فإني أستمع إلى مزيج من الأصوات مثل صوت رنين الهاتف ومواء قطة ما في الوقت نفسه للتعود على مهارة التركيز.

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

قناة linux-scsi. كما أنني مؤخرا لا أقضي الكثير من الوقت على قنوات IRC لأنها تلهيني عن أمور أهم بالنسبة لي. بينما أميل إلى حضور مؤتمر لنظام لينكس أو إثنين في السنة بالإضافة إلى حضور قمة نظام الملفات وأجهزة التخزين بنظام لينكس.



أبل لم تخصص الكثير من الوقت لشكل نظام IOS 7

$
0
0

هل تتذكرون تلك المرة التي قامت فيها أبل بالإعلان عن نظامها الجديد وما صاحبها من زخم إعلامي كبير, فالجميع بدأ يتحدث عن التغيير الجذري الحاصل في شكل النظام والإضافات الجديدة وما إلى ذلك. في هذا المقال سنضع شكل نظام IOS 7 تحت نظرة دقيقة لنرى هل يستحق كل هذه الضجة ؟ وهل هو ما كنا ننتظرة من أبل ؟ وبغض النظر عن مقدار المزايا والتطور الحاصل في النظام فلن نتحدث عنها هنا, والآن لنلقي نظرة على شكل النظام.


لنبدأ بالصفحة الرئيسية :


في التصميم الجديد تخلت أبل عن المحاكاة الواقعية التي كانت تتميز بها, وأنتقلت منها إلى التصاميم المسطحه، وفي الحقيقة تبدو التصاميم المسطحه جيدة وبسيطة ولكنها تفتقر وبشدة إلى الأناقة والفخامة التي كانت تتميز بها منتجات أبل. حسنا, لنلقي نظرة على تصاميم الأيقونات ولنقارنها بأيقونات الإصدار السابة "IOS 6".


وكما لا يخفى عليكم، الفرق بين التصميم الجديد والقديم هائل فالإعتناء بالتفاصيل في التصميم الجديد شبه معدومة ولا تقارن بمثيلاتها في التصميم القديم, وبنظرة أدق لأيقونات التصميم الجديد نجد أنها مجموعة من المربعات منحنية الأطراف بتصميم أحادي الأبعاد يفتقر إلى الإتقان والتفاصيل العميقة، والأمر لا يتوقف عند هذا فبعض هذه الأيقونات تعتبر من أقبح ما أنتجته أبل كأيقونة متصفح سفاري، التقويم، الساعة، وغيرها. وهذا ليس ما كنا نتوقعة من أبل .
حان دور شاشة القفل:


من النظرة الأولى تظهر لنا شاشة القفل بمنظر رائع فالخلفية الفيزيائية والشريط الشفاف يقدمان لنا لمسة إبداعية توحي بالجمال والبساطة في نفس الوقت، ولكن عندما ننتقل إلى قفل الشاشة نجد مجموعة من الأرقام المحاطة بالدوائر وتبدو بشكل بدائي جدا، واستطيع أن أجزم أن باستطاعة أي شخص تصميم مثلها براسم ويندوز، وهذا أيضا ليس ما كنا ننتظرة من أبل.


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


أنا أعلم أن كثيرا من الأشخاص لن يوافقوني فيما قلت هنا، أحب أن أقول لؤلائك الأشخاص أن جميع الصور والأيقونات التي في هذا المقال باستثناء تلك الصورة المتعلقة بالمقارنة بين النظام الجديد والسابق مصممة من قبل شخص مبتدئ ببرنامج إنكسكيب. هل رأيتم الآن أن أبل لم تخصص الكثير من الوقت لشكل نظام IOS 7 .
مصدر الصورة الأصلية لمقارنة الأيقونات بين الإصدار الجديد والقديم.

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: جوليا لاوال

$
0
0

أدار المقابلة: جينيفر كليور.

ترجمة: زاهر النوتكي.

ها هنا وقد عدنا للتو من مشاركة شخصية وتعاونية في كل من Linux Kernel Summitو , Linux Plumbers Conferenceو LinuxConو CloudOpen والعديد من الأحداث التي أقيمت الأسبوع الماضي بمدينة سان دييغو. وسنواصل اليوم سلسلتنا مع جوليا لاوال ضمن سلسلتنا الأسبوعية. ستتحدث جوليا اليوم معنا عن طبيعة مشاركتها بالمجتمع وسبب استمرارها به لحد الآن.

ما اسمك؟؟

جوليا لاوال

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

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

من الذي يقوم بدفع راتبك الشهري؟؟

مؤسسة انريا " Inria". حيث كنت أشارك ضمن هذه المؤسسة في "IRILL"وهو عبارة عن مركز بحوث حول البرمجيات الحرة والمفتوحة المصدر.

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

باريس. مدينة جميلة جدا ومكان ملائم جدا للعيش به.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟ وماذا تشغل على سطح مكتبك؟؟

أدواتي تتلخص في كل من: Emacs و ocaml و xfce .

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

خلفيتي البرمجية تتركز في تحليل البرامج وتحويل البرامج والبرمجة الوظيفية ولكن كنت دائما مهتمة في فهم كيفية عمل نظام الحوسبة على كافة مستوياته. واقترح زميل لي بأن ابحث في مشكلة ترقية تعاريف النظام من لينكس 2.4 إلى 2.6. درست الكثير من التغييرات التي استحدثتا في سلسلة 2.5 والتي من خلالها قمنا بتصميم Coccinelle وذلك وفقا لاحتياجات أنواع التغييرات التي لاحظناها.

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

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

ما أكثر شيئ استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الانجازات المدهشة)؟؟

التشكيلة المسلية التالية من الكود البرمجي والتعليق:

/* Don't leak any random bits. */
memset(elfregs, 0, sizeof (elfregs));

 

ما النصيحة التي تقدميها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

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

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

القائمة البريدية لـ Coccinelle وقائمة Kernel janitors. أما بالنسبة للمؤتمرات فأنا غالبا ما أحضر المؤتمرات الأكاديمية المتعلقة بأنظمة التشغيل ولغات البرمجة وهندسة البرمجيات. ولقد حضرت كذلك مؤتمر Linux Plumbers Conferenceعدة مرات وتعلمت الكثير.

رابط المقالة باللغة الإنجلزية هنا.

أساسيات الحوسبة السحابية

$
0
0

بوركو فورهت

قسم الحاسب الآلي والهندسة الكهربائية وعلوم الحاسب الآلي

جامعة فلوريدا أتلانتيك، بوكا راتون، فلويدا، الولايات المتحدة الأمريكية


1. مقدمة

في هذه المقالة، نقوم بتعريف مفهوم الحوسبة السحابية والخدمات السحابية، كما نُقدم طبقات وأنواع الحوسبة السحابية. وسنناقش الفرق بين الحوسبة السحابية والخدمات السحابية، أما التقنيات الجديدة التي وفرت الحوسبة السحابية فسوف تُعرض لاحقاً. كما نناقش أيضاً مميزات الحوسبة السحابية، ومعاييرها والقضايا الأمنية المتعلقة بها. هذا بالإضافة لعرض منصات الحوسبة السحابية الرئيسية، وبائعيها، وعروضها. فضلاً عن مناقشة تحديات الحوسبة السحابية ومستقبلها.

يمكن تعريف الحوسبة السحابية كنمط جديد للحوسبة يتم فيه توفير موارد قابلة للتطوير بشكل حيوي وظاهرية في كثير من الأحيان باعتبارها خدمات مقدمة عبر الإنترنت. لقد أصبحت الحوسبة السحابية اتجاها تقنياً هاماً، ويتوقع العديد من الخبراء أن الحوسبة السحابية ستعيد تشكيل عمليات تكنولوجيا المعلومات (IT)، وعمليات سوق تكنولوجيا المعلومات. فمع تقنية الحوسبة السحابية، يستخدم المستخدمين مجموعة متنوعة من الأجهزة بما فيها الحواسب المكتبية، الحواسب المحمولة، الهواتف الذكية وأجهزة المساعدة الرقمية للوصول إلى البرامج، ومساحات التخزين، ومنصات تطوير التطبيقات عبر الإنترنت، عن طريق خدمات مقدمة من قبل مزودي الحوسبة السحابية. وتشمل مزايا تقنية الحوسبة السحابية التوفير في التكاليف، ونسبة التوافر العالية، وسهولة الاستيعاب.

الشكل 1 يُظهر 6 مراحل من نماذج الحوسبة، بدءاً من محطات/مراكز وهمية، وصولاً إلى الحواسب المكتبية، حوسبة الشبكات، وحتى الحوسبة السحابية والشبكية.

في المرحلة 1، يتقاسم العديد من المستخدمين مراكز كبيرة قوية باستخدام محطات وهمية. وفي المرحلة 2، تُصبح الحواسب المكتبية القائمة بذاتها قوية بما فيه الكفاية لتلبية معظم احتياجات المستخدمين. أما المرحلة 3، فيتم فيها توصيل الحواسب المكتبية، والحواسب المحمولة، والخوادم مع بعضها البعض من خلال الشبكات المحلية لمشاركة المصادر وزيادة الأداء. وفي المرحلة 4، تم ربط الشبكات المحلية بالشبكات المحلية الأخرى لتشكيل شبكة عالمية مثل الإنترنت للاستفادة من التطبيقات عن بعد والمصادر الأخرى. وفي المرحلة 5، وفرت شبكة الحوسبة قوة حوسبة مشتركة ومساحة تخزين من خلال نظام الحوسبة الموزع. أما المرحلة 6، فقد وفرت الحوسبة السحابية المزيد من الموارد المشتركة على الإنترنت بطريقة متدرجة وبسيطة.

الشكل 1. 6 نماذج حوسبة، بدءاً من الحوسبة المركزية إلى حوسبة الإنترنت، ووصولاً إلى الحوسبة الشبكيةوالحوسبة السحابية(مقتبسة من[1])

وبمقارنة نماذج الحوسبة الستة هذه، يبدو لنا أن الحوسبة السحابية هي عودة إلى نموذج الحوسبة المركزي الأصلي. ومع ذلك، تمتلك هذه النماذج العديد من الاختلافات الهامة. فالحوسبة المركزية تقدم قوة حوسبة محدودة، بينما الحوسبة السحابية توفر قوة وسعة غير محدودة تقريباً. وبالإضافة لذلك، ففي الحوسبة المركزية تعمل المحطات الوهمية كأجهزة واجهة المستخدم، بينما في الحوسبة السحابية يمكن للحواسب القوية أن توفر طاقة حوسبة محلية ودعم تخزين المعلومات.



1.1 طبقات الحوسبة السحابية

يمكن استعراض الحوسبة السحابية على أنها مجموعة من الخدمات التي يمكن تقديمها كبنية طبقات من الحوسبة السحابية، كما هو مبين في الشكل 2. والخدمات المُقدمة من خلال الحوسبة السحابية عادة ما تشمل خدمات تكنولوجيا المعلومات والتي يُشار إليها بـ SaaS (برنامج كخدمة)، وتظهر في أعلى الحزمة. وتسمح SaaS للمستخدمين بتشغيل التطبيقات عن بعد من خلال الخدمات السحابية.

البنية التحتية كخدمة (IaaS) وتشير إلى مصادر الحوسبة كخدمة. وهذا يشمل الحواسب الظاهرية ذات قوة المعالجة المضمونة ومعدل نقل البيانات المحجوز للتخزين ودخول الإنترنت.

منصة كخدمة (PaaS) وهي مشابهة لطبقة IaaS، ولكنها تتضمن أيضاً أنظمة التشغيل والخدمات المطلوبة لتطبيق معين. بمعنى آخر، PaaS هي IaaS مع مجموعة برمجيات مخصصة لتطبيق معين.

تخزين البيانات كخدمة (dSaaS) توفر مساحة تخزين يستخدمها المستهلك بما في ذلك متطلبات معدل نقل البيانات للتخزين.

الشكل 2. بنية طبقات الحوسبة السحابية(مقتبسة من[2])

ويعرض لنا الشكل 3، مثال على طبقة منصة كخدمة (PaaS) في الحوسبة السحابية. حيث توفر PaaS بيئة تطوير متكاملة (IDE) تتضمن أمن البيانات، النسخ الاحتياطي والاسترداد، استضافة التطبيقات، وبنية قابلة للتطوير.

الشكل 3. مفهوم طبقة منصة كخدمة (PaaS)(مقتبسة من[3])

ووفقاً ل [4] هناك 3 فئات من الخدمات السحابية. الشكل 4 يعرض الخدمة السحابية SaaS، حيث يعمل التطبيق بأكمله في السحابة. ويحتوي العميل على متصفح بسيط للوصول إلى التطبيق. ومن الأمثلة المعروفة لخدمة SaaS موقع salesforce.com.

أما الشكل 4b فيوضح نوع آخر من الخدمات السحابية، حيث يعمل التطبيق على العميل، ورغم ذلك فإنه يصل إلى الوظائف المفيدة والخدمات المُقدمة على السحابة. ومثال على هذا النوع من الخدمات السحابية على أجهزة سطح المكتب هو منصة iTunes التابعة لأبل. حيث يقوم تطبيق سطح المكتب بتشغيل الموسيقى، بينما تستخدم الخدمة السحابية لشراء محتويات الصوت والصورة الجديدة. ومثال مؤسسي لهذه الخدمة السحابية هو مايكروسوفت لتبادل الخدمات المستضافة (Microsoft Exchange Hosted Services). ففي أماكن العمل تقوم خدمة " Exchange Server"باستخدام الخدمات المُضافة من السحابة بما في ذلك تصفية البريد المزعج، الأرشفة وغيرها من المهام.

وأخيراً، الشكل 4c يُظهر منصة سحابية لإنشاء التطبيقات، والتي تُستخدم من قبل المطورين. ويقوم مطوري التطبيقات بإنشاء تطبيق SaaS جديد باستخدام المنصة السحابية.

الشكل 4. فئات الخدمات السحابية(مقتبسة من[4])

1.2. أنواع الحوسبة السحابية

هناك ثلاثة أنواع من الحوسبة السحابية[5]: (أ) السحابة العامة، (ب) السحابة الخاصة، و(ج) السحابة الهجينة، كما هو موضح في الشكل 5.

في السحابة العامة (أو السحابة الخارجية) يتم توفير موارد الحوسبة بشكل حيوي عبر الإنترنت عن طريق تطبيقات الويب أو خدمات الويب من مزود طرف ثالث خارج الموقع. وتعمل السحابة العامة من قبل الأطراف الثالثة، ويحتمل أن تكون تطبيقات العملاء المختلفين مختلطة معاً على خوادم السحابة، وأنظمة التخزين والشبكات.

السحابة الخاصة (أو السحابة الداخلية) تشير إلى الحوسبة السحابية على الشبكات الخاصة. وتُبني السحب الخاصة للاستخدام الحصري لعميل واحد، وتوفير سيطرة كاملة على البيانات، والأمن، وجودة الخدمة. والسحب الخاصة يمكن أن تُبنى وتُدار من قبل قسم تقنية المعلومات في شركة ما أو من قبل مزود الخدمات السحابية.

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

الشكل 5. 3 أنواع من الحوسبة السحابية

1.3. الحوسبة السحابية مقابل الخدمات السحابية

في هذا القسم، سوف نقدم جدولين يُظهران الفروق والسمات الرئيسية للحوسبة السحابية مقابل الخدمات السحابية[6]. الحوسبة السحابية هي أساس تكنولوجيا المعلومات للخدمات السحابية، كما أنها تتكون من تقنيات تتيح الخدمات السحابية. وتظهر السمات الأساسية للحوسبة السحابية في الجدول 1.

الجدول 1. السمات الأساسية للحوسبة السحابية(مقتبسة من[6])

السمات

الوصف

أنظمة البنية التحتية

تشمل الخوادم، ووحدات التخزين، والشبكات التي يمكن توسيع نطاقها حسب طلب المستخدم

تطبيق البرمجيات

توفر واجهة مستخدم معتمدة على الويب، خدمات ويب لواجهات برمجة التطبيقات، ومجموعة كبيرة من التكوينات

برنامج تطوير ونشر التطبيقات

يدعم تطوير وتكامل برنامج التطبيق السحابي

برنامج إدارة النظام والتطبيقات

يدعم توفير الخدمات الذاتية السريعة والتكوين ومراقبة الاستخدام

شبكات IP

تربط المستخدمين النهائيين بالسحابة ومكونات البنية التحتية

أما السمات الأساسية للخدمات السحابية فتتلخص في الجدول 2.

الجدول 2. السمات الأساسية للخدمات السحابية(مقتبسة من[6])

السمات

الوصف

مزود الطرف الثالث خارج الموقع

عند إنشاء السحابة، من المفترض أن يوفر طرف ثالث الخدمات. وهناك إمكانية أيضاً لتقديم الخدمات السحابية في المنزل

الوصول إليها عبر الانترنت

يتم الوصول إلى الخدمات عبر أساس معياري، وشبكة وصول عالمية. ويمكن أن تشمل أيضاً الأمن وخيارات لجودة الخدمة

الحد الأدنى أو أي المهارات التقنية المطلوبة

هناك مواصفات مُبسطة للمتطلبات

التوفير

ويشمل طلب الخدمة الذاتية، النشر في الوقت الحقيقي تقريباً، والتدرج الحيوي والجودة العالية

السعر

يعتمد السعر على قدرات الاستخدام القائمة وجودتها

واجهة المستخدم

واجهة المستخدم تتضمن متصفحات لأجهزة متنوعة مع قدرات عالية

واجهة النظام

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

الموارد المشتركة

يجري مشاركة الموارد بين مستخدمي الخدمات السحابية، ومع ذلك، فإنه عبر خيارات تكوين الخدمة تتوفر إمكانية التخصيص



2. تفعيل التقنيات

التقنيات الرئيسية التي فعلت الحوسبة السحابية تُوصف في هذا القسم، وتتضمن المحاكاة الافتراضية، خدمة الويب والبنية الخدمية، تدفقات الخدمة وسير العمل، والويب 2.0 وMashup .

2.1 المحاكاة الافتراضية

إن ميزة الحوسبة السحابية هي القدرة على المحاكاة الافتراضية ومشاركة الموارد بين التطبيقات المختلفة بهدف تحقيق استخدام أفضل للخادوم. والشكل 6 يُظهر مثال لذلك[2]. في الحوسبة غير السحابية يوجد ثلاث منصات مستقلة لثلاث تطبيقات مختلفة تعمل على الخادوم الخاص بها. وفي السحابة، يمكن مشاركة الخوادم، أو محاكاتها لأنظمة التشغيل والتطبيقات مما يؤدي إلى تقليل عدد الخوادم.

الشكل 6. مثال على المحاكاة الافتراضية: في الحوسبة غير السحابية هناك حاجة لوجود ثلاث خوادم، أما الحوسبة السحابية تستخدم خادومين(مقتبسة من[2]).

وتشمل تقنيات المحاكاة الافتراضية تقنيات ماكينة ظاهرية مثل VMware و Xen، وشبكات افتراضية مثل VPN. وتوفر الماكينات الظاهرية بُنى تحتية ظاهرية لتقنية المعلومات وفقاً للطلب، بينما الشبكات الافتراضية تدعم المستخدمين ببيئة شبكة اتصال مخصصة للوصول إلى موارد السحابة.

2.2 خدمة الويب والبنية الخدمية

خدمات الانترنت والبنية الخدمية (SOA) ليست مفاهيم جديدة، إلا أنها تمثل التقنيات الأساسية للحوسبة السحابية. وقد صُممت الخدمات السحابية عادة كخدمات ويب، والتي تتبع معايير الصناعة بما في ذلك WSDL، SOAP و UDDI. وتقوم البنية الخدمية بتنظيم وإدارة خدمات الويب داخل السحب[7]. كما تتضمن البنية الخدمية أيضاً مجموعة من الخدمات السحابية، والتي تتوفر على منصات مختلفة موزعة.

2.3 تدفق الخدمات وسير العمل

إن مفهوم تدفق الخدمات وسير العمل يشير إلى رؤية متكاملة من الأنشطة القائمة على الخدمة المقدمة في السحب. وقد أصبح سير العمل واحد من المجالات الهامة للبحوث في مجال نظم قواعد البيانات والمعلومات[7].

2.4 ويب 2.0 و Mashup

ويب 2.0 هو مفهوم جديد يشير إلى استخدام تكنولوجيا الإنترنت وتصميم المواقع لتحسين الإبداعية، وتبادل المعلومات، والتعاون بين المستخدمين[8]. ومن ناحية أخرى، فإن Mashup هو تطبيق ويب يجمع البيانات من أكثر من مصدر مختلف إلى أداة تخزين واحدة متكاملة. وكلا التقنيتان مفيدتان جداً للحوسبة السحابية.

ويبين الشكل 7 بنية الحوسبة السحابية، والتي يقوم فيها تطبيق ما بإعادة استخدام المكونات المختلفة. والمكونات الموجودة في هذه البنية تعتبر حيوية بطبيعتها، وتعمل في نموذج SaaS، كما أنها قوية البنية الخدمية. والمكونات الأقرب للمستخدم تكون أصغر بطبيعتها وأكثر قابلية لإعادة الاستخدام. أما المكونات الموجودة في المركز فتحتوي على خدمات كلية وواسعة النطاق عن طريق خوادم ومنافذ Mashup. والبيانات الناتجة من خدمة واحدة (مثل العناوين في قاعدة البيانات) يمكن مزجها مع معلومات الخرائط (مثل خرائط ياهو أو جوجل) لإنتاج وجهة نظر مجمعة للمعلومات.

الشكل 7. بنية الحوسبة السحابية تستخدم مكونات متنوعة في مستويات مختلفة(مقتبسة من [9])

3. مميزات الحوسبة السحابية

توفر الحوسبة السحابية عدد من المميزات الجديدة مقارنة بنماذج الحوسبة الأخرى (8، 10). وهذه المميزات يتم وصفها باختصار في هذا الجزء.

  • قابلية التطوير وتوفر الخدمات عند الطلب

توفر الحوسبة السحابية المصادر والخدمات للمستخدمين عند الطلب. كما أن المصادر قابلة للتطوير عبر مراكز بيانات متعددة.

  • واجهة تعتمد على المستخدم

واجهات السحابة تُعد مستقلة الموقع ويمكن الوصول إليها عن طريق واجهات راسخة مثل خدمات الويب ومتصفحات الإنترنت.

  • ضمان جودة الخدمة (QoS)

يمكن للحوسبة السحابية ضمان جود الخدمة للمستخدمين من حيث أداء الأجهزة/وحدة المعالجة المركزية، وعرض معدل نقل البيانات، وسعة الذاكرة.

  • نظام التحكم الذاتي

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

  • السعر

الحوسبة السحابية لا تتطلب تمويل كبير. فلا حاجة لوجود نفقات رأسمالية. حيث يمكن للمستخدمين دفع ثمن الخدمات والسعة حسب الحاجة.

3.1 معايير الحوسبة السحابية

حتى الآن، لم يتم تطوير معايير الحوسبة السحابية بالكامل، ورغم ذلك، هناك عدد من المعايير القائمة الخفيفة والمفتوحة والتي سهلت نمو الحوسبة السحابية[5]. الجدول 3 يوضح العديد من هذه المعايير المفتوحة والتي تستخدم حالياً في مجال الحوسبة السحابية.

الجدول 3. معايير الحوسبة السحابية[5]

البرامج

الاتصالات: HTTP و XMPP

الأمن: OAuth، OpenID و SSL/TLS

تعريب: Atom

العميل

المتصفحات: AJAX

بدون انترنت: HTML5

تطبيقات

المحاكاة الافتراضية: OVF

المنصة

حزمة الحل: LAMP

الخدمة

البيانات: XML و JSON

خدمات الويب: REST



3.2 أمن الحوسبة السحابية

أحد القضايا الهامة في تطبيق الحوسبة السحابية هي نقل الأجهزة الظاهرية، والتي تحتوي على تطبيقات هامة وبيانات حساسة، إلى البيئات العامة والسحابة المشتركة. ولذلك، فإن مستخدمي الحوسبة السحابية المحتملين يشعرون بالقلق حول القضايا الأمنية التالية[12]:

  • هل سيظل المستخدمين يمتلكون نفس سياسة السيطرة الأمنية على التطبيقات والخدمات الخاصة بهم؟

  • هل يمكن أن تثبت للمنظمة أن النظام لا يزال آمن ويتوافق مع اتفاقيات مستوى الخدمة (SLAs)؟

  • هل النظام مُدعي ويمكن إثبات ذلك لمدققي حسابات الشركة؟

في مراكز البيانات التقليدية، تتضمن النهج العامة للأمن جدار الحماية، مناطق خاضعة للإدارة الأمنية، تجزئة الشبكة، كشف التسلل ونظم الوقاية، وأدوات مراقبة الشبكة.

وتبدأ المتطلبات الأمنية لمقدمي الحوسبة السحابية بنفس الأساليب والأدوات الموجودة في مراكز البيانات التقليدية، والتي تتضمن تطبيق محيط أمني قوي للشبكة. ومع ذلك، فإن التجزئة المادية والأمن المعتمد على الأجهزة لا يمكنه الحماية ضد الهجمات بين الأجهزة الظاهرية على نفس الخادوم. حيث أن الحوسبة السحابية تستخدم نفس أنظمة التشغيل، وتطبيقات المشاريع والويب مثل الأجهزة الظاهرية محددة الموقع والخوادم الفعلية. ولذلك، يمكن للمهاجم استغلال نقاط الضعف عن بعد في هذه الأنظمة والتطبيقات. وبالإضافة لذلك، فإن مشاركة الموقع بين عدد من الأجهزة الظاهرية المتعددة يزيد سطح الهجوم ومخاطر فضح الأجهزة الظاهرية. كما أن كشف التسلل وأنظمة المنع يجب أن تكون قادرة على كشف الأنشطة الضارة في مستوى الأجهزة الظاهرية، بغض النظر عن مكان وجود الجهاز الظاهري ضمن بيئة السحابة.[12]

باختصار، إن البيئات الافتراضية التي تنشر آليات الأمن على الأجهزة الظاهرية بما فيها جدران الحماية، كشف التسلل والوقاية، ومراقبة السلامة، وتفتيش السجلات، سوف تجعل سُحب الأجهزة الظاهرية آمنة بشكل فعال وجاهزة للنشر.

4. منصات الحوسبة السحابية

إن الحوسبة السحابية تمتلك إمكانيات تجارية كبيرة. فوفقاً لشركة أبحاث السوق IDC، فإن إنفاق خدمات تقنية المعلومات السحابية سوف تنمو من حوالي 16 مليار دولار في 2008 إلى حوالي 42 مليار دولار في 2012، وسوف تزيد حصتها من الإنفاق على تكنولوجيا المعلومات من 4.2% إلى 8.5%. ويعرض الجدول 4، اللاعبين الرئيسيين في منصات الحوسبة السحابية وعروضهم الرئيسية.

الجدول 4. اللاعبين الرئيسيين في منصات الحوسبة السحابية(مقتبس من[13])

الشركة

منصة الحوسبة السحابية

سنة الإطلاق

العروض الرئيسية

Amazon. com

خدمات أمازون للويب (AWS)

2006

البنية التحتية كخدمة (التخزين، الحوسبة، قوائم انتظار الرسائل، قواعد البيانات، توزيع المحتوى)

Microsoft

Azure

2009

منصة التطبيقات كخدمة (خدمات بيانات .Net و SQL)

Google

محرك تطبيقات جوجل

2008

منصة تطبيقات الويب كخدمة (بيئة وقت تشغيل Python)

IBM

Blue Cloud

2008

مركز بيانات Blue Cloud الظاهري

Salesforce.com

Force.com

2008

إطار تطبيقات الويب لملكية 4GL كمنصة تحت الطلب

الجدول 5، يقارن بين ثلاث منصات للحوسبة السحابية هي أمازون، وجوجل، ومايكروسوفت، من حيث قدراتها على تعيين نماذج وسيناريوهات التطوير المختلفة[14].

4.1 التسعير

إن تحديد أسعار منصات وخدمات السحابة تعتمد على ثلاثة أبعاد رئيسية هي: (أ) سعة التخزين، (ب) معدل نقل البيانات، و(ج) الحوسبة.

  • تُقاس سعة التخزين عادة كمتوسط كمية البيانات المُخزنة يومياً بالجيجا بايت على مدى فترة شهر.

  • أما مُعدل نقل البيانات، فيُقاس عن طريق حساب كمية البيانات الكلية المنقولة داخل وخارج خدمة المنصة من خلال معالجة المعاملات والدفعات. وبشكل عام، يعتبر نقل البيانات بين الخدمات داخل نفس المنصة مجاني في العديد من المنصات.

  • وتُقاس الحوسبة كوحدات الوقت اللازمة لتشغيل نموذج، أو تطبيق، أو آلة لتقديم الخدمات. الجدول 6، يُقارن سعر المنصات الثلاثة الرئيسية للحوسبة السحابية.

الجدول 5. منصات الحوسبة السحابية والسيناريوهات المختلفة(مقتبس من[14])

(1) السيناريو

تطبيق موجود في مكان العمل دون تغيير في السحابة

الخصائص

تطبيقات تعتمد على Red Legacy متعددة، جافا، .NET

أمازون

تهدد الجهاز كخادوم آخر في مركز البيانات وتقوم بالتغييرات اللازمة لعملية التكوين

جوجل

تحتاج لإعادة هيكلة كبيرة للتطبيقات والبيانات لتطبيق الجافا القائم

مايكروسوفت

إذا كان التطبيق القائم هو تطبيق ASP.NET، إذن أعد هيكلة البيانات، وإلا إعادة هيكلة الجهد يمكن أن تكون كبيرة جداً وفقاً لدرجة التعقيد



(2) السيناريو

تطبيق الويب المتدرج

الخصائص

تطبيق ويب متوسط إلى عالي مع متجر نهائي وموازنة الحمل

أمازون

اقتراح تهديد الجهاز كخادوم آخر في مركز البيانات وتقوم بالتغييرات اللازمة لعملية التكوين. ولكن قابلية التدرج والمرونة يتم تكوينها يدويا

جوجل

استخدم مميزات قابلة للتطوير بشكل حيوي لـ AppEngine، وتقنيات البرمجة لبناء تطبيقات غنية

مايكروسوفت

قم ببناء تطبيقات ويب متطورة باستخدام تقنيات .NET. توسيع النطاق لأعلى/أسفل مدفوع بشكل بحت بواسطة التكوين.



(3) السيناريو

تطبيق حوسبة المعالجة المتوازية

الخصائص

معالجة تلقائية طويلة مع قليل أو بدون تدخل المستخدم

أمازون

تحتاج لتكوين حالات متعددة للآلات اعتماداً على النطاق اللازم وإدارة البيئات

جوجل

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

مايكروسوفت

مع أدوار العامل ومميزات التخزين مثل طوابير الانتظار والنقاط، فمن السهل بناء تطبيق حوسبة كثيف يمكن إدارته والسيطرة عليه من أجل التدرج والمرونة.



(4) السيناريو

التطبيق الموجود في السحابة يتفاعل مع البيانات الموجودة في مكان العمل

الخصائص

التطبيقات المعتمدة على السحابة تتفاعل مع التطبيقات الموجودة في مكان العمل لإدارة معاملات البيانات

أمازون

التطبيقات الموجودة في سحابة خادوم EC2 يمكن تكوينها بسهولة للتفاعل مع التطبيقات التي تعمل في مكان العمل.

جوجل

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

مايكروسوفت

من مميزات مثل Service Bus إلى مزامنة مكونات المنصة، من الممكن بناء تكامل مقنع بين البيئتين.



(5) السيناريو

التطبيق الموجود في السحابة يتفاعل من التطبيق الموجود في مكان العمل

الخصائص

تطبيقات موجودة في مكان العمل

أمازون

التطبيقات الموجودة في سحابة خادوم EC2 يمكن تكوينها بسهولة للتفاعل مع التطبيقات التي تعمل في مكان العمل.

جوجل

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

مايكروسوفت

من مميزات مثل Service Bus إلى مزامنة مكونات المنصة، من الممكن بناء تكامل مقنع بين البيئتين.



الجدول 6. مقارنة بين أسعار منصات الحوسبة السحابية الرئيسية(مقتبس من[14])

المصدر

الوحدة

أمازون

جوجل

مايكروسوفت

البيانات المُخزنة

جيجا بايت في الشهر

$0.10

$0.15

$0.15

عملية التخزين

طلبات لكل 10K

$0.10

 

$0.10

معدل نقل البيانات الصادر

جيجا بايت

$0.10 - $0.17

$0.12

$0.15

معدل نقل البيانات الوارد

جيجا بايت

$0.10

$0.10

$0.10

وقت الحوسبة

ساعات فورية

$0.10 - $1.20

$0.10

$0.12



باختصار، من خلال تحليل تكاليف الحوسبة السحابية اعتمادا على خصائص التطبيق، فإن تكاليف نشر تطبيق ما، ربما تختلف وفقاً للمنصة المُختارة. ومن الجدول 6، يبدو أن سعر الوحدة للمنصات الثلاثة الرئيسية مماثلة إلى حد كبير. وبجانب سعر الوحدة، من المهم ترجمتها إلى تكاليف تطوير، ونشر، وصيانة شهرية للتطبيق.



4.2. مكونات الحوسبة السحابية وباعتها

إن العناصر الرئيسة التي تضم منصات الحوسبة السحابية تتضمن أجهزة كمبيوتر، ومساحات تخزين، وبنية تحتية، وبرمجيات، وأنظمة تشغيل، ومنصة افتراضية. أما بالنسبة لأفضل الشركات المزودة لمكونات الحوسبة السحابية، فتُعرض في الجدول 7.[5]

الجدول 7. الشركات الرائدة في مجال مكونات الحوسبة السحابية

مكونات الحوسبة السحابية

الشركات

أجهزة الكمبيوتر

Dell, HP, IBM, Sun

مساحة التخزين

Sun, EMC, IBM

البنية التحتية

Cisco, Juniper Networks, Brocade Communication

البرمجيات

3tera. Eucalyptus. G-Eclipse. Hadoop

أنظمة التشغيل

Solaris, AIX, Linux (Red Hat, Ubuntu)

المنصة الافتراضية

Citrix, VMWare, IBM, Xen, Linux KVM, Microsoft, Sun xVM



5. مثال على نشر تطبيق ويب

في هذا القسم، سوف نقدم مثال يبين كيفية الجمع بين المحاكاة الافتراضية والخدمة الذاتية لتسهيل نشر التطبيق [15]. في هذا المثال، نستخدم نشر تطبيق ويب ذو مستويين باستخدام السحابة، كما هو موضح في الشكل 8.

الشكل 8. مثال على نشر تطبيق في بنية خادوم ويب ذو مستويين باستخدام الحوسبة السحابية (مقتبسة من [15])

الخطوات التالية تمثل عملية نشر التطبيق:

  • يختار المطور موازن التحميل، ومخدم الويب، وتطبيقات مخدم قاعدة البيانات من مكتبة صور الجهاز الظاهري المُعدة مسبقاً.

  • يقوم المطور بتكوين كل مكون لإعداد صورة مخصصة. حيث يتم تكوين موازن التحميل، وملء مخدم الويب بمحتواه الثابت عن طريق رفعه إلى سحابة التخزين، وتعبئة أدوات مخدم قاعدة البيانات بالمحتوي الديناميكي للموقع.

  • ثم يقوم المطور بعد ذلك بتركيب الكود المخصص في البنية الجديدة، وبهذه الطريقة يجعل المكونات تتلاءم مع متطلبات تطبيق معين.

  • يختار المطور نمط يأخذ صور كل طبقة ويقوم بنشرها، والتعامل مع الشبكات، والأمن، ومهام التطور.

إن تطبيق الويب الآمن، والمتوفر بكثرة موجود الآن ويعمل. وعندما يحتاج التطبيق لتحديث، يمكن تحديث صور الجهاز الظاهري، ونسخها عبر سلسلة التطوير، ويمكن إعادة نشر البنية التحتية بأكملها.

في هذا المثال، يمكن استخدام مجموعة معيارية من المكونات لنشر تطبيق بسرعة. ومع هذا النموذج، يمكن تلبية احتياجات المشاريع التجارية بسرعة بدون الحاجة لاستهلاك الكثير من الوقت، وشراء دليل الاستخدام، والتركيب، والكابلات، وتكوين الخوادم، ووحدات التخزين، والبنية التحتية للشبكة.

وقد كانت المشاريع الصغيرة والمتوسطة هي أول من تبنى الحوسبة السحابية. ومع ذلك، فقد ظهرت مؤخراً عدداً من الأمثلة لاستخدام الحوسبة السحابية في الشركات الكبيرة. ويوضح الجدول 8 ثلاثة أمثلة لاستخدام الحوسبة السحابية في الشركات الكبيرة.[13]

الجدول 8. أمثلة الحوسبة السحابية في الشركات الكبيرة

الشركة

السيناريو

الاستخدام

الفوائد

Eli Lilly

حوسبة البحث والتطوير عالية الأداء

خادوم أمازون ووحدة التخزين العنقودية لتحليل اكتشاف المخدرات والنمذجة

وقت نشر سريع بتكلفة أقل

New York Times

تحويل البيانات

تحويل المواد الأرشيفية (3مليون) إلى صيغ بيانات جديدة باستخدام خدمة حوسبة أمازون المرنة

توفير سريع ومرونة عالية على موارد البنية التحتية

Pitney Bowes

تطبيقات الأعمال الموجهة للأعمال

استضافة تطبيق نموذج الطباعة الالكتروني للعملاء. يستخدم خدمات MS Azure.net و SQL من أجل خيار النموذج المُستضاف (انطلقت عام 2009)

مرونة بتكلفة أقل وفرصة عمل جديدة



6. تحديات الحوسبة السحابية

باختصار، النموذج الجديد للحوسبة السحابية يوفر عدداً من الفوائد والمزايا تتفوق على نماذج الحوسبة السابقة وهناك العديد من المنظمات التي تعتمده وتتبناه. ومع ذلك، لا يزال هناك عدد من التحديات، والتي تُعالج حالياً من قبل الباحثين والممارسين على أرض الواقع. وفيما يلي عرض لهذه التحديات بإيجاز.

الأداء

المشكلة الكبرى في الأداء ربما تكون بالنسبة لبعض التطبيقات الموجهة نحو المعاملات وغيرها من تطبيقات البيانات الكثيفة، وفيها، قد تفتقر الحوسبة السحابية للأداء المناسب. كما أن المستخدمين البعيدين عن مزودي السحابة ربما يواجهون تأخير وخمول عالي.

الأمن والخصوصية

لا تزال الشركات تشعر بالقلق إزاء الأمن عند استخدام الحوسبة السحابية. فالعملاء قلقون بخصوص التعرض لهجمات عندما تكون المعلومات الهامة ومصادر تقنية المعلومات خارج جدار الحماية. وحل مشكلة الأمن تفترض أن مقدمي الحوسبة السحابية يتبعون ممارسات الأمان المعيارية، كما هو موضح في القسم 3.2.

التحكم

تشعر بعض أقسام تكنولوجيا المعلومات بالقلق لأن مقدمي الحوسبة السحابية يمتلكون السيطرة الكاملة على المنصات. كما أن مقدمي الحوسبة السحابية لا يقومون عادة بتصميم منصات لشركات محددة وممارساتها التجارية.

تكاليف معدل نقل البيانات

مع الحوسبة السحابية، يمكن للشركات توفير الأموال المهدرة على الأجهزة والبرمجيات، إلا أنها يمكن أن تتحمل ارتفاع رسوم معدل نقل البيانات للشبكة. وقد تكون تكلفة معدل نقل البيانات منخفضة بالنسبة لتطبيقات الإنترنت الصغيرة، والتي لا تُعد كثيفة البيانات، ولكنها يمكن أن ترتفع بشكل كبير بالنسبة لتطبيقات البيانات الكثيفة.

الدقة والموثوقية

لا تزال الحوسبة السحابية لا تقدم موثوقية دائمة على مدار الساعة. حيث كانت هناك بعض الحالات التي تعاني فيها خدمات الحوسبة السحابية من انقطاع التيار لعدد قليل من الساعات. وفي المستقبل، نتوقع أن نرى المزيد من مزودي الحوسبة السحابية، وخدمات أكثر ثراء، ومعايير معمول بها، وممارسات أفضل.

وفي ساحة الأبحاث، أطلقت معامل HP، إنتل، وياهو اختبارات Cloud Research Test Bed الموزعة، مع عدد من المرافق في آسيا، أوروبا، وأمريكا الشمالية، بهدف تطوير الابتكارات بما فيها رقائق الحوسبة السحابية المحددة. كما أطلقت IBM، بحوث الحوسبة السحابية والتي تعتبر بمثابة مجموعة من مصادر الحوسبة المتاحة للوصول عالميا حسب الطلب، والتي تدعم العمليات التجارية.

7. الحوسبة السحابية في المستقبل

باختصار، إن الحوسبة السحابية هي بالتأكيد نوع من نماذج/بنية الحوسبة التي ستبقى متوفرة لفترة طويلة قادمة. وفي المستقبل القريب، يمكن أن تنبثق الحوسبة السحابية في اتجاهات مختلفة. وأحد السيناريوهات المحتملة للمستقبل هو أن المؤسسة ربما تستخدم سحابة هجينة موزعة كما هو موضح في الشكل 9.

ووفقاً لهذا السيناريو، فإن المؤسسة سوف تستخدم التطبيقات الأساسية على سحابتها الخاصة، في حين سيتم توزيع بعض التطبيقات الأخرى على عدة سحب خاصة والتي عُدلت من أجل تطبيقات محددة.

الشكل 9.  بنية سحابة هجينة موزعة( مقتبسة من 13)

 

المراجع

1. J. Voas and J. Zhang, “Cloud Computing: New Wine or Just a New Bottle?” IEEE ITPro, March/April 2009, pp. 15-17.
2. M. T. Jones, “Cloud Computing with Linux,”
 www.ibm.com/developerworks/linux/library/l-cloud-computing.
3. “Platform as a Service”,
http://www.zoho.com/creator/paas.htm
4. D. Chappell, “A Short Introduction to Cloud Platforms: An Enterprise-Oriented View,” Chappel and Associates, August 2008.
5. “Cloud Computing,” Wikipedia,
        http://en.wikipedia.org/wiki/Cloud_computing.
6. F. Jens, “Defining Cloud Services and Cloud Computing,” September 2008.
http://blogs.idc.com/ie/?p=190
7. M. A. Vouk, “Cloud Computing – Issues, Research and Implementations,” Proceedings of the ITI 30th Int. Conference on Information Technology Interfaces, June 2008, Cavtat, Croatia, pp. 31-40.
8. L. Wang, J. Tao, and M. Kunze, “Scientific Cloud Computing: Early Definition and Experience,” Proceedings of the 10th IEEE Int. Conference on High Performance Computing and Communications, 2008, pp. 825-830.
9. C. Hutchinson and J. Ward, “Navigation the Next-Generation Application Architecture,” IEEEE ITPro, March/April 2009, pp. 18-22.
10. R. L. Grossman, “The Case for Cloud Computing,” IEEE ITPro, March/April 2009, pp. 23-27.
11. N. Leavitt, “Is Cloud Computing Really Ready for Prime Time?” IEEE Computer, January 2009, pp.15-20.
12. “Cloud Computing Security,” Third Brigade, www.cloudreadysecurity.com.
13. G. Lakshmanan, “Cloud Computing – Relevance to Enterprise,” Infosys White Paper, April 2009.
14. “Which Cloud Platform is Right for You?” www.cumulux.com.
15. “Introduction to Cloud Computing Architecture,” White Paper, Sun Microsystems, June 2009.

 

مصدر المقالة من هنا

ترجمة محمد مصباح


الحوسبة العصبية ، الآلة بروح جديدة الحواسيب ستساعد الناس ليفهموا أدمغتهم بشكل أفضل، و فهم الدماغ سيساعد الناس في بناء حواسيب أفضل

$
0
0

التشبيهات تتغير، فقد كان شائعاً أن يوصف الدماغ بأنه مثل النظام هيدروليكي الموظف لإنشاء نوافير جميلة في حدائق أرستقراطيي القرن السابع عشر، ولكن مع تقدم التقنية أصبح من الشائع أن يُشبَّه الدماغ بشبكة تليغراف ثم بعدها أصبح تبادل المكالمات الهاتفية هو التشبيه المعتاد ، و الآن أتى دور الحاسوب، فما تشبيه الدماغ بالحاسوب إلا استعارة بلاغية ، إلا أن مجموعة من العلماء أرادوا تطبيق هذه الإستعارة لتصبح واقعا، فهم يريدا خلق حواسيب تُشابه الدماغ، وبهذه الطريقة فهم يؤمنون بأن البشرية لن تستطيع أخيراً فهم كيفية عمل الدماغ فحسب؛ بل أيضاً ستطور حواسيب أفضل و أذكى.

أصحاب مثل هذه الرؤى يصفون أنفسهم بمهندسي الحوسبة العصبية neuromorphic ، هدفهم وفقاً لـكارلهاينز ماير - وهو عالم فيزيائي في جامعة هايلدلبرغ ومن أحد قادتهم - هو تصميم حواسيب تحتوى على أحد -أو كل - الصفات الثلاثة التي يتميز بها الدماغ عن الحواسيب و هي :  استهلاك طاقة منخفض ( الدماغ البشري يستخدم فقط ٢٠ وات بينما الكمبيوترات السريعة التي تحاول محاكاة عمل الدماغ تستهلك حالياً ما يصل إلى ميغاوات) والتعامل مع الخطأ ( فشل ترانزستور واحد كفيل بهدم المعالجات الدقيقة ، بينما يخسر الدماغ خلايا عصبية طوال الوقت بلا ضرر) و أخيراً عدم الحاجة إلى البرمجة ( تتعلم الأدمغة البشرية التكيف مع التغييرات بلا وعي من البشر خلال تعايشهم في العالم و لا تحتاج إلى اتباع منظومات معينة أو طرق محددة ).

 

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



المشابهة التناظرية

 

الفجوة المتسعة في فهم علماء الأعصاب لموضوعهم تقع في المستوى المتوسط  لتركيب الدماغ، فالعلم لديه معرفة معقولة في طريقة عمل الخلايا العصبية بشكل فردي، وأيضا يعرف كيفية عمل العقد و الفصوص الظاهرة في الدماغ، لكن كيف تترتب هذه الخلايا الفردية داخل الفصوص و العقود فإنه يظل سؤالاً غير معلوم الإجابة مع أن هذا الترتيب هو المسؤول عن التفكير الفعلي و من المحتمل أن يكون مقر الوعي.

 

لهذا، الربط و فهمه هو الهدف الأكبر من مبادرة الدماغ الأمريكية America’s BRAIN initiative، التي أُعلن عنها بصخب الرئيس باراك أوباما في أبريل، ربما قد تكون الطريقة الوحيدة لفهم ما يظهره الربط هو بمحاكاته على الحواسيب، وربما أيضاً التمثيل الحاسوبي سيأتي أولاً ليقود عملية الربط، وفي كلمات أخرى يمكن لمهندسي الحوسبة العصبية أن يكتشفوا المبادئ الرئيسية للتفكير قبل علماء الأعصاب.



تُجرى الآن اثنان من مشاريع الحوسبة العصبية الأكثر تقدما  تحت رعاية مشروع العقل البشري (HBP)، كمحاولة طموحة  من اتحاد لمؤسسات علمية أوروبية  لبناء دماغ آلي في عام ٢٠٢٣. الحواسيب التي تبنى تحت هذين البرنامجين تستخدم طرق أساسية مختلفة، أحدها يدعى "سبايناكر" (SpiNNaker) يبنى من قبل ستيفن فوربر من جامعة مانشستر، "سبايناكر"هو حاسوب رقمي( أي كما هو شائع استخدامه من قبل الناس الآن) يعمل على تمرير البيانات كآحاد و أصفار حسب وجود القوة الكهربائية ولهذا فهو يحتوي في مركزه على شبكة من المعالجات المخصصة.

 

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

 

د.فوربر و فريقه يعملون على"سبايناكر"منذ عام ٢٠٠٦، ولاختبار الفكرة التي بنوها، أطلقوا قبل سنتين نسخة من "سبايناكر"تحتوى على مجرد ١٨ معالجا، و يعملون الآن على نسخة أكبر، أكبر بكثير ، آلتهم التي تحتوي على مليون معالجاً  ستكون جاهزة في عام ٢٠١٤، مع هذا العدد من الرقائق، يعتقد د.فوربر بأنه قادر على محاكاة ما يقارب ١٪ من الدماغ البشري ،  وإنه بشكل حاسم يظن بأنه يقدر على ذلك في الوقت الفعلي. حاليا حتى هذه الحواسيب العملاقة التي تستطيع محاكاة أجزاء صغيرة فقط من العقل البشري  تقوم بتلك المحاكاة ببطء شديد بالمقارنة بسرعة الدماغ، طبعا لا يفكر د.فوربر بالتوقف هناك ، ففي عام ٢٠٢٠ يطمح د.فوربر بتطوير نسخة من "سبايناكر"بعشرة أضعاف قوة أداء الجهاز ذي المليون معالج.

 

يحصل "سبايناكر"على سرعته من خلال اللحاق بأمنية د.ميير الثالثة و هي عدم الحاجة إلى البرمجة. فعوضاً عن تمرير كميات كبيرة من البيانات تحت تحكم الساعة الرئيسية كما تفعل كل الحواسب المتطورة المعاصرة، معالجات "سبايناكر"تقوم بجلب دفعات صغيرة من البيانات متى ما تم الاحتياج لها، هذا يشابه عمداً كيفية عمل الخلايا العصبية، تسير الموجات عبر الخلايا العصبية كطاقة كهربائية تدعى"ممكنات العمل"و التي تحتوي على كمية صغيرة من البيانات بداخلها.

 

مثل هذا الارسال اللامتزامن( سمي بذلك لعدم وجود التزامن في الساعة الرئيسية) يستطيع  الحاسوب معالجة البيانات بسرعة أكبر من الارسال المتزامن. لأنه لا يوجد وقت لإضاعته في انتظار الساعة لتدق، كما أنه أيضاً يستخدم طاقة أقل وبهذا هو يحقق أمنية د.ميير الأولى. كما لو فشل معالج سيستطيع النظام الإلتفاف حوله و بهذا تتحقق أمنيته الثانية. ولأنه بالضبط لا يمكن ترجمته بسهولة، يتجاهل أغلب مهندسي الحاسب الارسال اللامتزامن، ولكن كطريقة لمحاكاة الدماغ فهذا مثالي جداً.



وبالرغم من عدم  -ربما- مثالية المنهج التناظري ، فإن د.ميير لم يتخل عن الطريق الرقمي تماماً، لكنه كان يقلل من شأن استخدامه حيث يستخدم مكونات رقمية ليحاكي عملية تبادل الرسائل بين نقاط الاشتباك العصبي- الوصلات بين الخلايا العصبية- ، مثل هذه الرسائل تُنقل باستخدام مواد كيميائية تدعى "الناقلات العصبية"والتي تعمل حسب مبدأ "ينتقل كل شيء أو لا شيء على الاطلاق"أي بمعنى آخر  إنها تعمل بشكل رقمي.

 

إطلاق النواقل العصبية هو بدوره يعتبر ردة فعل لقدوم"ممكنات العمل"، الخلايا العصبية على أية حال لا تطلق أي ردات فعل حالما تستقبل هذه النواقل، بل تحتفظ بها حتى تصل إلى عدد معين من الإشارات ، وعندما يتم تخطي الحد المعين من الإشارات - عملية تناظرية بشكل أساسي-  تقوم بإطلاق ردة فعل من نوع "ممكنات العمل"وتعيد ضبط نفسها. وهذا هو ما تفعله الخلايا العصبية الخاصة بسبايكي، إنها تبني الطاقة في المكثفات في كل مرة تجرى فيها عملية الإستثارة  حتى تصل إلى عدد معين و حينها يتم تفريغ المكثفات.

 

هل التدريب يجعله مثالياً؟

 

في زيوريخ،يتبع مهندس الحوسبة العصبية في معهد المعلوماتية العصبية ( يعمل بالمشاركة مع جامعة زيوريخ و جامعة الهندسة في المدينة ETH ) جيمس اندايفري طريق التناظري أيضاً ، يعمل د.جيمس منفصلاً عنHBP و بهدف مغاير و عملي أكثر ، فهو يحاول بناء - باستخدام مبادئ الحوسبة العصبية- ما سمّاه ( نظم المعرفية المستقلة).  كمثال، زراعة قوقعة يمكن أن تتعرف ما إذا كان الشخص الذي قام بتثبيتها في حفلة موسيقية أو في السيارة أو على الشاطئ و تُخرج مخرجات تناسب تلك الحالة،  وفرض د.جيمس بعض الشروط على نفسه مثل أن يكون الوزن وحجم الصوت و استهلاك الطاقة مشابه لمثائلها الطبيعية، بالإضافة إلى أنها تتصرف مثلها  قدر المستطاع.



جزء من المنهجية الطبيعية هو أن تعمل الترانزستورات كما يعرف تقنياً باسم "المجال دون العتبة sub-threshold domain"، وهي الحالة حينما يكون الترانزستور متوقف عن العمل( أي لا يجب عليه أن يمرر أي شيء، ولهذا هو يمثل صفراً في  النظام الثنائي) لكنه في الحقيقة هو يسرب القليل ( بضعة آلاف أجزاء من المليون من الأمبير) و ذلك لأن الالكترونات تنتشر خلاله.

 

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

 

تعمل أجهزة د.اندايفري أيضا بنفس سرعة الدوائر الحيوية ( بضع عشرات أو مئات من الهيرتاتز عوضاً عن سرعة القيقاهيرتز في معالجات الحاسوب) ؛ هذا يسمح لها بالتعامل مع دوائر الحيوية الحقيقة ، مثل الموجودة في الأذن كما في حالة زراعة القوقعة ، و أيضا لمعالجة الإشارات الطبيعية  بفاعلية  مثل الكلام البشري و الإيحاءات.

 

يعمل د.اندايفري حالياً على تطوير رقائق عصبية باستخدام مبدأ المجال دون العتبة ، تحتوي هذه الرقائق على خلايا عصبية افتراضية و الآلاف من نقاط الاشتباك العصبي، مع أنّ ذلك يبدو تافهاً مقارنة مع - على سبيل المثال- نظام د.فوربر ذو المليون معالج ، لكنه لا يحتاج الى غرفة كاملة ليحتويه، هذا الأمر مهم إذا ما كان هدفك العمل على الأطراف الاصطناعية.

 

على غير العادة، في مجال تقنية المعلومات ، الحوسبة العصبية محتكرة من قبل الباحثين الاوربيين عوضاً عن نظائرهم الأميركيين، لكن الى متى سيستمر هذا الوضع هو سؤال لأولئك الذين في الجانب الأخر من الاطلنطي الذين يحاولون بصعوبة اللحاق بالركب. وبشكل خاص، تقوم وكالة المشاريع البحوث المتقدمة للدفاع بتمويل المثيل الأمريكي لجزء الحوسبة العصبية من مشروع الدماغ البشري - نظام الحوسبة العصبية المتكيف لالكترونيات البلاستيك والذي يعرف اختصارا SyNAPSE -  كما أنها  تقوم أيضا بتمويل حاسبين عصبيين أخرين.



اليانكيز قادمون

 

أحد هذه الأجهزة صمم في معامل HRL في ماليبو، كاليفورنيا في قسم مملوك بالشراكة من قبل بوينج و جينرال موتورز. يقول ناراين سراينفسا - مدير المشروع- أن رقاقاته العصبية لا تتطلب سطراً برمجياً واحداً، عوضاً عن ذلك تتعلم بالفعل كما تتعلم الأدمغة البشرية في العالم الحقيقي.

 

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

في كلا الدماغين، الحقيقي و محاولات المحاكاة( من ضمنها الخاصة بد.سراينفسا) عملية تشكيل الذاكرة تتضمن تقوية بعض المسالك العصبية و قطع أخرى. و هذا يسمح للشبكة بمعالجة المعلومات بدون الحاجة إلى الاعتماد على برنامج حاسب تقليدي. مشكلة واحدة في بناء شبكات العالم الصغير في الأدمغة الإفتراضية هي تشبيك كل هذه الخلايا داخل نظام يحتوي على الكثير منها.

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

 

لحل هذه المشكلة، طور د.سراينفسا ما يعرف بـ مضاعف الوقت التشابك synaptic time multiplexing ، بحيث كل نقطة إشتباك عصبية حقيقة تعمل عمل ما يصل إلى عشر آلاف نقاط إشتباك عصبية إفتراضية، حيث تتظاهر كل واحدة  بأنها حقيقة بالترتيب لمدة مائة جزء من بليون جزء من الثانية.يتطلب مثل هذا النظام ساعة مركزية لترتب كل شيء. و يجب على هذه الساعة أن تعمل بشكل سريع، الدماغ بالعادة يعمل بين عشرة هرتز حتى مائة هرتز، وتعمل رقاقة د.سراينفسا على مستوي الميقاهرتز ؛  و لكن هذا يسمح لكل خلية عصبية اصطناعية من مجموعته البالغة ٥٦٧ خلية للتعامل مع بعضها البعض بنفس الوقت الذي يستغرقه مثيلاتها في نظام شبكي طبيعي.

 

و شبكات طبيعية في هذا الحجم موجودة فعلياً، سي.إليقانز هي دودة خيطية صغيرة و هي من أفضل الحيوانات التي تمت دراستها على الكوكب لأن مسار النمو الخاص بها وصفيّ تماماً، بالنسبة للخلايا الجنسية، كل دودة تحتوي إما على ٩٥٩ خلية  ( إذا كانت ثنائية الجنس) أو ١٠٣١ ( إذا كان ذكراً، لا يتوفر جنس أنثوي صافي لدى الديدان الخيطية). في الديدان ثنائية الجنس، ٣٠٢ من الخلايا الخاصة بها هي خلايا عصبية، في الذكور يكون العدد ٣٨١ كما تحتوي الدودة على ٥٠٠٠ نقطة إشتباك عصبي.

 

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

 

في الوقت الحالي، و بعملية أكثر، يعمل هو وفريقه مع ايرو-فايرومنت ( مؤسسة تبني طيارات صغيرة تعمل بلا طيار لتطير مثلا حول مبنى بحثاً عن أي مشكلة) تستطيع أحد رقاقات هذا الفريق تقديم دماغ لتلك الطائرات بحيث تستطيع - على سبيل المثال- تمييز إذا ما زارت هذه الغرفة من قبل أم لا ؛  و ربما تكتشف إذا ما ثمة تغيير حصل فيها. نسخ مطورة من هذه الرقاقات ربما تستطيع أن تتسلم التحكم و تبدأ بالحوم بنفسها.

 

يُدار المشروع الآخر لسنايباس من قبل د.همندرا مودها في معمل IBM ألمادن في سان خوسيه، بالتعاون مع أربع جامعات أمريكية ( كولومبيا، كورنيل، جامعة كاليفورنيا، ميرسد و جامعة واسكنتون ماديسون)، بنى هو وفريقه نموذجاً لحاسوب عصبي يحتوي على ٢٥٦ خلية عصبية من نوع ( ادمج و اطلق) ، وسميت بذلك لأنها تخزن ( أي تدمج) المدخلات الخاصة بها حتى تصل إلى حد ما ثم تطلق حينها موجة و تقوم بإعادة تعيين نفسها.إنها بذلك تشبه الخلايا العصبية في سبايكي ، مع أن التفاصيل الالكترونية مختلفة لأن الذاكرة الرقمية استخدمت عوضاً عن المكثفات لتسجيل الموجات القادمة.

 

تحتوي رقاقة د.مودها على ٢٦٢ ألف نقطة إشتباك عصبية وهو ما يعني أنه بشكل حاسم يمكن للخلايا العصبية أن تعيد تشبيك نفسها كردة فعل للمدخلات التي استقبلتها، كما يحدث في العقل الحقيقي. و أيضاً كما هو في العقل البشري، هذه الخلايا العصبية تتذكر النشاطات السابقة الحديثة( أي نقاط اشتباك عصبية استخدمت) و تستخدم هذه المعلومة لتشذيب بعض الاتصالات و تطوير بعضها الاخر أثناء عملية إعادة التشبيك.

 

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

ربما يبدو هذا أمر بسيط، لكن القصد منه كان لإثبات مبدأ ، و الخطة القادمة هو التطوير و الإنتقال للمرحلة التالية.

أمر واحد معروف عن الهيكلة المتوسطة للدماغ أنها عبارة عن وحدات،  القشرة المخية الحديثة - المكان الذي توجد فيه الخلايا العصبية و يبلغ حجمها ثلاثة أرباع الدماغ- مبنية من عدد كبير من الأعمدة و كلا منها يحتوي على حوالي ٧٠ ألف خلية عصبية. ينوي د.مودها على فعل شيء مشابه، باستخدام رقاقاته كبديل للأعمدة القشرية و بتوصيلها لانتاج حاسوب مشابه بصدق للعقل البشري، و هو فعلياً في طريقه إلى ذلك ، حيث استطاع محاكاة نظام يحتوي على مائة تريليون نقطة اشتباك عصبية و هو مقارب للرقم الموجود في العقل البشري.

 

ما بعد هذه المعرفة

يبقى -بطبيعة الحال- السؤال إلى أين ستصل بنا الحوسبة العصبية. في هذه اللحظة هي بدائية لكن اذا نجحت ربما ستسمح ببناء أجهزة بذكاء - أو ربما أذكى- من المخلوقات البشرية. الخيال العلمي ربما يصبح حقيقة علمية.

أيضا، ربما تتقدم الأمور بشكل أسرع مما يتصوره المراقب الخارجي المعتاد من أن الدماغ عبارة عن صندوق أسود منيع ضد العلم. بدأت الأموال تظهر في الصورة، فمشروع العقل البشري لديه ميزانية مقدرة ببليون يورو على مدار عقد من السنوات. والميزانية الاولى لمبادرة العقل بلغت مائة مليون دولار؛ لهذا فإن الحوسبة العصبية ستتطور بشكل جيد ، وإذا كان المقياس كل ما يهم، لأنه حقا هو مجرد مسألة ربط ما يكفي من مكافئات سلكونية للأعمدة القشرية ورؤية كيف تشذيب وتعزيز الاتصالات الداخلية الخاصة بها، فإنه يمكن أن يأتي جواب قريبًا.

 

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

 

هذه المقالة نشرتعلى مجلة إيكنومست بتاريخ 3 أغسطس 2013م، ترجمة سلاف علي، ومراجعة زايد السعيدي

٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: بين هاتشينجس

$
0
0

أدار المقابلة: جينيفر كليور.

ترجمة: زاهر النوتكي.

سنتحدث اليوم ضمن سلسلتنا الأسبوعية مع بين هاتشينجس. بين المشرف على حزمة النواة في ديبيان بالإضافة إلى مشاريع أخرى. ونوه هاتشينجس في مقابلته هذه بأنك في حالة رغبت في أن تتورط مع نظام لينكس عليك أن تبدأ بالأمور الصغيرة ثم تنتقل تدريجيا بالأمور أكثر تعقيدا حتى تصل إلى مستوى القيام بـ"عمليات جراحية بالدماغ".

ما أسمك؟؟

بين هاتشينجس

ما الدور الذي تلعبه في المجتمع/أو ما الأنظمة الفرعية التي تعمل عليها؟؟

أقوم في وقت فراغي بالإشراف (ضمن مشرفين آخرين) على حزمة نواة لينكس في ديبيان ومراقبة الإصدارات المستقرة من إصدارات لينكس Linux 3.2.y والتي ستدمج ضمن الإصدارة السابعة لديبيان. أحاول كذلك القيام ببعض التصليحات لأغلب العلل المهمة في النواة لإدراجها ضمن الإصدارة 3.2.y وسلسة الإصدارات الثابتة من النواة. بالإضافة إلى ذلك فأنا أشارك في الإشراف على مستودع linux-firmware والذي يقوم بتجميع مختلف الحزم التي قد تحتاجها حزم تعريف الأجهزة على نظام لينكس.

أما عملي الرسمي فإني أقوم بالإشراف على تعريف شبكة sfc و ethtool بالإضافة إلى بعض الأعمال المتعلقة بفكرة عمل الشبكات والأنظمة الأخرى التي يعتمد عليها نظام sfc .

من الذي يقوم بدفع راتبك الشهري؟؟

سولارفلير "Solarflare".

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

مدينة كامبريدج ، انجلترا. هنا وجدت وظيفتي الأولى ولم أجد سببا وجيها لتركها منذ فترة طويلة.

ما أدواتك المفضلة التي تستخدمها في تطوير البرامج؟وماذا تشغل على سطح مكتبك؟؟

أعمل على كل من Emacs و Evolution و جنوم ٣ و Iceweasel (الملقب بفايرفوكس).

كيف انضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

يعود أمر انضمامي إلى المجتمع في الحقيقة إلى مزيج من عدة أمور حدثت لي في الفترة بين عام ٢٠٠٧و٢٠٠٨: حيث حصل تغير تدريجي في وظيفتي عندما انتقلت من تطوير النسخات الاختبارية إلى الإشراف على كود الإنتاج ومحاولة الحفاظ على حزم ديبيان للعمل مع تعاريف شبكة Ralink wifi ضمن الإصدارات البدائية والرغبة في حل المشكلة المستمرة منذ فترة طويلة (على ديبيان) من الحزم غير الحرة المدمجة ضمن النواة.

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

سبب استمراري هي الإمكانية العالية لنقوم دائما بما هو أفضل سواء أكان من ناحية الأداء أو الأمان أو سهولة الاستخدام. فهناك تدفق دائم ومستمر من العتاد الجديد والذي يحتاج إلى دعم النظام وإضافة العديد من الميزات الجديدة والتي بلا أدنى شك يرافقها تحديات أكبر. وبطبيعة الحال هناك دائما علل تحتاج إلى إصلاح (بعض من هذه المشاكل تبدوا ذا أهمية أكبر من غيرها).

ما هو أكثر شيئ استمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الانجازات المدهشة)؟؟

لا يمكنني اختيار حالة محددة ولكن هذه الصفحة مثال جيد لتسليم كود برمجي سخيف جدا: http://lwn.net/Articles/490040/

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

ابدأ مشوارك من خلال عمل بسيط. ثم إذا ترغب بذلك واصل مشوارك حتى تصل إلى القيام بـ"عمليات جراحية بالدماغ". بالإضافة إلى ذلك داوم على قراءة كل من وثائق التوثيق ومستندات changelogs

ما الذي تستمع إليه وأنت تبرمج؟؟

أستمع إلى تشكيلة واسعة من الموسيقى ويمكنك الإطلاع على بعض هذه المقطوعات على: http://www.last.fm/user/womble2/tracks.

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

أنا مشترك في كل من قائمة netdev و stable ويمكنك من إيجادي في العديد من القوائم البريدية الأخرى. لا يوجد مؤتمر معين أتعهد حضوره بشكل سنوي ومع ذلك فقد حضرت كل من DebConf و FOSDEM و Chaos Communication Congress و Linux Plumbers Conferenceلمرات عدة.

 

رابط المقالة باللغة الإنجلزية هنا.

ما هو ترميز H.264 ؟

$
0
0

يعتبر H.264 الترميز الأكثر استخداما على هذا الكوكب نتيجة لانتشار الأقراص الضوئية، والبث، وتدفق أسواق الفيديو. ومع ذلك، فإن العديد من استخدامات H.264 تخضع لحقوق الملكية الفكرية، وهو الأمر الذي ينبغي وضعه في الاعتبار قبل استخدامها. والعوامل الأخرى التي يجب وضعها في الاعتبار تتضمن الجودة النسبية مقابل غيرها من التقنيات المتاحة مثل WebM التابعة لجوجل، فضلاً عن توافرها للعامة من أجل قدرات فك التشفير على المنصات والأجهزة المستهدفة. وتتناول هذه المقالة H.264 والتقنيات المنافسة لها من خلال النقاط السابقة.

مواصفات H.264

تُعد H.264 هي تقنية لضغط الفيديو، أو ترميز طُوّر بشكل مشترك من قبلالاتحاد الدولي للاتصالات (باسم H.264) والمنظمة الدولية للمعايير/اللجنة الدولية الكهروتقنية مجموعة خبراء الصور المتحركة (باسم MPEG-4 الجزء 10، وترميز الفيديو المتقدم، أو AVC). وبالتالي، فإن شروط H.264 و AVC تعني الشيء نفسه وقابلة للتبادل.

وكترميز للفيديو، يمكن إدراج H.264 في صيغ حاويات متعددة، وكثيراً ما يُنتج في صيغة MPEG-4، والتي تستخدم امتداد .MP4، وكذلك QuickTime (.MOV)، وفلاش (.F4V)، و 3GP للهواتف النقالة (.3GP)، وتيار البث MPEG (.ts). وفي معظم الوقت، ولكن ليس دائماً، تُرمز فيديوهات H.264 مع الصوت المضغوط AAC (ترميز الصوت المتقدم)، والذي يعتبر الصيغة المعيارية لـ ISO/IEC (MPEG4 الجزء 3).

مكونات العمل الأساسية

كترميز يستند للمعايير، فقد طُبق H.264 من قبل بائعين متعددين، وكل إصدار يوفر مستويات مختلفة من الجودة والتكوين. وأكثر ترميزات H.264 المستخدمة على نطاق واسع حالياً تشمل ترميز أبل، والذي يستخدم في Apple Compressor و QuickTime Pro، وبرنامج MainConcept المُرخص من قبل أدوبي، ومايكروسوفت، وروزت، وسورنسون ميديا من أجل منتجات الترميز الخاصة بهم، و ترميز x264 مكتبة برمجيات حرة تستخدم في معظم أجهزة التشفير التجريبية، ومن قبل العديد من بائعي المحتوى المُقدم للمستخدمين من أجل إنشاء أنظمة ترميز H.264 عالية المستوى.

ومن بين هؤلاء الثلاثة، يُنتجترميز أبل أقل جودةبفارق كبير. وعلى العكس من ذلك، فإن x264 يتفوق بفارق طفيف من حيث الجودة على MainConcept، على الرغم من أن الفرق قد لا يكون ملحوظاً في معايير الترميز المُستخدمةمن قبل معظم منتجي الميديا.

ملامح ومستويات H.264

على مستوى عال، هناك بعض التماثل في عوامل الضغط المتاحة لكل ترميز. على سبيل المثال، كل ترميزات H.264 تستخدم توصيفات مختلفة لترميز الفيديو. للتوضيح، هناك تقنيات ترميز متعددة وخوارزميات متاحة في H.264 لضغط الملف. والمُفاضلة الأساسية لمعظمها هو تعزيز الجودة ولكن التسلسل الزمني الأكثر تعقيداً هو الذي يصعب فك ترميزه.

وتحدد الملامح أي من تلك التقنيات والخوارزميات يمكن استخدامها لإنشاء التسلسل الزمني، وتشكيل نقطة التقاء مريحة لمُصنعي الأجهزة ومُنتجي أفلام الفيديو. على سبيل المثال، الملمح الأساسي، والذي يعتبر أبسط ملمح يستخدم في الغالب من قبل الأجهزة منخفضة الطاقة، لا يسمح باستخدام إطارات B أو ترميز CABAC. ولا تزال الجودة جيدة، ولكنها ليست عالية مثل التيارات المنتجة باستخدام الملامح الرئيسية أو العالية التي تضم كلا التقنيتين.

ومع ذلك، لأن تلك التقنيات لم تُستخدم، فإن متطلبات فك تشفير التيار الأساسي تكون بسيطة، لذلك فإن الأجهزة منخفضة الطاقة مثل الآيبود يمكنه تشغيل هذا الفيديو. وقد حددت وثائق الآيبود أن هذه الأجهزة يمكنها فقط تشغيل فيديوهات H.264 المُشفرة بواسطة الملمح الأساسي، لذلك فإن منتجي الفيديو يسعون لإنتاج محتوى يمكن تشغيله على الآيبود باستخدام الملمح الأساسي.

وتقوم مستويات H.264 بتحديد أقصى معدل بيانات ودقة الفيديو التي يمكن للجهاز تشغيلها. على سبيل المثال، تشير مواصفات الآيباد 2 أن الجهاز يمكنه تشغيل الفيديوهات المشفرة باستخدام الملمح الرئيسي، المستوى 3.1. وهذا يعني أن الحد الأقصى لدقة الفيديو هو 1080 * 720 بمعدل 30 لقطة في الثانية وبمعدل بيانات أقصى 14 ميجا بايت في الثانية. وتمتلك موسوعة ويكيبيدياجدول يوضح تفاصيل كل مستوى من H.264.

بشكل عام، تعتبر الملامح والمستويات هي العنصر الأكثر أهمية عند إنتاج الأجهزة لأن الفيديو المُشفر باستخدام الملمح الخاطئ، أو الذي يتجاوز المعايير المحددة للمستوى، لن يعمل على تلك الأجهزة. وعلى النقيض من ذلك، عند إنتاج الفيديوهات للحواسب، فإن برامج التشغيل تتيح تشغيل فيديوهات H.264، سواء كانت QuickTime، أو فلاش، أو Silverlight، أو HTML5 فيمكنها تشغيل الفيديو المُنتج بأكثر الملامح تقدماً والمدعوم بأكثر أدوات الترميز تدفقاً (الملمح العالي)، بتكوينات تتجاوز دقة 1080 بكسل وما فوقها.

عند إنتاج الفيديوهات من أجل التشغيل العام على الحواسب، فمن المهم مراعاة القيود العملية بشأن تسليمها إلى المُشاهد المستهدف، وقدرات تشغيل الحاسب المستهدف. على الرغم من أن مُشغل الفلاش يمكنه من الناحية الفنية تشغيل الفيديوهات بدقة 1080 بكسل والمشفرة بسرعة 15 ميجا بايت في الثانية على أجهزة النتبوك منخفضة الطاقة، إلا أن هناك القليل من الوصلات التي يمكنها توصيل معدل البيانات هذا في الوقت الحقيقي، كما أن تكاليف التسليم قد تكون باهظة، ومعدل اللقطات المُنتج من قبل وحدة المعالجة المركزية منخفضة الطاقة لن يكون مُرضي للمشاهدين.

المعايير الأخرى لترميز H.264

فيما وراء الملامح والمستويات، هناك تفاوت كبير في معايير ترميز H.264 المتاحة للمنتجين من أجل الترميز بصيغة H.264. على سبيل المثال، الشكل رقم 1 هو واجهة ضغط H.264 من برنامج Adobe Media Encoder. كما ترون، يمكن اختيار الملمح والمستوى، ولكن لا يوجد أي معايير أخرى لترميز H.264.

الشكل 1

ومن الناحية الأخرى لسلسلة التعقيد نجد الشكل 2، والذي يُظهر اثنين من الشاشات الأربع لخيارات الترميز المتاحة مع x264Encoder، وهو برنامج ترميز QuickTime يعتمد على سرعة x264. كما ترون، بغض النظر عن أنها ذات جودة عالية، فإن واحدة من الأسباب التي تجعل x264 تحظى بشعبية بين مستخدمي برامج الترميز والمواقع كبيرة الحجم المختصة بالمحتوى المُقدم للمستخدمين هو أنه يوفر مجموعة متنوعة من معايير ترميز H.264 والتي تسمح بالتطوير المكثف.

الشكل 2

وبشكل عام، على الرغم من أن H.264 هو ترميز معياري، إلا أن هناك القليل من التماثل في جودة المُخرجات من مختلف برامج الترميز، أو أدوات التحكم المُستخدمة لتشفير الملفات بصيغة H.264 من أجل التدفق والتوزيع.

حقوق ملكية H.264

هناك عدد من الشركات تدعي امتلاكها لحقوق براءات اختراع الملكية الفكرية التي ساهمت في تطوير H.264، وكل هذه الشركات أعضاء في مجموعة براءات الاختراع المُنظمة من قبل شركة MPEG LA. وضمن مجموعة براءات الاختراع، تُطبق عدد من حقوق الملكية المختلفة على الفئات المختلفة من المنتجات كما هو مُبين في الشكل 3.

الشكل 3

على اليسار تجد المنتجات التي تُباع أو توزع متضمنة ترميز أو فك شفرة AVC، بينما على اليمين تجد فئات متنوعة تتضمن الفيديوهات المُشفرة بصيغة H.264. باختصار، على الجانب الأيسر من الرسم البياني، تبدأ حقوق الملكية بعد بيع أول 100.000 وحدة كل عام، وتجاوز 3.5 مليون دولار في العام 2005 – 2006، و 4.25 مليون دولار في العام 2007 – 2008، و 5 مليون دولار في العام 2009 – 2010، و 6.5 مليون دولار في الفترة ما بين 2011 – 2015.

بالنسبة لفئات المحتوى الموجودة على اليمين، هناك حقوق ملكية على خدمات الاشتراك، وهذا يُقاس بعدد المشتركين، ولكنها تبدأ فقط بعد تخطي 100.000 مشترك. كما يوجد أيضاً رسوم لمحتوى "Title-by-Title"تُباع للمشاهدين (الدفع لكل مشاهدة)، ولكنها تُطبق فقط على المحتوى التي تكون مدته أطول من 12 دقيقة.

وإذا استمرينا ناحية اليمين في اتجاه عقارب الساعة، فلا يوجد حقوق ملكية لفيديوهات H.264 الموجودة مجاناً عبر الإنترنت، على الرغم من فرض رسوم نظير استخدامها على القنوات المجانية التي تستخدم ترميز H.264 من أجل أسواق البث التي تتجاوز 99.999 تليفزيون منزلي. ومن المثير للاهتمام، فقد اختلفت سياسية مجموعة براءات اختراع H.264 بشكل كبير حول الفيديوهات المجانية المتاحة عبر الإنترنت على مر الزمن. ففي البداية، لم يكن هناك حقوق ملكية حتى 1 يناير 2011، وهي السياسة التي أثنت العديد من مستخدمي المحتوى العالي المحتملين من تبني H.264. ثم في فبراير 2010، أعلنت شركة MPEG-LA أن حقوق الملكية سوف تتأجل حتى 31 ديسمبر 2015. وأخيراً، في أغسطس 2010، مددت شركة MPEGLA ترخيص الملكية المجاني "إلى الأبد"، فاتحة الطريق لبعض النقاد للقول بأن هذا هو رد فعل تجاه ترميز جوجل VP8 مفتوح المصدر والذي استحوذت عليه من شركة On2. وبغض النظر عن السبب، فإن تلك الفيديوهات الموزعة على الإنترنت بشكل مجاني عبر ترميز H.264، لن تضطر لدفع رسوم ترخيص لشركة MPEG LA.

دعم وتبني H.264

إن ترميز H.264 هو واحد من ثلاثة برامج ترميز متاحة لترميز المحتوى لأقراص البلو راي، وهو الأمر السائد في في مؤتمرات الفيديو، ويستخدم على نطاق واسع في البث التليفزيوني، بما في ذلك الأقمار الصناعية والمحطات التليفزيونية. وفي سوق تدفق البيانات، هُيأ H.264 لأول مرة من قبل أبل مع برنامج QuickTime 7 عام 2005، كما كُشف أيضاً عن فيديوهات H.264 في الآيبود في نفس العام. وفي عام 2007، أدرجت أدوبي دعم H.264 في الفلاش، كما أعلنت مايكروسوفت عن دعم H.264 في برنامج Silverlight عام 2008.

ويُدعم H.264 حالياً من قبل جميع أجهزة الأندرويد، وفي الويندوز فون 7، ومعظم هواتف البلاك بيري، ونظام HP webOS.

وفيما يتعلق بدعم المتصفحات، فإن تشغيل فيديوهات H.264 مدرج حالياً في متصفح سفاري التابع لأبل، ومايكروسوفت إنترنت إكسبلورر الإصدار التاسع عن طريق تبويب HTML5، فضلاً عن إصدارات جوجل كروم (على الأقل) 11.0.696.16 beta. ومع ذلك، ففي 11 يناير 2011، أعلنت جوجل أنها ستقوم بإزالة دعم H.264 من متصفح جوجل كروم في "الأشهر القليلة القادمة". ولم تقم موزيلا أو أوبرا بإدراج H.264 في متصفحاتهما، بداعي التكاليف والقيود المفروضة على استخدام صيغة "موجودة ضمن براءات الاختراع".

ومع ذلك، فقد أطلقت مايكروسوفت مكونات إضافية متعددة تسمح بتشغيل H.264 ضمن الفايرفوكس والكروم باستخدام تبويب الفيديو في HTML5، ورغم ذلك فإن هذه المكونات الإضافية تعمل فقط على ويندوز 7 وفقاً لما صرحت به مايكروسوفت.

ومع الإصدار 10.1، فقد تمكن مُشغل الفلاش من تسريع تشغيل H.264 داخل الفلاش على كلاً من منصات الويندوز والماكنتوش على حد سواء، كما قام الإصدار 5 من متصفح سفاري بتسريع تشغيل H.264 على كلا المنصتين. ومع الإصدار 3، تمكن برنامج Silverlight أيضاً من تسريع فيديوهات H.264 على كلا المنصتين، كما يشمل متصفح إنترنت إكسبلورر 9 على خاصية التسريع كذلك.

وعلى جانب المحتوى، بدأ يوتيوب وفيميو في دعم H.264 بقوة عن طريق تبويب HTML5 في أوائل 2010. وفي أواخر 2010، قامت عدد من الشبكات التليفزيونية بما في ذلك CBS، و CNN، و PBS، و TNT، و ABC، و BBC بترميز بعض الفيديوهات الموزعة على الإنترنت باستخدام H.264. وبشكل عملي، فإن كل الفيديوهات المُنتجة للآيتونز تُرمز أيضاً بصيغة H.264.

الجودة النسبية لترميز H.264

فيما يتعلق بجودة الفيديو، يقوم H.264 عموما بإنتاج جودة أعلى من VP6التابع لشركة On2 و VC1 التابع لمايكروسوفت. وفيما يتعلق بترميز WebM، فهناك بعض الخلاف. على سبيل المثال، في مقارنتها السنوية للترميز، وجدت جامعة موسكو الحكوميةأنه عند ترميز الأفلام، أظهر VP8 (الفيديو المشفر بصيغة WebM) جودة أقل بحوالي 20 إلى 30% في المتوسط. وفيتقييم سابق لمطور x264 "جايسون غاريث جلاسر"، استنتج أن VP8 من حيث المواصفات يجب أن يكون أفضل قليلاً من الملمح الأساسي لترميز H.264 و VC-1. ولكنه ليس قريب من التنافس مع الملمح الرئيسي أو العالي لترميز H.264.

وعلى النقيض من ذلك، توصلت شركة Streaming Mediaأن "فرق الجودة بين VP8 و H.264 لن يكون ذو معنى في معظم معدلات تدفق البيانات ذات الصلة".

لماذا يُعد ترميز H.264 مهم بالنسبة لك

إن اختيار الترميز هو واحد من القرارات الهامة التي تواجه مُنتجي بيانات وسائل الإعلام. ومن أجل اتخاذ القرار الصحيح، ينبغي على المُنتجين معرفة خصائص وتكاليف أي تقنية يختارونها. والآن، فإن H.264 هو الترميز الوحيد الذي يمكن أن يصل إلى 98% من الحواسب الأساسية (عن طريق الفلاش)، وهو الترميز السائد والمستخدم في الآيتونز ويمكنه العمل على جميع الهواتف المحمولة من كبرى العلامات التجارية. إنه الترميز الأعلى جودة والمتاح حالياً، وعلى الرغم من وجود بعض الرسوم المفروضة على استخدامه، إلا أنه لن يكون هناك رسوم أبداً على التوزيع المجاني للفيديوهات عبر الإنترنت.

 

مصدر المقالة تأليف جان أوزر، ترجمة محمد مصباح

١١ من أوامر لينكس المفيدة غير المشهورة

$
0
0

بواسطة آفيشيك كومار

تجتذب أوامر لينكس دائماً مهوسي اللينكس، يعرف مستخدم لينكس العادي من ٥٠ إلى ٦٠ أمرًا لأداء مهامه اليومية. أوامر لينكس و محولاتها تبقى دائماً كالكنز بالنسبة لمستخدمي لينكس ومبرمجي موجهات الأوامر و هنالك بعض أوامر لينكس الغير معروفة و لكنها مهمة و مفيدة جداً بغض النظر عن كونك مبتدئاً أو مستخدماً محترفًا.

هذه المقالة تهدف إلى تسليط الضوء على هذه الأوامر التي لم تحظ بالشهرة و التي بالتأكيد ستساعدك للتعامل مع سطح مكتبك و خادمك بشكل أكثر فعالية.

1. أمر !! sudo

تطبيق هذا الأمر بدون تحديد أمر sudo سينتج خطأ عدم وجود التصريح، لذلك لا تحتاج إلى كتابة كل الأمر مرة أخرى ، فقط اكتب( ‪!!‬) لتستعيد أخر أمر كتبته.

$ apt-get update

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) 
E: Unable to lock directory /var/lib/apt/lists/ 
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

 

$ sudo !!

sudo apt-get update 
[sudo] password for server: 
…
..
Fetched 474 kB in 16s (28.0 kB/s) 
Reading package lists... Done 
server@localhost:~$

 

 

2. أمر python

الأمر في الأسفل سينتج صفحة ويب بسيطة على ملقم HTTP لشجرة الدليل الهيكلية و التي يمكن استعراضها من خلال منفذ ٨٠٠٠ في المتصفح حتى يتم إرسال إشارة قطع.

 

# python -m SimpleHTTPServer

النتيجة:

 

3. أمر mtr

الكثير منا معتاد على ping و tracerote‪.‬ لكن ماذا عن دمج هذان الأمرين في أمر واحد باستخدام أمر mtr في حالة أن mtr لم يتم تحميلها داخل جهازك، فيجب عليك تحميل باستخدام apt أو yum.

$ sudo apt-get install mtr (On Debian based Systems)

 

# yum install mtr (On Red Hat based Systems)

 

الآن قم بتنفيذ أمر mtr لبدء التحقق من فاعلية اتصال الشبكة بين المضيف mtr و موقع قوقل.

# mtr google.com

النتيجة:

4. أمر Ctrl+x+e

هذا الأمر مفيد جدا للمسؤول و المطورين، لأتمتة المهام اليومية : يحتاج المسؤول إلى فتح المحرر و كتابة أوامر vi‪,‬vim‪,‬nano‪,‬ الى اخره. لكن لماذا لا نستخدم فتح المحرر الفوري من واجهة الأوامر ؟ فقط اضغط زر التحكم و x و e من واجهة الاوامر و ابدأ العمل في المحرر.

5.أمر nl

أمر nl يُرقم الأسطر في ملف ما ، فلنقل أننا نريد ترقيم الأسطر في ملف one‪.‬txt الذي يحتوي على الاسماء (Fedora, Debian, Arch, Slack and Suse).

أولا ستفرز محتويات هذا الملف باستخدام أمر cat .

# cat one.txt 

fedora 
debian 
arch 
slack 
suse

الآن قم باستخدام أمر nl لتفرز المحتويات مرقمة.

# nl one.txt 

1 fedora 
2 debian 
3 arch 
4 slack 
5 suse

6.أمر shuf

أمر shuf سيختار بشكل عشوائي سطور ، ملفات أو مجلدات من أي ملف أو مجلد.

أولا ، افرز محتويات المجلد باستخدام أمر ls .

# ls 

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

 

#  ls | shuf (shuffle Input)

Music 
Documents 
Templates 
Pictures 
Public 
Desktop 
Downloads 
Videos

 

#  ls | shuf -n1 (pick on random selection)

Public

 

# ls | shuf -n1 

Videos

 

# ls | shuf -n1 

Templates

 

# ls | shuf -n1 

Downloads

 

ملاحظة: يمكنك دائما التبديل بين n1 ، n2 لاختيار خيارين عشوائيين أو أي رقم من الاختيارات العشوائية باستخدام n3 ‪,‬n4 وهكذا.

7. أمر ss

‏ss هي اختصار لإحصائيات القوابيس ، هذا الأمر يستعرض المقبس و يعرض معلومات تشابه مخرجات أمر netstat، أيضا يستطيع عرض TCP و معلومات عن الحالة بشكل اكبر مما توفره باقي الأدوات.

# ss 

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port   
ESTAB      0      0           192.168.1.198:41250        *.*.*.*:http    
CLOSE-WAIT 1      0               127.0.0.1:8000             127.0.0.1:41393   
ESTAB      0      0           192.168.1.198:36239        *.*.*.*:http    
ESTAB      310    0               127.0.0.1:8000             127.0.0.1:41384   
ESTAB      0      0           192.168.1.198:41002       *.*.*.*:http    
ESTAB      0      0               127.0.0.1:41384            127.0.0.1:8000

 

8. أمر last

أمر last يعرض الأرشيف لآخر المستخدمين، هذا الأمر يبحث في ملف “/var/log/wtmp” و يعرض قائمة بالمستخدمين المسجلين دخولهم أو خروجهم و أيضا يعرض tty الخاصة بهم.

#  last 
server   pts/0        :0               Tue Oct 22 12:03   still logged in   
server   tty8         :0               Tue Oct 22 12:02   still logged in   
…
...
(unknown tty8         :0               Tue Oct 22 12:02 - 12:02  (00:00)    
server   pts/0        :0               Tue Oct 22 10:33 - 12:02  (01:29)    
server   tty7         :0               Tue Oct 22 10:05 - 12:02  (01:56)    
(unknown tty7         :0               Tue Oct 22 10:04 - 10:05  (00:00)    
reboot   system boot  3.2.0-4-686-pae  Tue Oct 22 10:04 - 12:44  (02:39)    

wtmp begins Fri Oct  4 14:43:17 2007

9. curl ifconfig.me

كيف تحصل على رقم IP الخارجي الخاص بك؟ باستخدام قوقل؟ حسناً! هذا الامر سيُظهر لك رقم IP الخارجي لك مباشرة عبر موجه الأوامر.

 

# curl ifconfig.me

ملاحظة: ربما لن تجد حزمة curl مثبتة لديك، عليك استخدام apt‪/‬yum لتحميلها.

10. أمر tree

يعرض لك ملفات الدليل الحالي بشكل شجري.

# tree .
|-- Desktop 
|-- Documents 
|   `-- 37.odt 
|-- Downloads 
|   |-- attachments.zip 

|   |-- ttf-indic-fonts_0.5.11_all.deb 
|   |-- ttf-indic-fonts_1.1_all.deb 
|   `-- wheezy-nv-install.sh 
|-- Music 
|-- Pictures 
|   |-- Screenshot from 2013-10-22 12:03:49.png 
|   `-- Screenshot from 2013-10-22 12:12:38.png 
|-- Public 
|-- Templates 
`-- Videos 

10 directories, 23 files

11. أمر pstree

هذا الأمر يعرض كل العمليات الحالية مع العمليات المتفرعة منها بشكل شجري يشابه مخرجات الأمر tree السابق ذكره.

# pstree 
init─┬─NetworkManager───{NetworkManager} 
     ├─accounts-daemon───{accounts-daemon} 
     ├─acpi_fakekeyd 
     ├─acpid 
     ├─apache2───10*[apache2] 
     ├─at-spi-bus-laun───2*[{at-spi-bus-laun}] 
     ├─atd 
     ├─avahi-daemon───avahi-daemon 
     ├─bluetoothd 
     ├─colord───{colord} 
     ├─colord-sane───2*[{colord-sane}] 
     ├─console-kit-dae───64*[{console-kit-dae}] 
     ├─cron 
     ├─cupsd 
     ├─2*[dbus-daemon] 
     ├─dbus-launch 
     ├─dconf-service───2*[{dconf-service}] 
     ├─dovecot─┬─anvil 
     │         ├─config 
     │         └─log 
     ├─exim4 
     ├─gconfd-2 
     ├─gdm3─┬─gdm-simple-slav─┬─Xorg 
     │      │                 ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+ 
     │      │                 │                 │                 ├─gdu-notific+ 
     │      │                 │                 │                 ├─gnome-scree+ 
     │      │                 │                 │                 ├─gnome-setti+ 
     │      │                 │                 │                 ├─gnome-shell+++ 
     │      │                 │                 │                 ├─nm-applet──+++ 
     │      │                 │                 │                 ├─ssh-agent 
     │      │                 │                 │                 ├─tracker-min+ 
     │      │                 │                 │                 ├─tracker-sto+ 
     │      │                 │                 │                 └─3*[{x-sessi+ 
     │      │                 │                 └─2*[{gdm-session-wor}] 
     │      │                 └─{gdm-simple-slav} 
     │      └─{gdm3} 
     ├─6*[getty] 
     ├─gnome-keyring-d───9*[{gnome-keyring-d}] 
     ├─gnome-shell-cal───2*[{gnome-shell-cal}] 
     ├─goa-daemon───{goa-daemon} 
     ├─gsd-printer───{gsd-printer} 
     ├─gvfs-afc-volume───{gvfs-afc-volume}

 

ترجمة سلافعلي

10 من أوامر لينكس المفيدة غير المشهورة - الجزء الثاني

$
0
0

بواسطة آفيشيك كومار

استكمالا للمقالة السابقة١١ من أوامر لينكس المفيدة غير المشهورةستكمل هذه المقالة التركيز على أوامر لينكس غير المشهورة والتي ستثبت أنها مفيدة جدا في إدارة خادوم أو سطح المكتب.

 

12- <space> أمر

أي جزء من الأوامر تكتبه عبر واجهة الأوامر سيُسجل في الارشيف و يمكن استرجاعه عبر أمر history‪‬.

لكن كيف نحتال على هذا الأمر؟ تستطيع فعل ذلك و بكل سهولة أيضاً، فقط ضع مسافة أو مسافتين قبل أن تكتب أي أمر عبر واجهة الأوامر و لن يتم تسجيل هذا الأمر في الأرشيف.

فلنجرب الأمر سنجري خمسة أوامر من أوامر لينكس مثلا

(ls, pwd, uname, echo “hi” and who)

و نضيف مسافة قبل كتابتها و نتأكد ما إذا تم تسجيلها في الأرشيف أم لا.

 

avi@localhost:~$  ls
avi@localhost:~$  pwd
avi@localhost:~$  uname
avi@localhost:~$  echo “hi”
avi@localhost:~$  who

 

الان قم بكتابة الأمر history لترى ما اذا تم حفظ الأوامر السابقة أم لا.

avi@localhost:~$ history

   40  cd /dev/ 
   41  ls 
   42  dd if=/dev/cdrom1 of=/home/avi/Desktop/squeeze.iso 
   43  ping www.google.com 
   44  su

 

سترى أن الأوامر التي قمنا باجرائها لم تسجل ضمن الأرشيف ، يمكننا أيضاً الاحتيال على الأرشيف باستخدام cat | bash بنفس الطريقة السابقة.

 

13- stat الأمر

أمرstat في لينكس سيعرض لك معلومات الحالة لملف او نظام ملفات كامل ، الحالة تعرض الكثير من المعلومات المرتبطة بالملف الذي تم تمرير اسمه مع الأمر مثل حجم الملف، صلاحيات الاستخدام و الوقت و التاريخ لاخر مرة تم استعراض الملف فيها و التغييرات و التعديلات إلى آخره.

avi@localhost:~$ stat 34.odt 

  File: `34.odt' 
  Size: 28822     	Blocks: 64         IO Block: 4096   regular file 
Device: 801h/2049d	Inode: 5030293     Links: 1 
Access: (0644/-rw-r--r--)  Uid: ( 1000/     avi)   Gid: ( 1000/     avi) 
Access: 2013-10-14 00:17:40.000000000 +0530 
Modify: 2013-10-01 15:20:17.000000000 +0530 
Change: 2013-10-01 15:20:17.000000000 +0530

 



14-  <alt>. و <esc>.

زوج المفاتيح المذكور في الأعلى ليس في الحقيقة بأمر ولكنها كطريقة لوضع آخر أمر تم اجرائه في شاشة العرض و إذا أردت وضع أمر أسبق لآخر أمر كتبته فكل ما عليك فعله هو الإستمرار بضغط هذا الزوج بالاضافة الىإلىمفتاح alt او esc و علامة النقطة"."للتحرك.



15-  pv الأمر

ربما شاهدت من قبل في أفلام هوليود كيف تظهر النصوص كأنها تُكتب في الوقت الفعلي بشكل تفاعلي، يمكنك عرض أي نصوص مدخلة أو مخرجة بهذا الشكل التفاعلي باستخدام أمر pv كما تم عرضه في الأعلى ،هذا الأمر ربما لن تجده مثبتا لديك في نظامك لذا عليك تنزيله عبر apt  أو yum اسم الحزمة هو pv .

root@localhost:# echo "Tecmint [dot] com is the world's best website for qualitative Linux article" | pv -qL 20

 

مثال على المخرجات

Tecmint [dot] com is the world's best website for qualitative Linux article

 



16-  mount | column -t

 

هذا الأمر يعرض لك كل الملفات المحملة بطريقة عرض لطيفة مع متطلباتها.

 

avi@localhost:~$ mount | column -t

 

مثال على المخرجات

 

/dev/sda1    on  /                         type  ext3         (rw,errors=remount-ro) 
tmpfs        on  /lib/init/rw              type  tmpfs        (rw,nosuid,mode=0755) 
proc         on  /proc                     type  proc         (rw,noexec,nosuid,nodev) 
sysfs        on  /sys                      type  sysfs        (rw,noexec,nosuid,nodev) 
udev         on  /dev                      type  tmpfs        (rw,mode=0755) 
tmpfs        on  /dev/shm                  type  tmpfs        (rw,nosuid,nodev) 
devpts       on  /dev/pts                  type  devpts       (rw,noexec,nosuid,gid=5,mode=620) 
fusectl      on  /sys/fs/fuse/connections  type  fusectl      (rw) 
binfmt_misc  on  /proc/sys/fs/binfmt_misc  type  binfmt_misc  (rw,noexec,nosuid,nodev) 
nfsd         on  /proc/fs/nfsd             type  nfsd         (rw)

 

 

17-  Ctr+l الأمر

 

قبل المضي بشرحي، دعوني اسألكم عن كيفية مسح واجهة الاوامر ؟ هل تكتبون clear في شاشة العرض؟ حسناً الأمر المذكور في الأعلى سيؤدي عمل مسح واجهة الاوامر كلها و ما عليك الا ضغط مفتاح Ctrl‪+‬I و شاهد كيف تُمسح واجهة الاوامر كلها مرة واحدة.

 

18- curl الأمر

 

ماذا عن فحص بريدك غير المقروء عبر واجهة الأوامر، هذا الأمر مفيد جداً لأولئك الذي يعملون على الخوادم اللارأسية. مرة أخرى ستُسأل عن كلمة المرور الخاصة بك في وقت الاجراء و يجب عليك ألا تكتب كلمة المرور بشكل مباشر و الا ستكون لديك ثغرة أمنية.

avi@localhost:~$ curl -u avishek1210@gmail.com --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "\t" if //; print "$2\n" if /<(title|name)>(.*)<\/\1>/;'

 

مثال على المخرجات

Enter host password for user 'avishek1210@gmail.com': 
Gmail - Inbox for avishek1210@gmail.com 
People offering cars in Delhi - Oct 26 
	Quikr Alerts 
another dependency question 
	Chris Bannister 
	Ralf Mardorf 
	Reco 
	Brian 
	François Patte 
	Curt 
	Siard 
	berenger.morel 
Hi Avishek - Download your Free MBA Brochure Now... 
	Diya 
★Top Best Sellers Of The Week, Take Your Pick★ 
	Timesdeal 
aptitude misconfigure? 
	Glenn English 
Choosing Debian version or derivative to run Wine when resource poor 
	Chris Bannister 
	Zenaan Harkness 
	Curt 
	Tom H 
	Richard Owlett 
	Ralf Mardorf 
	Rob Owens

 

19-  screen الأمر

 

أمر screen سيسمح لك بفصل عملية طال وقت اجرائها عن الجلسة بحيث يمكنك فيما بعد ضمّها لها من جديد، كما يوفر لك متى ما احتجت مرونة وقتما اجراء العملية.

لإجراء عملية ما، بالعادة نكتب :

avi@localhost:~$ ./long-unix-script.sh

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

avi@localhost:~$ screen ./long-unix-script.sh

يُمكن فصلها و ضمّها لمختلف الجلسات، في وقت جريان الأمر اضغط Ctrl‪+‬A ثم d للفصل ، run للضمّ.

avi@localhost:~$ screen -r 4980.pts-0.localhost



ملاحظة: هنا، الجزء الاخير من الامر هو رقم الشاشة و الذي يمكنك الحصول عليه عبر امر screen ‪-ls

لمعرفة المزيد حول أمر screen و استخداماتها، اقرأ مقالاتنا التي تتحدث عن افضل ١٠ اوامر للشاشات مدعمة بأمثلة.



20- file



لا، الأمر السابق ليس خطأ مطبعيا! ، أمر file هو أمر يستخدم لعرض معلومات عن نوع الملف

 

avi@localhost:~$ file 34.odt 

34.odt: OpenDocument Text

 

21-  id

 

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

avi@localhost:~$ id

 

مثال على المخرجات

uid=1000(avi) gid=1000(avi) 
groups=1000(avi),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth),117(scanner)

 

هذا كل ما لدينا حاليا. وحالما نرى رؤية نجاح هذه المقالة والمقالة السابقة سأكتب مقالة جديدة تحويل على أوامر لينكس أقل شهرة قريبا جدا.

 

ترجمة سلافعلي

 

Viewing all 76 articles
Browse latest View live