Original Title: Mashup: Making Serverless Computing Useful for HPC Workflows via Hybrid Execution
Source: doi.org/10.1145/3503221.3508407
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

Mashup៖ ការធ្វើឱ្យការគណនាបែប Serverless មានប្រយោជន៍សម្រាប់លំហូរការងារ HPC តាមរយៈការអនុវត្តបែបកូនកាត់

ចំណងជើងដើម៖ Mashup: Making Serverless Computing Useful for HPC Workflows via Hybrid Execution

អ្នកនិពន្ធ៖ Rohan Basu Roy (Northeastern University), Tirthak Patel (Northeastern University), Vijay Gadepally (MIT Lincoln Laboratory), Devesh Tiwari (Northeastern University)

ឆ្នាំបោះពុម្ព៖ 2022 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '22)

វិស័យសិក្សា៖ Computer Science

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

បញ្ហា (The Problem)៖ អ្នកប្រើប្រាស់ HPC (High-Performance Computing) តែងជួបប្រទះការខាតបង់ធនធាន និងការចំណាយខ្ពស់នៅពេលប្រើប្រាស់ប្រព័ន្ធកុំព្យូទ័រពពកជាប្រពៃណី (VM clusters) ខណៈប្រព័ន្ធ Serverless នៅមានកម្រិតទាក់ទងនឹងការផ្ទុកទិន្នន័យ (Statelessness) និងពេលវេលាប្រតិបត្តិការ។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះស្នើឡើងនូវប្រព័ន្ធកូនកាត់ឈ្មោះ Mashup ដែលប្រើប្រាស់ឧបករណ៍បញ្ជាការសម្រេចចិត្តទីតាំង (Placement Decision Controller) ដើម្បីវិភាគ និងជ្រើសរើសបរិយាកាសគណនាដ៏ល្អបំផុតសម្រាប់កិច្ចការនីមួយៗ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Mashup (Hybrid Execution with PDC)
Mashup (ការអនុវត្តបែបកូនកាត់ជាមួយប្រព័ន្ធ PDC)
ជ្រើសរើសបរិស្ថានប្រតិបត្តិការល្អបំផុតដោយស្វ័យប្រវត្តិ (Serverless ឬ VM) សម្រាប់កិច្ចការនីមួយៗ ដែលជួយសន្សំទាំងពេល និងថវិកា។ វាជួយកាត់បន្ថយបញ្ហាភាពយឺតយ៉ាវនៃការចាប់ផ្តើម (Cold-start) និងការផ្ទេរទិន្នន័យ។ ទាមទារឱ្យមានការដំណើរការសាកល្បងការងារ (Profiling) ម្តងជាមុនសិន ដើម្បីឱ្យប្រព័ន្ធអាចវាយតម្លៃនិងសម្រេចចិត្តទីតាំងបានត្រឹមត្រូវ។ កាត់បន្ថយពេលវេលាប្រតិបត្តិការជាមធ្យម 34% និងចំណាយ 43% បើធៀបនឹងប្រព័ន្ធ Pegasus និង Kepler ព្រមទាំងលឿនជាងប្រព័ន្ធ VM cluster សុទ្ធរហូតដល់ចន្លោះពី 37% ទៅ 68%។
Traditional VM-based Cluster
ការប្រើប្រាស់ប្រព័ន្ធកុំព្យូទ័រពពកជាប្រពៃណី (VM Cluster)
គ្មានបញ្ហាភាពយឺតយ៉ាវពេលចាប់ផ្តើម (Cold-start) ហើយសក្តិសមបំផុតសម្រាប់កិច្ចការដែលត្រូវការរយៈពេលដំណើរការយូរនិងមានការផ្លាស់ប្តូរទិន្នន័យច្រើន។ ចំណាយខ្ពស់និងងាយប្រឈមនឹងបញ្ហាការរៀបចំធនធានលើសតម្រូវការ (Over-provisioning) ដែលធ្វើឱ្យខាតបង់ធនធានចោលពេលកិច្ចការមួយចំនួនរង់ចាំគ្នា។ ប្រើពេលយូរជាងនិងមានតម្លៃថ្លៃជាងប្រព័ន្ធ Mashup (Mashup ចំណាយអស់តិចជាងប្រមាណពី 58% ទៅ 62% បើធៀបនឹងប្រព័ន្ធនេះ)។
Serverless-only Execution
ការអនុវត្តតាមបែប Serverless សុទ្ធ (AWS Lambda)
គិតលុយតែពេលដំណើរការជាក់ស្តែង (Pay-as-you-go) គ្មានធនធានទំនេរចោល និងងាយស្រួលពង្រីកទំហំដោយស្វ័យប្រវត្តិសម្រាប់កិច្ចការដែលធ្វើស្របគ្នាច្រើន។ មានដែនកំណត់រយៈពេលដំណើរការយ៉ាងតឹងរ៉ឹង (ឧ.ត្រឹម 15 នាទី) ប្រឈមបញ្ហា Cold-start និងទាមទារការសរសេរអានទិន្នន័យតាមរយៈ Storage ខាងក្រៅដែលធ្វើឱ្យយឺតយ៉ាវ។ មានដំណើរការយឺតជាងប្រព័ន្ធ VM-based Cluster ធម្មតាជាង 10% ដោយសារបន្ទុកបន្ថែម (Overheads) នៃការសរសេរ/អានទិន្នន័យ។
State-of-the-art Workflow Managers (Pegasus, Kepler)
ប្រព័ន្ធគ្រប់គ្រងលំហូរការងារទំនើបៗ (Pegasus និង Kepler)
មានមុខងារដ៏រឹងមាំក្នុងការគ្រប់គ្រង កំណត់កាលវិភាគការងារស្មុគស្មាញ និងការកាត់បន្ថយការគណនាស្ទួននៅលើប្រព័ន្ធ VM Cluster។ មិនមានសមត្ថភាពក្នុងការទាញយកអត្ថប្រយោជន៍ពីស្ថាបត្យកម្មប្រព័ន្ធ Serverless ដើម្បីបង្កើនល្បឿន ឬកាត់បន្ថយតម្លៃចំណាយនៅឡើយទេ។ ដំណើរការយឺតជាងប្រព័ន្ធ Mashup កូនកាត់ជាមធ្យម 34% លើបរិស្ថានកុំព្យូទ័រពពកដូចគ្នា។

