Original Title: Fair Multipath Capacity Allocation based on Mixed-Integer (Non-)Linear Programming
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការបែងចែកសមត្ថភាពពហុផ្លូវប្រកបដោយសមធម៌ ដោយផ្អែកលើការសរសេរកម្មវិធី Mixed-Integer (Non-)Linear

ចំណងជើងដើម៖ Fair Multipath Capacity Allocation based on Mixed-Integer (Non-)Linear Programming

អ្នកនិពន្ធ៖ Md Shahabuddin

ឆ្នាំបោះពុម្ព៖ 2016

វិស័យសិក្សា៖ Telecommunications

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

បញ្ហា (The Problem)៖ ឯកសារនេះដោះស្រាយពីតម្រូវការក្នុងការបែងចែកសមត្ថភាពបណ្តាញពហុផ្លូវ (Multipath) ឱ្យបានស្មើភាពគ្នា ដោយស្នើឡើងនូវក្របខណ្ឌគណិតវិទ្យាថ្មីដែលមិនតម្រូវឱ្យស្គាល់ផ្លូវបណ្តាញនៃលំហូរទិន្នន័យជាមុននោះទេ។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានអនុវត្តការធ្វើគំរូកម្មវិធី Mixed-Integer (Non-)Linear Programming (MILP/MINLP) ដើម្បីកំណត់ និងវាយតម្លៃវិធីសាស្ត្របែងចែកសមត្ថភាពបណ្តាញ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Bottleneck Subflow Fair Allocation (BSF)
ការបែងចែកសមធម៌ផ្អែកលើលំហូររងនៃចំណុចស្ទះ
អាចទទួលបានសមត្ថភាពបែងចែកសរុប (Aggregated capacity) ខ្ពស់ក្នុងសេណារីយ៉ូមួយចំនួន ដោយប្រើប្រាស់ធនធានបណ្តាញបានច្រើន។ សមធម៌មានកម្រិតទាប ដោយសារវាផ្តល់អាទិភាពដល់លំហូររង (Subflows) ដែលធ្វើឲ្យលំហូរដែលមានផ្លូវច្រើនទទួលបានចំណែកកម្រិតបញ្ជូនលើសលប់។ ផ្តល់អត្រាសមធម៌តាមរង្វាស់ Jain's Fairness Index និង Vardalis's Fairness Index ទាបជាងគេបំផុតនៅក្នុងការធ្វើតេស្តភាគច្រើន។
Bottleneck Flow Fair Allocation (BFF)
ការបែងចែកសមធម៌ផ្អែកលើលំហូរនៃចំណុចស្ទះ
មានសមធម៌ប្រសើរជាង BSF សម្រាប់លំហូរទិន្នន័យនីមួយៗ ដោយចាត់ទុកលំហូរ (Flow) ទាំងមូលជាធាតុមូលដ្ឋាន។ នៅតែមិនអាចសម្រេចបានសមធម៌ពេញលេញនៅទូទាំងបណ្តាញ (Network-wide fairness) ដោយសារវាផ្តោតតែលើតំបន់ដែលមានការកកស្ទះរៀងៗខ្លួន។ ផ្តល់នូវលទ្ធផលមធ្យមរវាងការបែងចែកសមត្ថភាពសរុប និងសមធម៌ ដោយមានភាពប្រសើរជាង BSF តែទាបជាង NFF។
Network Flow Fair Allocation (NFF)
ការបែងចែកសមធម៌ផ្អែកលើលំហូរបណ្តាញ
ផ្តល់នូវកម្រិតសមធម៌ខ្ពស់បំផុត និងស្មើភាពគ្នាសម្រាប់គ្រប់លំហូរទិន្នន័យទាំងអស់នៅក្នុងបណ្តាញរួមតែមួយ។ អាចធ្វើឲ្យសមត្ថភាពបែងចែកសរុប (Aggregated capacity) ធ្លាក់ចុះ និងទាមទារកម្លាំងគណនាខ្លាំងក្នុងការដោះស្រាយដោយសារភាពស្មុគស្មាញនៃគំរូ MINLP។ ទទួលបានពិន្ទុ Normalized Jain's Fairness Index និង Vardalis's Fairness Index ជិត ឬស្មើ 1 ជានិច្ច ក្នុងចំណោមសេណារីយ៉ូទាំង៣១។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះពឹងផ្អែកទាំងស្រុងលើការធ្វើត្រាប់តាមបណ្តាញ (Simulation) និងការគណនាគណិតវិទ្យា ដែលទាមទារកម្មវិធីកម្រិតខ្ពស់សម្រាប់ការធ្វើគំរូកម្មវិធី Mixed-Integer ទាំងលីនេអ៊ែរ និងមិនមែនលីនេអ៊ែរ។

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

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

