📰 Cloud дээрх ногоон алгоритм – Серверийн ачааллыг бууруулах кодчилолын арга
———————————————————————————————————————————–
Удиртгал
21-р зуун бол мэдээллийн эрин. Өдөр тутамд бидний илгээдэг имэйл, үздэг бичлэг, тоглодог тоглоом, ашигладаг аппликейшн бүрийн ард аварга том дата төвүүд ажиллаж байдаг. Эдгээр дата төвүүд дэлхий даяар сая сая серверүүдээс бүрдэж, тасралтгүй ажиллагааг хангахын тулд асар их хэмжээний цахилгаан эрчим хүч зарцуулдаг. Судалгаагаар, дэлхийн цахилгаан эрчим хүчний хэрэглээний 1–2 хувь зөвхөн дата төвүүдэд ногдож байгааг харуулдаг. Энэ үзүүлэлт улам нэмэгдэж буй нь тогтвортой хөгжлийн хувьд анхаарал татах асуудал юм.
Тиймээс “ногоон алгоритм” буюу серверийн ачааллыг бууруулж, тооцооллын үр ашгийг нэмэгдүүлэн эрчим хүчний хэрэглээг хэмнэх кодчиллын аргачлал нь цоо шинэ чиг хандлага болон гарч ирлээ.
Cloud ба эрчим хүчний хэрэглээ
Cloud computing нь бидэнд мэдээллийг алсаас хадгалах, боловсруулах, тараах боломжийг олгодог. Amazon Web Services (AWS), Microsoft Azure, Google Cloud зэрэг платформууд өнөөдөр дэлхийн бизнесийн гол хөдөлгүүр болж байна. Гэхдээ энэхүү асар их тооцоолол нь:
Өндөр цахилгаан зарцуулалт (хөргөөх, тэжээлээр хангах, ажиллагаа хэвийн байлгах)
Карбон ялгаруулалт (ихэвчлэн нүүрс болон шатах түлшнээс эрчим хүч авах)
Эдийн засгийн өндөр өртөг гэсэн гурван том асуудлыг дагуулдаг.
Жишээлбэл, Google-ийн дата төвүүд жилд хэдэн тэрбум кВт.цаг эрчим хүч хэрэглэж байгаа нь зарим жижиг улс орны нийт хэрэглээтэй дүйцдэг.
Ийм нөхцөлд эрчим хүчийг зөвхөн техник төхөөрөмжөөр биш, програмын түвшинд буюу алгоритмын оновчлолоор хэмнэх нь онцгой ач холбогдолтой юм.
Green Algorithm гэж юу вэ?
Green Algorithm (ногоон алгоритм) гэдэг нь програм хангамжийн түвшинд цахилгаан эрчим хүч, тооцооллын нөөцийг хамгийн бага зарцуулж, байгаль орчинд үзүүлэх сөрөг нөлөөг бууруулах зорилготой алгоритмын хандлага юм.
Энэ ойлголт 2010-аад оноос эрчим хүчний хэрэглээ нэмэгдсэнтэй холбоотойгоор Cloud computing, Big Data, AI зэрэг салбарт хүчтэй яригдаж эхэлсэн. Өөрөөр хэлбэл, Green algorithm бол үр ашигтай кодчилол + тогтвортой хөгжил + байгаль орчны хариуцлага гэсэн гурван ойлголтын огтлолцол юм.
Яагаад хэрэгтэй вэ?
Өгөгдлийн өсөлт: Өдөр бүр 300 тэрбум имэйл илгээгдэж, 500,000 цагийн видео YouTube-д байршдаг. Энэ бүгдийг боловсруулахад серверүүд асар их цахилгаан хэрэглэнэ.
Дата төвүүдийн эрчим хүчний хэрэглээ: 2020 онд дэлхийн нийт цахилгааны ~1.5%-ийг дата төвүүд дангаараа хэрэглэсэн. Хэрэв үр ашиггүй алгоритм хэрэглэвэл энэ тоо улам нэмэгдэнэ.
Уур амьсгалын өөрчлөлт: Цахилгаан эрчим хүчний ихэнх нь нүүрс болон шатах түлшнээс гардаг тул дата төвүүдийн нүүрстөрөгчийн хэрэглээ асар их байна.
Гол зарчмууд
Үр ашигтай алгоритм сонгох – бага тооцоолол, хурдтай ажиллагаа.
Давхардсан тооцооллоос зайлсхийх – кэш ашиглаж, CPU/RAM-ийн ачааллыг бууруулах.
Өгөгдлийн хэмжээг багасгах – шахалт, оновчтой бүтэцчилэл.
Энерги ба кодчилол – idle процессийг унтраах, зөвхөн шаардлагатай үед нөөц ашиглах.
Ачаалал тэнцвэржүүлэх – серверүүдийн ачааллыг зөв хуваарилж, илүүдэл серверийг унтраах.
Жишээ:
Google AI-ийн дотоод алгоритмын оновчлолын ачаар дата төвийн эрчим хүчний хэрэглээг 30% бууруулсан нь жилд 2 сая тонн CO₂ ялгарахаас сэргийлжээ.
Нэг серверийн CPU-г 10%-иар бага ачаалалтай байлгавал жилд ~50,000 кВт.цаг эрчим хүч хэмнэх боломжтой гэж судалгаагаар гарсан.
Серверийн ачааллыг бууруулах арга замууд
1. Алгоритмын оновчлол
O(n log n)-ийн нарийвчлалтай эрэмбэлэлтийг O(n²)-оос илүүтэйгээр хэрэглэх.
Кэшлэлт ашиглан давхар тооцооллыг багасгах.
2. Өгөгдлийн шахалт
Дамжуулах өгөгдлийн хэмжээг багасгаж, сүлжээний болон серверийн хэрэглээг бууруулах.
Жишээ: YouTube, Netflix шахалтын алгоритмуудаар жил бүр хэдэн зуун сая кВт.цаг цахилгаан хэмнэдэг.
3. Task scheduling ба load balancing
Ачааллыг серверүүдийн хооронд жигд хуваарилах.
Бодит цагийн хяналт бүхий динамик scheduling ашиглан зарим серверийг унтраах боломж бүрдэнэ.
4. Containerization ба virtualization
Kubernetes, Docker зэрэг технологиор зөвхөн шаардлагатай процессыг ажиллуулж, шаардлагагүй нөөцийн хэрэглээг багасгана.
5. Energy-aware coding практик
Dark mode, lazy loading зэрэг аргаар хэрэглэгчийн төхөөрөмжийн болон серверийн ачааллыг бууруулах.
Жишээ ба кейс судалгаа
Google: Tensor Processing Unit (TPU)-ийн алгоритмыг оновчилж, дата төвүүдийн эрчим хүчний үр ашгийг 30%-аар нэмэгдүүлсэн.
Microsoft Azure: AI ашиглан серверийн хөргөлтийг оновчилж, цахилгаан хэрэглээг 15%-аар бууруулсан.
Amazon Web Services: Elastic Load Balancing ашиглан ачаалал багатай үед серверийг автоматаар унтраадаг систем нэвтрүүлсэн.
Ирээдүйн чиг хандлага
TinyML ба edge computing – өгөгдлийг серверт илгээхээс өмнө төхөөрөмж дээр нь боловсруулж, дата төвийн ачааллыг бууруулах.
AI-д суурилсан ногоон кодчилол – алгоритмын өөрийг нь оновчтой болгож, хамгийн бага эрчим хүчтэй хувилбарыг санал болгох.
Ногоон дата төвүүд – сэргээгдэх эрчим хүч (нар, салхи, усан цахилгаан) ашиглах, далайн усны хөргөлттэй дата төв байгуулах гэх мэт
Хайлт
Категори
- 1 минутын уншлага (335)
- 2 минутын уншлага (195)
- AI (23)
- Machine Learning (10)
- Algorithm (13)
- Bиртуалчлал (1)
- Competitive programming (22)
- CodeX (2)
- computer science (19)
- ide (1)
- Аюулгүй Байдал (4) (6)
- боловсрол (134)
- Зөвлөгөө (74)
- Инженерчлэл ба Технологийн Системүүд (2) (25)
- Код (89)
- Богино прожектууд (12)
- Зөвлөгөө (41)
- Компьютерын Шинжлэх Ухаан ба Програмчлал (1) (37)
- Крипто (18)
- Математик (7)
- Өгөгдөл ба Хиймэл Оюун Ухаан (3) (16)
- Систем (1)
- Сурагчдад (7)
- Тархи ба Код (8)
- Технологи, Нийгэм ба Боловсрол (5) (34)
- Технологийн түүх (12)
- Тоглоом хөгжүүлэлт (3)
- Хөндлөнгийн (28)
- Электроник (5)
- Робот (1)