ការចំណាយលើធនធាន (Resource Cost)៖ ការអនុវត្តប្រព័ន្ធនេះទាមទារនូវគណនី Cloud Computing ធំៗ ព្រមទាំងការយល់ដឹងពីការកំណត់រចនាសម្ព័ន្ធកូដកម្រិតខ្ពស់ និងថវិកាសម្រាប់ជួលការផ្ទុកទិន្នន័យខ្នាតធំ។

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

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

ការសិក្សានេះពឹងផ្អែកទាំងស្រុងលើប្រព័ន្ធពពកពាណិជ្ជកម្មខ្នាតធំ (AWS និង GCP) និងឈុតទិន្នន័យហ្សែន/ជីវព័ត៌មានវិទ្យា (Bioinformatics) មកពីបរទេស។ សម្រាប់ប្រទេសកម្ពុជា ការទាញយក ឬបញ្ជូនទិន្នន័យរាប់ Terabytes ទៅកាន់ Cloud Datacenter ដែលស្ថិតនៅក្រៅប្រទេស អាចជួបបញ្ហាល្បឿនអ៊ីនធឺណិត (Latency) និងការចំណាយលើកម្រិតបញ្ជូនអ៊ីនធឺណិតខ្ពស់ (Bandwidth Cost)។

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

ទោះបីជាមានបញ្ហាប្រឈមផ្នែកហេដ្ឋារចនាសម្ព័ន្ធអ៊ីនធឺណិតក្តី យុទ្ធសាស្ត្រ Mashup នេះមានសក្តានុពលខ្ពស់សម្រាប់ជួយអ្នកស្រាវជ្រាវកម្ពុជាក្នុងការប្រើប្រាស់កុំព្យូទ័រកម្រិតខ្ពស់ដោយមិនបាច់ចំណាយទុនធំ។