ការសិក្សានេះប្រើប្រាស់សេណារីយ៉ូបណ្តាញដែលត្រូវបានបង្កើតឡើងដោយចៃដន្យ (Random Network Topologies) ចំនួន ៣១ តាមរយៈការក្លែងធ្វើ (Simulation) ដោយមិនមានទិន្នន័យចរាចរណ៍បណ្តាញពិតប្រាកដនោះទេ។ សម្រាប់ប្រទេសកម្ពុជា ការខ្វះទិន្នន័យពីហេដ្ឋារចនាសម្ព័ន្ធបណ្តាញជាក់ស្តែងរបស់ក្រុមហ៊ុនទូរគមនាគមន៍ ធ្វើឲ្យការអនុវត្តវិធីសាស្ត្រនេះអាចប្រឈមនឹងបញ្ហាភាពមិនច្បាស់លាស់នៃកម្រិតបញ្ជូន (Bandwidth) និងភាពយឺតយ៉ាវ (Latency) ដែលមានក្នុងពិភពពិត។

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

ទោះបីជាវិធីសាស្ត្រនេះផ្អែកលើការពិសោធន៍ទ្រឹស្តីក៏ពិតមែន ប៉ុន្តែគំរូនេះអាចមានប្រយោជន៍យ៉ាងខ្លាំងសម្រាប់ប្រតិបត្តិករទូរគមនាគមន៍នៅកម្ពុជាក្នុងការរៀបចំហេដ្ឋារចនាសម្ព័ន្ធបណ្តាញកម្រិតខ្ពស់។

