Original Title: Optimizing Hadoop Scheduling in Single-Board-Computer-Based Heterogeneous Clusters
Source: doi.org/10.3390/computation12050096
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការបង្កើនប្រសិទ្ធភាពនៃការកំណត់កាលវិភាគ Hadoop នៅក្នុងចង្កោមដែលផ្អែកលើកុំព្យូទ័រប្រភេទ Single-Board Computer (SBC) និងមានលក្ខណៈចម្រុះ

ចំណងជើងដើម៖ Optimizing Hadoop Scheduling in Single-Board-Computer-Based Heterogeneous Clusters

អ្នកនិពន្ធ៖ Basit Qureshi (Prince Sultan University)

ឆ្នាំបោះពុម្ព៖ 2024 (Computation Journal)

វិស័យសិក្សា៖ Computer Science / Edge Computing

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ការកំណត់រចនាសម្ព័ន្ធកាលវិភាគតាមបែបប្រពៃណីរបស់ Hadoop ជួបប្រទះការលំបាកក្នុងការបង្កើនប្រសិទ្ធភាពនៅក្នុងចង្កោម (Cluster) ដែលប្រើប្រាស់កុំព្យូទ័រប្រភេទ Single-Board Computer (SBC) ចម្រុះ ដោយសារតែភាពខុសគ្នានៃធនធានកុំព្យូទ័រ (CPU និង Memory)។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះស្នើឡើងនូវយន្តការកំណត់កាលវិភាគថ្មីមួយ ដោយប្រើប្រាស់ស្លាកសម្គាល់ថ្នាំង (Node Labels) និងសន្ទស្សន៍សន្សំសំចៃ (Frugality Index) ដើម្បីចាត់ថ្នាក់ថ្នាំង SBC តាមសមត្ថភាព និងកែសម្រួលការបែងចែកធនធានដោយស្វ័យប្រវត្តិ។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Adaptive Frugal Configuration (Proposed)
ការកំណត់រចនាសម្ព័ន្ធសន្សំសំចៃតាមតម្រូវការ (Adaptive Frugal Configuration) ដោយប្រើ Frugality Index
ការពារការប្រើប្រាស់ធនធានហួសកម្រិតលើថ្នាំងដែលមានសមត្ថភាពទាប (Low-end nodes) និងបង្កើនល្បឿនប្រតិបត្តិការសរុប។ ទាមទារការកំណត់រចនាសម្ព័ន្ធស្មុគស្មាញជាងការកំណត់ដើម និងត្រូវការ script បន្ថែមដើម្បីគណនា Findex។ លឿនជាងការកំណត់ល្អបំផុតរបស់ Capacity Scheduler ចំនួន ៥៦% និងលឿនជាង FIFO ២២%។
Native Capacity Scheduler
កាលវិភាគសមត្ថភាពដើមរបស់ Hadoop (Native Capacity Scheduler)
ជាស្តង់ដាររបស់ Hadoop ដែលអនុញ្ញាតឱ្យមានការចែករំលែកធនធានក្នុងចំណោមអ្នកប្រើប្រាស់ច្រើន។ មិនចេះបែងចែករវាងថ្នាំងខ្លាំង និងខ្សោយ ដែលបណ្តាលឱ្យមានការផ្ទុកលើសលើឧបករណ៍ដូចជា Raspberry Pi 3B។ ដំណើរការយឺតជាង និងងាយជួបបញ្ហាគាំង (Crash) នៅពេលដំណើរការលើឧបករណ៍ដែលមាន RAM តិច (១ GB)។
Native FIFO Scheduler
កាលវិភាគបម្រើតាមលំដាប់មុនក្រោយ (Native FIFO Scheduler)
ងាយស្រួលក្នុងការកំណត់ និងដំណើរការតាមលំដាប់ដែលបានដាក់ចូល។ អាចបណ្តាលឱ្យការងារធំៗរាំងស្ទះការងារតូចៗ និងមិនមានប្រសិទ្ធភាពក្នុងការប្រើប្រាស់ធនធានចម្រុះ។ មានប្រសិទ្ធភាពទាបជាងវិធីសាស្ត្រដែលបានស្នើឡើង ជាពិសេសក្នុងការគ្រប់គ្រងការងារដែលត្រូវការ CPU ខ្លាំង។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះប្រើប្រាស់ថវិកាតិច និងថាមពលទាប ដែលសមស្របសម្រាប់ការស្រាវជ្រាវក្នុងប្រទេសកំពុងអភិវឌ្ឍន៍។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះធ្វើឡើងនៅក្នុងមន្ទីរពិសោធន៍ដោយប្រើទិន្នន័យ Benchmark សិប្បនិម្មិត (Terasort និង WordCount) ជំនួសឱ្យទិន្នន័យជាក់ស្តែងពីឧស្សាហកម្ម។ ទោះជាយ៉ាងណាក៏ដោយ នេះគឺជាស្តង់ដារសម្រាប់ការវាស់វែងប្រសិទ្ធភាពប្រព័ន្ធ ហើយលទ្ធផលគឺមានសារៈសំខាន់សម្រាប់បរិបទនៃ Edge Computing នៅកម្ពុជា។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