ជារួម Mashup ផ្តល់នូវដំណោះស្រាយដ៏ឆ្លាតវៃសម្រាប់ស្ថាប័ននៅកម្ពុជាដែលខ្វះខាតធនធានម៉ាស៊ីនមេផ្ទាល់ខ្លួន ដើម្បីអាចចូលរួមក្នុងការស្រាវជ្រាវវិទ្យាសាស្ត្រកម្រិតខ្ពស់បានក្នុងតម្លៃសមរម្យ និងប្រកបដោយប្រសិទ្ធភាព។

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

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

  1. សិក្សាពីស្ថាបត្យកម្មប្រព័ន្ធពពក (Cloud Architecture): ចាប់ផ្តើមដោយការសិក្សាស្វែងយល់ពីភាពខុសគ្នារវាងការប្រើប្រាស់ម៉ាស៊ីននិម្មិតបែបប្រពៃណី (AWS EC2) និងដំណើរការគណនាបែប Serverless ដូចជាសេវាកម្ម AWS Lambda
  2. ស្វែងយល់ពីរចនាសម្ព័ន្ធខ្សែសង្វាក់ការងារ (HPC Workflows): រៀនពីរបៀបបំបែកកិច្ចការធំៗជាផ្នែកតូចៗតាមលំដាប់លំដោយ (Directed Acyclic Graph) ដោយសាកល្បងប្រើប្រាស់ឧបករណ៍ PegasusKepler Workflow Manager ជាមូលដ្ឋាន។
  3. តំឡើង និងសាកល្បងប្រព័ន្ធ Mashup ផ្ទាល់: ទាញយកកូដ Mashup ដែលបានបើកទូលាយ (Open-source) ពី Zenodo បន្ទាប់មកតំឡើងបរិស្ថានសាកល្បងដោយប្រើប្រាស់ Python 3.6 រួមជាមួយ boto3 និង AWS CLI
  4. អនុវត្តទិន្នន័យលើគម្រោងស្រាវជ្រាវជាក់ស្តែង: អនុវត្តការរៀបចំកាលវិភាគ (Profiling) និងសាកល្បងប្រព័ន្ធនេះដោយប្រើសំណុំទិន្នន័យតូចៗជាមុនសិន មុននឹងយកវាទៅអនុវត្តជាមួយគម្រោងវិភាគទិន្នន័យកសិកម្ម ឬប្រព័ន្ធ GIS ជាក់ស្តែងនៅក្នុងស្រុក។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Serverless Computing ជាទម្រង់នៃការគណនាលើពពកដែលអ្នកប្រើប្រាស់មិនចាំបាច់គ្រប់គ្រងម៉ាស៊ីនមេ (server) ទេ ដោយប្រព័ន្ធនឹងបែងចែកធនធានដោយស្វ័យប្រវត្តិសម្រាប់ដំណើរការកូដតែម្តង ហើយគិតប្រាក់ទៅតាមទំហំធនធាននិងពេលវេលាដែលបានប្រើប្រាស់ជាក់ស្តែងប៉ុណ្ណោះ។ ដូចជាការជួលតាក់ស៊ីជិះដែលអ្នកបង់លុយតាមចម្ងាយផ្លូវដែលបានធ្វើដំណើរជាក់ស្តែង ដោយមិនចាំបាច់ខ្វល់ពីការទិញឡាន ការថែទាំ ឬចាក់សាំងដោយខ្លួនឯងឡើយ។
