បញ្ហា (The Problem)៖ ប្រព័ន្ធកុំព្យូទ័រដែលមានប្រសិទ្ធភាពខ្ពស់ (HPC) ជួបប្រទះនឹងបញ្ហាប្រឈមក្នុងការដាក់ពង្រាយលើប្រព័ន្ធក្លោដ ដោយសារភាពស្មុគស្មាញនៃតម្រូវការផ្នែកទន់ ផ្នែករឹង និងការពឹងផ្អែកលើកម្មវិធីគ្រប់គ្រងការងារស្មុគស្មាញដូចជា Slurm ឬ OpenPBS។
វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះស្នើឡើងនូវស្ថាបត្យកម្ម Shoc (Serverless HPC over Cloud) ដែលប្រើប្រាស់បច្ចេកវិទ្យាកុងតឺន័រ និង Kubernetes ដើម្បីរៀបចំការងារដោយស្វ័យប្រវត្តិ។
លទ្ធផលសំខាន់ៗ (The Verdict)៖
| វិធីសាស្ត្រ (Method) | គុណសម្បត្តិ (Pros) | គុណវិបត្តិ (Cons) | លទ្ធផលគន្លឹះ (Key Result) |
|---|---|---|---|
| Traditional HPC Workload Managers (Slurm, OpenPBS, TORQUE) ការគ្រប់គ្រងការងារ HPC បែបប្រពៃណី (Slurm, OpenPBS) |
មានសមត្ថភាពខ្ពស់ក្នុងការកំណត់កាលវិភាគការងារ មានប្រព័ន្ធទប់ទល់នឹងកំហុស (Fault-tolerant) និងអាចពង្រីកទំហំបានល្អលើម៉ាស៊ីនផ្ទាល់ (Bare-metal)។ វាគាំទ្រការកំណត់ធនធានបានយ៉ាងលម្អិត និងអាចបន្ថែមមុខងារតាមតម្រូវការ។ | មានភាពស្មុគស្មាញខ្លាំងក្នុងការដាក់ពង្រាយ និងថែទាំ ជាពិសេសនៅលើប្រព័ន្ធក្លោដ។ វាទាមទារការកំណត់រចនាសម្ព័ន្ធដោយដៃច្រើន និងមានការផ្សារភ្ជាប់យ៉ាងស្អិតរមួតជាមួយផ្នែករឹង (Hardware coupling)។ | នៅតែមានគម្លាតធំរវាងប្រព័ន្ធប្រពៃណីទាំងនេះ និងប្រព័ន្ធក្លោដទំនើប ដែលធ្វើឱ្យពិបាកក្នុងការទាញយកអត្ថប្រយោជន៍ពី Cloud រួមទាំងចំណាយកម្លាំងពលកម្មច្រើនក្នុងការដំឡើង។ |
| Shoc Architecture (Serverless HPC via Kubernetes & Containers) ស្ថាបត្យកម្ម Shoc (HPC បែប Serverless តាមរយៈ Kubernetes និង Containers) |
ផ្តល់បទពិសោធន៍បែប Serverless ដល់អ្នកប្រើប្រាស់ ដោយលុបបំបាត់ភាពស្មុគស្មាញនៃការដំឡើងហេដ្ឋារចនាសម្ព័ន្ធ។ អាចពង្រីក ឬបង្រួមទំហំដោយស្វ័យប្រវត្តិ (Auto-scaling) និងមិនពឹងផ្អែកលើបច្ចេកវិទ្យាផ្នែករឹងជាក់លាក់ណាមួយ។ | កម្មវិធីកាលវិភាគរបស់ Kubernetes (kube-scheduler) អាចមិនមានមុខងារគ្រប់គ្រងការងារកម្រិតខ្ពស់ទាំងអស់ដូច Slurm ទេ ហើយអាចមានការយឺតយ៉ាវបន្តិចបន្តួចដោយសារបណ្តាញនិម្មិត (Virtual network overhead)។ | អនុញ្ញាតឱ្យដំណើរការការងារ HPC (MPI, Spark) លើប្រព័ន្ធក្លោដយ៉ាងរលូន ដោយកាត់បន្ថយភាពស្មុគស្មាញនៃការដាក់ពង្រាយ និងធ្វើឱ្យស្វ័យប្រវត្តិកម្មក្នុងការគ្រប់គ្រងធនធាន។ |
ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារនេះមិនបានបញ្ជាក់ពីតម្លៃជាក់លាក់ជាតួលេខនោះទេ ប៉ុន្តែវាទាមទារការវិនិយោគលើហេដ្ឋារចនាសម្ព័ន្ធក្លោដ និងធនធានមនុស្សដែលមានជំនាញផ្នែក DevOps និង Cloud Computing។
ការសិក្សានេះគឺជាការស្នើឡើងនូវស្ថាបត្យកម្មប្រព័ន្ធ (System Architecture) ជាជាងការពិសោធន៍លើទិន្នន័យជាក់លាក់ ហើយការអនុវត្តបន្ទាប់នឹងធ្វើឡើងនៅលើប្រព័ន្ធក្លោដស្រាវជ្រាវរបស់ប្រទេសអាមេនី (Armenian research cloud infrastructure)។ ដោយសារវាជាការស្រាវជ្រាវលើផ្នែកហេដ្ឋារចនាសម្ព័ន្ធបច្ចេកវិទ្យាក្លោដទូទៅ វាគ្មានភាពលំអៀងទៅលើទិន្នន័យប្រជាសាស្ត្រនោះទេ ដែលធ្វើឱ្យប្រទេសកម្ពុជាអាចយកស្ថាបត្យកម្មនេះមកអនុវត្តបានដោយគ្មានឧបសគ្គផ្នែកទិន្នន័យ។
ស្ថាបត្យកម្ម Shoc នេះពិតជាមានភាពស័ក្តិសម និងមានសារៈប្រយោជន៍ខ្ពស់សម្រាប់ស្ថាប័នអប់រំ និងវិស័យបច្ចេកវិទ្យានៅកម្ពុជា ដែលចង់ប្រើប្រាស់ធនធានកុំព្យូទ័រកម្រិតខ្ពស់ដោយសន្សំសំចៃ។
ការចាប់យកបច្ចេកវិទ្យា Serverless និង Containerization នឹងជួយជម្រុញសមត្ថភាពស្រាវជ្រាវ និងការច្នៃប្រឌិតនៅកម្ពុជា តាមរយៈការធ្វើឱ្យការគណនាប្រកបដោយប្រសិទ្ធភាពខ្ពស់ (HPC) កាន់តែងាយស្រួលចូលប្រើ និងមានតម្លៃសមរម្យ។
ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖
| ពាក្យបច្ចេកទេស | ការពន្យល់ជាខេមរភាសា (Khmer Explanation) | និយមន័យសាមញ្ញ (Simple Definition) |
|---|---|---|
| High-Performance Computing (HPC) | ការប្រើប្រាស់ប្រព័ន្ធកុំព្យូទ័រដែលមានសមត្ថភាពខ្ពស់ និងបច្ចេកទេសគណនាស្របគ្នា (parallel processing) ដើម្បីដំណើរការនិងដោះស្រាយបញ្ហាស្មុគស្មាញ ឬទិន្នន័យធំៗដែលកុំព្យូទ័រធម្មតាមិនអាចធ្វើបានក្នុងពេលដ៏ខ្លី។ | ដូចជាការប្រមូលផ្តុំមនុស្សរាប់ពាន់នាក់ឱ្យជួយគិតលេខលំហាត់គណិតវិទ្យាដ៏ធំមួយក្នុងពេលតែមួយ ដើម្បីឱ្យឆាប់បានចម្លើយ។ |
| Serverless | គំរូសេវាកម្មក្លោដ (Cloud computing) ដែលអ្នកប្រើប្រាស់មិនចាំបាច់ខ្វល់ខ្វាយពីការទិញ ដំឡើង ឬគ្រប់គ្រងម៉ាស៊ីនមេ (Servers) ដោយប្រព័ន្ធនឹងបែងចែកធនធាននិងដំណើរការដោយស្វ័យប្រវត្តិតាមទំហំការងារជាក់ស្តែងរបស់អ្នកប្រើ។ | ដូចជាការជិះឡានតាក់ស៊ី ដែលអ្នកគ្រាន់តែប្រាប់គោលដៅ ហើយបង់លុយតាមចម្ងាយ ដោយមិនបាច់ខ្វល់រឿងទិញឡាន ឬថែទាំឡាននោះទេ។ |
| Containerization | ការវេចខ្ចប់កម្មវិធីកុំព្យូទ័រ និងឯកសារបណ្ណាល័យពាក់ព័ន្ធទាំងអស់ (dependencies) បញ្ចូលគ្នាជាកញ្ចប់តែមួយ (Container) ដើម្បីឱ្យវាអាចដំណើរការបាននៅលើគ្រប់កុំព្យូទ័រ ឬប្រព័ន្ធក្លោដដោយមិនមានបញ្ហា Error ផ្នែករចនាសម្ព័ន្ធ។ | ដូចជាការដាក់អីវ៉ាន់ក្នុងទូរកុងតឺន័រ ដែលអាចលើកដាក់លើកប៉ាល់ ឬឡានធំបានយ៉ាងងាយស្រួលដោយមិនបាច់រុះរើអីវ៉ាន់ខាងក្នុងរាល់ពេលផ្លាស់ទី។ |
| Kubernetes | កម្មវិធីប្រព័ន្ធបើកចំហ (Open-source platform) សម្រាប់គ្រប់គ្រង និងរៀបចំកាលវិភាគដំណើរការកុងតឺន័រ (Container orchestration) រាប់ពាន់ដោយស្វ័យប្រវត្តិ រួមទាំងការបន្ថែម ឬបន្ថយទំហំធនធានម៉ាស៊ីន។ | ដូចជាអ្នកគ្រប់គ្រងកំពង់ផែដ៏ឆ្លាតវៃម្នាក់ ដែលដឹងថាត្រូវលើកកុងតឺន័រណាដាក់កប៉ាល់ណា ដើម្បីឱ្យការងារប្រព្រឹត្តទៅបានលឿននិងរលូន។ |
| Message Passing Interface (MPI) | ប្រព័ន្ធស្តង់ដារមួយដែលអនុញ្ញាតឱ្យកុំព្យូទ័រជាច្រើន (nodes) នៅក្នុងបណ្តាញ HPC អាចបញ្ជូនសារ និងទិន្នន័យទំនាក់ទំនងគ្នាទៅវិញទៅមកនៅពេលកំពុងធ្វើការគណនារួមគ្នា ដើម្បីចែករំលែកព័ត៌មាន។ | ដូចជាភាសាកូដកាយវិការ និងអាយកូម (Walkie-talkie) ដែលក្រុមវិស្វករប្រើសម្រាប់ទាក់ទងគ្នានៅពេលកំពុងសាងសង់អាគារដ៏ធំមួយរួមគ្នា។ |
| Slurm | កម្មវិធីប្រពៃណីសម្រាប់គ្រប់គ្រងកាលវិភាគការងារ (Job scheduler) និងបែងចែកធនធាននៅក្នុងប្រព័ន្ធកុំព្យូទ័រ HPC ដើម្បីធានាថាការងារនីមួយៗទទួលបានកម្លាំងម៉ាស៊ីនគ្រប់គ្រាន់ និងមិនជាន់គ្នា។ | ដូចជាអ្នកចាត់ចែងការងារនៅក្នុងរោងចក្រ ដែលកំណត់ថាកម្មករណាត្រូវធ្វើការងារអ្វី នៅម៉ោងណា ដើម្បីឱ្យខ្សែសង្វាក់ផលិតកម្មដើរស្របគ្នា។ |
| Virtual clustering | ការបង្កើតបណ្តុំម៉ាស៊ីនមេនិម្មិត (Virtual) ដោយទាញយកធនធានពីម៉ាស៊ីនមេពិតប្រាកដ (Physical servers) ជាច្រើនបញ្ចូលគ្នា ដើម្បីដំណើរការការងារជាក់លាក់ណាមួយឱ្យមានប្រសិទ្ធភាព ដោយមិនចាំបាច់មានម៉ាស៊ីនជាក់ស្តែងផ្ទាល់ខ្លួន។ | ដូចជាការខ្ចីបន្ទប់តូចៗពីផ្ទះច្រើនផ្សេងៗគ្នា មកផ្គុំជាការិយាល័យនិម្មិតដ៏ធំមួយសម្រាប់ការងារបណ្តោះអាសន្ន។ |
| Auto-scaling | សមត្ថភាពរបស់ប្រព័ន្ធក្លោដក្នុងការបន្ថែម ឬបន្ថយចំនួនម៉ាស៊ីនមេ (Nodes) និងធនធានកុំព្យូទ័រដោយស្វ័យប្រវត្តិ ដោយផ្អែកទៅលើទំហំការងារ តម្រូវការគណនា ឬចំនួនអ្នកប្រើប្រាស់ជាក់ស្តែងនៅពេលនោះ។ | ដូចជាភោជនីយដ្ឋានដែលអាចបន្ថែមតុនិងកៅអីដោយស្វ័យប្រវត្តិនៅពេលមានភ្ញៀវចូលច្រើន ហើយទុកវាវិញដោយខ្លួនឯងពេលភ្ញៀវចេញអស់។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