សរុបមក ការអនុវត្តគំរូគណិតវិទ្យានេះតម្រូវឲ្យមានការបន្សាំទៅនឹងលក្ខខណ្ឌបណ្តាញជាក់ស្តែង ទោះជាវានឹងជួយលើកកម្ពស់គុណភាពសេវាកម្ម (QoS) ជាទូទៅសម្រាប់អ្នកប្រើប្រាស់បណ្តាញនៅកម្ពុជាក្នុងអនាគតក៏ដោយ។

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

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

  1. ជំហានទី១៖ សិក្សាមូលដ្ឋានគ្រឹះអំពីការធ្វើគំរូគណិតវិទ្យា (Mathematical Optimization): និស្សិតគប្បីចាប់ផ្តើមរៀនអំពីចំណោទ Mixed-Integer Linear Programming (MILP) ដោយសាកល្បងប្រើប្រាស់កម្មវិធីសាមញ្ញៗ ឬឧបករណ៍ដូចជា AIMMS សាខាអប់រំ និងឧបករណ៍ដោះស្រាយ (Solvers) ផ្សេងៗដើម្បីស្វែងយល់ពីរបៀបកំណត់ Objective Functions និង Constraints។
  2. ជំហានទី២៖ ស្វែងយល់ពីគោលការណ៍ពិធីការបណ្តាញ Multipath: ធ្វើការស្រាវជ្រាវលើពិធីការ MPTCP (Multipath TCP) និងរបៀបដែលកញ្ចប់ទិន្នន័យត្រូវបានបញ្ជូនឆ្លងកាត់ខ្សែបណ្តាញ (Links) និងចំណុចតភ្ជាប់ (Nodes) ខុសៗគ្នាក្នុងពេលតែមួយដើម្បីបង្កើនល្បឿន និងភាពជឿជាក់។
  3. ជំហានទី៣៖ អនុវត្តការសរសេរកូដក្លែងធ្វើបណ្តាញខ្នាតតូច: ប្រើប្រាស់ភាសាកម្មវិធី Python រួមជាមួយបណ្ណាល័យដូចជា PyomoPuLP ដើម្បីបង្កើតសំណុំបណ្តាញតូចមួយ (Topologies) ហើយសាកល្បងបង្កើតកូដបែងចែក Bandwidth ដោយប្រើប្រាស់គោលការណ៍ BSF ឫ BFF។
  4. ជំហានទី៤៖ វាយតម្លៃប្រៀបធៀបដោយប្រើរង្វាស់សមធម៌ (Fairness Metrics): ប្រមូលលទ្ធផលពីការក្លែងធ្វើ ហើយអនុវត្តរូបមន្តដូចជា Jain's Fairness Index និង Vardalis's Fairness Index ដើម្បីវាយតម្លៃប្រសិទ្ធភាពនៃកូដដែលបានសរសេរ ធៀបនឹងការបែងចែកសមត្ថភាពសរុប (Efficiency-Fairness Trade-off)។
  5. ជំហានទី៥៖ សហការនិងវិភាគជាមួយទិន្នន័យជាក់ស្តែង (Real-world Data): សហការជាមួយមន្ទីរពិសោធន៍ក្នុងសាកលវិទ្យាល័យ ឬទាក់ទងសុំទិន្នន័យចរាចរណ៍បណ្តាញពីក្រុមហ៊ុន ISP ក្នុងស្រុក ដើម្បីយកមកធ្វើតេស្តនិងកែតម្រូវគំរូ Network Flow Fair (NFF) ឲ្យស្របទៅនឹងបរិបទបណ្តាញពិតនៅកម្ពុជា។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Multipath Transport ជាពិធីការបណ្តាញដែលអនុញ្ញាតឱ្យឧបករណ៍មួយប្រើប្រាស់ផ្លូវបញ្ជូនទិន្នន័យច្រើនក្នុងពេលតែមួយ (ឧទាហរណ៍ ប្រើទាំងខ្សែពួរ Wi-Fi និងទិន្នន័យចល័ត 4G/5G ព្រមគ្នា) ដើម្បីបង្កើនល្បឿន និងកាត់បន្ថយការដាច់អ៊ីនធឺណិត។ ដូចជាការបញ្ជូនទំនិញតាមឡានដឹកទំនិញ២គ្រឿង លើផ្លូវជាតិ២ផ្សេងគ្នាក្នុងពេលតែមួយ ទៅកាន់គោលដៅតែមួយ ដើម្បីឲ្យទំនិញទៅដល់លឿន និងការពារកុំឲ្យស្ទះបើផ្លូវណាមួយខូច។