HPC Workflows ជាបណ្តុំនៃកិច្ចការគណនាបែបវិទ្យាសាស្ត្រស្មុគស្មាញនិងធំៗ ដែលត្រូវបានតភ្ជាប់គ្នាតាមលំដាប់លំដោយ ដើម្បីដោះស្រាយបញ្ហា ឬវិភាគទិន្នន័យក្នុងកម្រិតខ្ពស់ (High-Performance Computing)។ ដូចជាសង្វាក់ផលិតកម្មនៅក្នុងរោងចក្រ ដែលកិច្ចការនីមួយៗបញ្ជូនលទ្ធផលបន្តបន្ទាប់គ្នាជាដំណាក់កាលរហូតចេញជាផលិតផលសម្រេច។
Directed Acyclic Graph (DAG) ជារចនាសម្ព័ន្ធទិន្នន័យដែលបង្ហាញពីទំនាក់ទំនងនិងលំដាប់លំដោយរវាងកិច្ចការនីមួយៗក្នុងលំហូរការងារ ដោយមានទិសដៅដើរទៅមុខច្បាស់លាស់ពីកិច្ចការមួយទៅមួយទៀត ហើយមិនអាចវិលត្រឡប់ថយក្រោយជារង្វង់បានឡើយ។ ដូចជាការធ្វើម្ហូបតាមសៀវភៅមគ្គុទ្ទេសក៍ ដែលអ្នកត្រូវធ្វើជំហានទី១ឱ្យចប់សិន ទើបអាចបន្តទៅជំហានទី២និងទី៣ ដោយមិនអាចរំលង ឬធ្វើច្រាសទិសបានឡើយ។
Cold-start overhead ជាពេលវេលាយឺតយ៉ាវនៅពេលទើបនឹងចាប់ផ្តើមដំណើរការកូដដំបូងនៅក្នុងប្រព័ន្ធ Serverless ដោយសារប្រព័ន្ធកុំព្យូទ័រពពកត្រូវចំណាយពេលរៀបចំបរិស្ថានការងារ និងទាញយកទិន្នន័យផ្សេងៗមុនពេលវាអាចដំណើរការកូដបាន។ ដូចជាការបញ្ឆេះម៉ាស៊ីនឡានដែលទុកចោលយូរនៅពេលព្រឹកត្រជាក់ ដែលត្រូវការពេលបញ្ឆេះកម្តៅម៉ាស៊ីនមួយសន្ទុះមុនពេលអ្នកអាចបើកបរវាបានលឿន។
Stateless execution ជាលក្ខណៈនៃដំណើរការប្រព័ន្ធកុំព្យូទ័រដែលមិនរក្សាទុកទិន្នន័យ ឬចងចាំស្ថានភាពណាមួយពីការដំណើរការលើកមុនឡើយ។ រាល់ការដំណើរការថ្មីគឺចាប់ផ្តើមពីទទេ ហើយវាត្រូវពឹងផ្អែកលើការទាញយកនិងរក្សាទុកលទ្ធផលនៅកន្លែងផ្ទុកខាងក្រៅជានិច្ច។ ដូចជាមនុស្សដែលរលាយការចងចាំរាល់ពេលងើបពីគេង ដែលគាត់ត្រូវសរសេររឿងរ៉ាវគ្រប់យ៉ាងទុកក្នុងសៀវភៅរាល់យប់ ដើម្បីអាចអាននិងចងចាំនៅថ្ងៃបន្ទាប់។
Placement Decision Controller (PDC) ជាយន្តការស្នូលរបស់ប្រព័ន្ធ Mashup ដែលធ្វើការសាកល្បង វិភាគ និងសម្រេចចិត្តដោយស្វ័យប្រវត្តិថា តើកិច្ចការណាមួយគួរតែដំណើរការលើ Serverless ឬគួរដំណើរការលើម៉ាស៊ីននិម្មិត (VM cluster) ដើម្បីសម្រេចបានល្បឿនលឿននិងចំណាយអស់តិចបំផុត។ ដូចជាមេការសំណង់ដ៏ឆ្លាតវៃម្នាក់ ដែលប៉ាន់ស្មាននិងចាត់តាំងជាងជំនាញឱ្យសាកសមទៅនឹងប្រភេទការងារនីមួយៗ ដើម្បីឱ្យការងារឆាប់ចប់និងមិនខ្ជះខ្ជាយថវិកា។
Virtual Machine (VM) cluster ជាបណ្តុំនៃម៉ាស៊ីនកុំព្យូទ័រនិម្មិតនៅលើប្រព័ន្ធពពកដែលត្រូវបានតភ្ជាប់គ្នាជាបណ្តាញ ដើម្បីធ្វើការរួមគ្នាលើកិច្ចការធំមួយ ដែលទាមទារការកំណត់ទំហំនិងបង់ប្រាក់ជួលធនធានទុកជាមុន មិនថាយើងប្រើប្រាស់វាពេញលេញឬអត់នោះទេ។ ដូចជាការជួលក្រុមការងារពេញម៉ោងប្រចាំខែដើម្បីធ្វើការរួមគ្នាក្នុងគម្រោងមួយ ដែលអ្នកត្រូវបង់ប្រាក់ខែឱ្យពួកគេរាល់ខែ ទោះបីជាថ្ងៃខ្លះគ្មានការងារធ្វើក៏ដោយ។

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

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

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