វិធីសាស្ត្រនេះមានប្រយោជន៍ខ្ពស់សម្រាប់កម្ពុជា ជាពិសេសសម្រាប់ការកាត់បន្ថយថ្លៃដើមក្នុងការបង្កើតហេដ្ឋារចនាសម្ព័ន្ធ Big Data។

ការប្រើប្រាស់ SBC ក្នុងការគណនាបែប Distributed Systems គឺជាដំណោះស្រាយដ៏ល្អសម្រាប់ប្រទេសកម្ពុជា ដើម្បីចាប់ផ្តើមពង្រឹងសមត្ថភាពផ្នែក Data Science ដោយមិនត្រូវការការវិនិយោគធំដុំ។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. ការរៀបចំឧបករណ៍ (Hardware Setup): និស្សិតគួរចាប់ផ្តើមដោយការទិញ Raspberry Pi (ម៉ូដែល 4 ឬ 5) ចំនួន ៣ ទៅ ៤ គ្រឿង និងភ្ជាប់វាទៅក្នុងបណ្តាញតែមួយ (LAN) ដោយប្រើ Gigabit Switch។
  2. ការដំឡើងប្រព័ន្ធមូលដ្ឋាន (Base System Installation): ដំឡើងប្រព័ន្ធប្រតិបត្តិការ Linux (ដូចជា Ubuntu Server ឬ Raspberry Pi OS Lite) និងកំណត់រចនាសម្ព័ន្ធ SSH ដើម្បីគ្រប់គ្រងពីចម្ងាយ។
  3. ការដំឡើង និងកំណត់រចនាសម្ព័ន្ធ Hadoop: ដំឡើង Apache Hadoop និងកំណត់វាជា Cluster (Master/Slave)។ សិក្សាពីឯកសារ yarn-site.xml និង mapred-site.xml។
  4. ការអនុវត្ត Frugality Index: សរសេរ Script ដើម្បីកំណត់ចំណាត់ថ្នាក់ថ្នាំង (Node Labeling) ដោយផ្អែកលើ RAM (ឧ. RAM < 2GB ជា Low) និងកំណត់ចំនួន Container នៅក្នុង capacity-scheduler.xml ឬ fair-scheduler.xml ឱ្យសមស្រប។
  5. ការវាស់វែងប្រសិទ្ធភាព (Benchmarking): ដំណើរការកម្មវិធីតេស្តដូចជា Terasort ដើម្បីប្រៀបធៀបល្បឿនរវាងការកំណត់តាមលំនាំដើម និងការកំណត់ដែលបានកែសម្រួល។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Single-board computers (SBCs) ជាកុំព្យូទ័រពេញលេញដែលត្រូវបានបង្កើតឡើងនៅលើបន្ទះសៀគ្វីតែមួយ មានទំហំតូច និងប្រើប្រាស់ថាមពលតិច។ នៅក្នុងការសិក្សានេះ វាត្រូវបានគេប្រើដើម្បីបង្កើតជាក្រុមបណ្តាញកុំព្យូទ័រ (Cluster) សម្រាប់ការគណនាទិន្នន័យដែលមានតម្លៃសមរម្យ និងសន្សំសំចៃអគ្គិសនី។ ដូចជាកុំព្យូទ័រខ្នាតតូចប៉ុនបាតដៃ ដែលមានតម្លៃថោក និងអាចធ្វើការងារបានដូចកុំព្យូទ័រធំៗដែរ ប៉ុន្តែស៊ីភ្លើងតិចជាង។