Mixed-Integer Linear Programming ជាវិធីសាស្ត្រគណិតវិទ្យាសម្រាប់ស្វែងរកដំណោះស្រាយល្អបំផុត (Optimization) ដោយប្រើប្រព័ន្ធសមីការ ដែលតម្រូវឱ្យអថេរមួយចំនួនត្រូវតែមានតម្លៃជាចំនួនគត់ (ឧទាហរណ៍ ០ ឬ ១ ដើម្បីតំណាងឱ្យការជ្រើសរើស ឬមិនជ្រើសរើសផ្លូវបញ្ជូនទិន្នន័យ)។ ដូចជាការគណនារកវិធីវេចខ្ចប់ទំនិញចូលប្រអប់ឲ្យបានច្រើនបំផុតដោយចំណាយតិចបំផុត ដោយមានលក្ខខណ្ឌថាទំនិញខ្លះត្រូវតែដាក់ចូលទាំងមូល (មិនអាចពុះជាចំណែកៗបានទេ)។
Bottleneck Link ជាចំណុចតភ្ជាប់ ឬខ្សែបណ្តាញដែលមានកម្រិតបញ្ជូន (Bandwidth) ទាបជាងគេបំផុតនៅក្នុងប្រព័ន្ធ ដែលធ្វើឱ្យលំហូរទិន្នន័យទាំងមូលមិនអាចរត់លឿនជាងចំណុះអតិបរមារបស់ចំណុចនោះបាន។ ដូចជាកន្លែងផ្លូវរួមតូចពី៤គន្លងមកនៅសល់តែ១គន្លង ដែលធ្វើឲ្យចរាចរណ៍ឡានទាំងអស់ត្រូវបន្ថយល្បឿននិងកកស្ទះនៅត្រង់ចំណុចនោះ។
Jain's Fairness Index ជារង្វាស់គណិតវិទ្យាប្រើសម្រាប់វាយតម្លៃកម្រិតនៃភាពស្មើគ្នា (សមធម៌) ក្នុងការបែងចែកធនធានបណ្តាញដល់អ្នកប្រើប្រាស់ ឬលំហូរទិន្នន័យនីមួយៗ ដោយពិន្ទុ ១ មានន័យថាសមធម៌ឥតខ្ចោះ។ ដូចជាឧបករណ៍សម្រាប់វាស់ពិន្ទុថាតើនំខេកមួយដុំត្រូវបានកាត់ចែកទៅឲ្យក្មេងៗគ្រប់គ្នាបានស្មើៗគ្នាដែរឬទេ (ពិន្ទុ ១ គឺបានប៉ុនគ្នាបេះបិទ)។
Network Flow Fair ជាវិធីសាស្ត្របែងចែកកម្រិតបញ្ជូន (Bandwidth) ដែលចាត់ទុកបណ្តាញទាំងមូលជាធនធានរួមតែមួយ ហើយព្យាយាមបែងចែកល្បឿនអ៊ីនធឺណិតឱ្យបានស្មើៗគ្នាទៅគ្រប់លំហូរទិន្នន័យ (Flows) ទាំងអស់ ដោយមិនលម្អៀងទៅរកលំហូរណាដែលមានផ្លូវច្រើននោះទេ។ ដូចជាការយកប្រាក់ចំណេញរបស់ក្រុមហ៊ុនទាំងមូល មកចែកជាប្រាក់រង្វាន់ស្មើៗគ្នាដល់បុគ្គលិកគ្រប់ផ្នែកទាំងអស់ដោយមិនខ្វល់ថាពួកគេធ្វើការនៅនាយកដ្ឋានណាឡើយ។
Subflow ជាលំហូរទិន្នន័យរងដែលបំបែកចេញពីលំហូរទិន្នន័យមេ (Multipath Flow) ហើយធ្វើដំណើរតាមផ្លូវបណ្តាញតែមួយជាក់លាក់ណាមួយ (ឧ. តាម Wi-Fi សុទ្ធ) មុននឹងទៅរួមបញ្ចូលគ្នាជាមួយលំហូររងផ្សេងទៀតនៅគោលដៅ។ ដូចជាការបំបែកកងទ័ពធំមួយទៅជាកងអនុសេនាតូចៗ ដើម្បីដើរឆ្ពោះទៅកាន់គោលដៅតាមច្រកភ្នំផ្សេងៗគ្នា រួចទើបទៅជួបជុំគ្នានៅទីតាំងប្រយុទ្ធតែមួយ។
Max-min Fair ជាគោលការណ៍បែងចែកធនធានដោយផ្តល់អាទិភាពក្នុងការបំពេញតម្រូវការរបស់អ្នកដែលមានចំណែកតិចបំផុត (Minimum) ឱ្យបានច្រើនបំផុត (Maximize) សិន រួចទើបយកធនធានដែលសល់ទៅចែករំលែកបន្តឱ្យអ្នកដែលត្រូវការច្រើនជាងនេះ។ ដូចជាការចែកអាហារសង្គ្រោះ ដោយធានាថាអ្នកដែលឃ្លានបំផុត ទទួលបានចំណែករបស់ពួកគេគ្រប់គ្រាន់សិន មុននឹងចែកបន្ថែមឲ្យអ្នកផ្សេងដែលមានស្បៀងខ្លះហើយ។

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

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

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