Heterogeneous Clusters សំដៅលើប្រព័ន្ធបណ្តាញកុំព្យូទ័រដែលភ្ជាប់គ្នា ប៉ុន្តែកុំព្យូទ័រនីមួយៗ (Node) មានសមត្ថភាពមិនស្មើគ្នា (ខ្លះលឿន ខ្លះយឺត ខ្លះមាន RAM ធំ ខ្លះតូច) ដែលធ្វើឱ្យការបែងចែកការងារឱ្យស្មើគ្នាមានការលំបាក។ ដូចជាក្រុមការងារមួយដែលមានមនុស្សចម្រុះគ្នា ខ្លះជាមនុស្សចាស់ដែលមានកម្លាំងខ្លាំង និងខ្លះជាក្មេងដែលមានកម្លាំងតិច ធ្វើការរួមគ្នា។
Hadoop YARN ជាប្រព័ន្ធគ្រប់គ្រងធនធានស្នូលនៅក្នុង Hadoop ដែលមានតួនាទីចាត់ចែង CPU និង Memory ទៅឱ្យកម្មវិធីផ្សេងៗ។ នៅក្នុងការសិក្សានេះ វាត្រូវបានកែសម្រួលដើម្បីឱ្យវាស្គាល់ពីកម្រិតសមត្ថភាពរបស់កុំព្យូទ័រតូចៗ (SBCs)។ ប្រៀបបានទៅនឹងអ្នកចាត់ការទូទៅនៅក្នុងរោងចក្រ ដែលមានតួនាទីបែងចែកភារកិច្ចឱ្យបុគ្គលិកម្នាក់ៗធ្វើ ដើម្បីកុំឱ្យនរណាម្នាក់ទំនេរ ឬធ្វើការហួសកម្លាំង។
Frugality Index (Findex) ជាកម្រិតរង្វាស់ថ្មីមួយដែលអ្នកស្រាវជ្រាវបង្កើតឡើង ដើម្បីកំណត់ចំណាត់ថ្នាក់កុំព្យូទ័រនៅក្នុងបណ្តាញ ដោយផ្អែកលើសមត្ថភាពរបស់វា (ដូចជា CPU និង Memory)។ វាជួយឱ្យប្រព័ន្ធដឹងថា កុំព្យូទ័រណាគួរទទួលការងារច្រើន និងមួយណាគួរទទួលតិច។ ដូចជាការបិទស្លាកលើឡានដឹកទំនិញ ដើម្បីកំណត់ថាឡានណាអាចដឹកបានធ្ងន់ និងឡានណាដឹកបានតែស្រាលៗ ដើម្បីកុំឱ្យខូចឡាន។
MapReduce ជាគំរូនៃការសរសេរកម្មវិធីសម្រាប់ដំណើរការទិន្នន័យខ្នាតធំ ដោយបំបែកការងារជាចំណែកតូចៗ (Map) ឱ្យកុំព្យូទ័រច្រើនធ្វើព្រមគ្នា ហើយបន្ទាប់មកប្រមូលលទ្ធផលមករួមបញ្ចូលគ្នាវិញ (Reduce)។ ដូចជាការចែកសន្លឹកឆ្នោតទៅឱ្យមនុស្សច្រើននាក់ជួយរាប់រៀងៗខ្លួន (Map) រួចយកលទ្ធផលពីមនុស្សម្នាក់ៗមកបូកបញ្ចូលគ្នាដើម្បីរកលទ្ធផលចុងក្រោយ (Reduce)។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