Enerji səmərəli memarlıq
1) Əsas prinsiplər
1. Energy as a First-Class Metric. Jouli/sorğu, W/nüvə, kWh/TB-ay - p95 və dəyəri kimi KPI.
2. Carbon-/Energy-Aware Orchestration. Yükləmə cədvəli və tapşırıqların yerləşdirilməsi şəbəkə və məlumat mərkəzlərinin CO ₂ -intensivliyini nəzərə alır.
3. Data Minimization. Daha az məlumat → daha az CPU/IO → daha az enerji və soyutma.
4. Right-sizing & Right-placing. Resursun düzgün növünü və ölçüsünü seçirik və istifadəçiyə/məlumatlara daha yaxın yerləşdiririk.
5. Simplicity Wins. Əlavə abstraksiya və söhbət = əlavə enerji.
2) Metrika və modellər
2. 1 infrastruktur
PUE (Power Usage Effectiveness): 'PUE = Ümumi məlumat mərkəzi enerjisi/İT yükü enerjisi' (1-ə nə qədər yaxın - bir o qədər yaxşı).
CUE (Carbon Usage Effectiveness): 'CUE = CO ₂ e/Enerji IT'.
WUE (Water UE): kWh başına litr su - su çatışmazlığı olan bölgələr üçün vacibdir.
2. 2 Tətbiqi
J/req (sorğu üçün jouli): 'E _ req = ∫ P (t) dt/ N_req'.
kWh/ETL job, kWh/milyon mesaj, kWh/təlim model.
CO e/fich və ya CO e/istifadəçi: 'CO e = kWh (vaxt, region)'.
2. 3 Karbon modeli
carbon(req) = energy(req) grid_emission_factor(region, time)
energy(req) = cpu_j + mem_j + io_j + net_j
Harada 'grid _ emission _ factor' saat və bölgəyə görə dəyişir (karbon-məlumatlı planlaşdırma).
3) Avadanlıq və icra səviyyəsi
CPU arxitekturaları: ARM/Graviton/RISC-V tez-tez şəbəkə və Java/Go yükləri üçün ən yaxşı «W/perf» verir; x86 yüksək taktları və bəzi SIMD üçün güclü qalır.
GPU/TPU/digər sürətləndiricilər: ML/vektor analitikası tez-tez ən yaxşı «J/əməliyyat» verir, əgər batching və yüksək təkrar emal saxlamaq.
DVFS və güc capping: dinamik azalma tezliyi və kritik olmayan vəzifələr altında TDP məhdudlaşdırılması.
Yuxu rejimi/avto-söndürmə: aqressiv 'idle' workers və fon siyasətləri.
Yaddaş: NUMA lokallığı və səhifə səhvlərinin azaldılması şin və keşlərin enerji xərclərini azaldır.
4) Memarlıq nümunələri
4. 1 «söhbət» olmadan mikroservis
RPC-hopları azaltın: aqreqasiya şlüzləri, kompozit end nöqtələri.
gRPC/HTTP/2/3 REST əvəzinə.
Batch + Async: kiçik əməliyyatları yapışdırın.
4. 2 «Isti» və «soyuq» yollar
Nadir, ağır tələblər üçün - as-needed infrastruktur (on-demand, funksiyalar/server-less).
İsti yollar - uzun ömürlü birləşmələr və hovuzlar.
4. 3 coalescing ilə caching
Coalescing sorğular cache qaçırmaq fırtına qarşısını alır.
Stale-while-revalidate: köhnəlmiş veririk, başlanğıc səfərinə qənaət edirik.
4. 4 Storage Tiring
Hot/Warm/Cold/Archive: NVMe → SSD → gecikmə ilə obyekt → buzlaq.
Avtomatik ILM/TTL: daha az spin/IO → daha az enerji.
4. 5 Karbon məlumatlı planlayıcı (Carbon-Aware)
Zaman keçidli joblar (ETL, analitika, təlim) - «yaşıl» saatlara/regionlara.
Regional egress yollar kVt saat və CO ₂ - yerli yığın.
python def schedule(job):
windows = get_green_windows(job.region_candidates, next_48h)
pick = argmin(windows, key=lambda w: w.grid_factor job.energy_estimate / w.capacity)
enqueue(job, region=pick.region, start=pick.start)
4. 6 «Ağılla» deduplikasiya və kompressasiya
Kompressiya şəbəkə/disk saxlayır, lakin CPU dəyər. Adaptiv tətbiq edin: böyük yük, aşağı CPU dövrəsi.
5) Kod və məlumatların effektivliyi
Alqoritmik: asimptotikanı azaltmaq> tuning. «Qaynar nöqtələri» profilləşdirin.
Yaddaş ayrılması: buferlərin icarəsi, obyektlərin hovuzları - daha az GC/enerji.
Formatlar: ikili protokollar, analitika üçün sütun formatları (Parquet/ORC), açarların zipf-paylanması caching zamanı nəzərə alınır.
I/O: paket, vektorizasiya, asenxron giriş/çıxış.
Streaming vs tam skan: məlumat mənbəyinə push-down filters.
Kənarda funksiyalar (edge): əvvəlcədən yığılma, səs-küy hadisələrinin atılması.
E_req ≈ (cpu_ms W_cpu/ms) + (mem_ms W_mem/ms) +
(io_read_mb W_io/mb + io_write_mb W_io/mb) +
(egress_mb W_net/mb)
6) ML və məlumatlar: enerji nümunələri
Model arxitekturası: kiçik/xüsusi modellər, distillə, kvantlama (int8/4-bit), sparsity.
Təlim: batch ölçüsü, təkrar emal, mixed precision (FP16/BF16), kontrol nöqtələri, erkən dayanma.
İnferens: batch + mikrobatçi, kompilyasiya (TensorRT/ONNX Runtime), dinləri ilə triton server. batching.
Fich və Fich Store: tez-tez istifadə olunan Fich Caching, mənbə yükü əvəzinə keyfiyyət deqradasiya.
7) Şəbəkə və protokollar
Keep-alive, HTTP/3, QUIC, minimum handshake.
CDN + edge-caches: qısa marşrutlar → az kVt· h
Profil ilə sıxılma: kiçik/CPU-bahalı yollar üçün sıxılma olmadan böyük resurslar üçün zstd/brotley.
Çox bölgəli dublyaj - yalnız real ehtiyac olduqda RTO/RPO.
8) Telemetriya və «energo-observability»
8. 1 Yığım
Enerji/güc sayğacları (IPMI/RAPL/Node Exporter power), GPU/TPU telemetriya.
Tətbiq səviyyəsində: J/req atributu - vaxt CPU/IO və kalibrləmə əmsalları vasitəsilə.
Korrelyasiya: 'energy _ j', 'carbon _ g', 'grid _ factor', 'region'.
8. 2 Metriklər və Alertlər
Energy per SLI: `J/p95`, `J/txn`.
Carbon budget: məhsullar üzrə CO ₂ e aylıq limitləri.
Drift: 'J/req'> X% bazline.
9) CI/CD, geyt və test
PR-da Perf-smoke + Energy-smoke: qısa ssenari, 'J/req' toplama və reqress qapısı.
Enerji bazlaynları: etalonu saxlayın (CPU/GPU, J/req fleyqrafları).
Policy as Code: təsdiq istisna olmadan 'Δ J/req> 10%' olduqda deploi qadağası.
Xaos + enerji modelləri: asılılığın deqradasiyası J/req-i limitlərdən artıq artırmamalıdır (retraj fırtınalar əvəzinə shading/deqradasiya).
10) Yük və vaxt idarəetmə
Vaxt keçidi (load shifting): qeyri-aktiv tapşırıqlar - «yaşıl» saatlarda.
Dinamik SLO: arxa planlar üçün enerjiyə qənaət etmək üçün gecikməni artıra bilərsiniz.
Prioritetləşdirmə: kritik sorğular «enerji kvotaları» alır, aşağı prioritet - təxirə salınır.
python if energy_budget.low() and req.priority == "low":
return 429_DEFER process(req)
11) Təhlükəsizlik, gizlilik və uyğunluq
Hardware sürətləndirmə ilə şifrləmə (AES-NI/ARMv8 Crypto) - az CPU/W.
PII minimallaşdırma saxlama/analitika yükünü azaldır.
Log: toplama, maskalama və TTL - yığma/saxlama enerjisinə qənaət edir.
12) Anti-nümunələr
Xidmətlər arasında həddindən artıq mikroservis və «söhbətlər».
Qlobal replikasiya «hər ehtimala qarşı».
Sıfır TTL cache və stale qadağan.
Filtr/indekslər/partiyalar olmadan tam skanerlər.
Jittersiz daimi retralar → şəbəkə fırtınaları.
Evristika kifayət qədər olan yerdə «böyük modeldən» istifadə.
Ağır log formatları və «hər şeyi əbədi olaraq loge».
13) Mini reseptlər və nümunələr
13. 1 Adaptiv cavab sıxılması
python def maybe_compress(resp, cpu_load, size):
if size > 641024 and cpu_load < 0.6:
return compress_zstd(resp, level=5)
return resp # мелкие/дорогие по CPU ответы не сжимаем
13. 2 Evristika batching inferens
python batch = collect_until(max_items=64, max_wait_ms=8)
result = model.infer(batch) # ↑ утилизация ускорителя, ↓ Дж/запрос
13. Hadisələr üçün 3 ILM/TTL
yaml dataset: events lifecycle:
- hot: 7d # NVMe
- warm: 90d # SSD + zstd
- cold: 365d # object store
- delete
13. 4 Karbon məlumatlı ETL
python co2 = kwh_estimate(job) grid_factor(region, now())
if co2 > job.threshold and job.deferable:
delay(job, until=next_green_window())
else:
run(job)
14) Memarın yoxlama siyahısı
1. Enerji (J/req, kWh/cob) və karbon (gCO ₂ e/req) SLI müəyyən?
2. Xidmətlər/xüsusiyyətlər/tenantlar üzrə enerji atributu modeli varmı?
3. Transfer tapşırıqları üçün karbon məlumatlı planlayıcı tətbiq olunur?
4. Mikroservislər söhbəti minimuma endirir (aqreqasiya, batches, gRPC/HTTP3)?
5. coalescing və stale-while-revalidate rejimi ilə caches özelleştirilmiş?
6. Depolama, ILM/TTL daxil, məlumat formatları optimaldır?
7. ML: distillə/kvantlama/batching/inferens kompilyasiya istifadə olunur?
8. CI/CD-də J/req Δ enerji-smoke, bazlaynlar və geytalar var?
9. Edge/CDN/regional yerləşdirmə egress və marşrutları minimuma endirir?
10. Workers üçün DVFS/power-capping/idle daxil?
11. Log/Metrics/Traces split və əhəmiyyətinə görə retenshn var?
12. «Yaşıl» runbook sənədləşdirilmişdir: enerji çatışmazlığı zamanı nə söndürmək/deqradasiya etmək lazımdır?
Nəticə
Enerji səmərəli memarlıq «son optimallaşdırma» deyil, alqoritmlərdən və formatlardan tutmuş «yaşıl» bölgəyə və CI/CD-yə girtlərə qədər strateji keyfiyyət təbəqəsidir. Joulları ölçün, karbonu nəzərə alaraq planlaşdırın, qarşılıqlı əlaqəni asanlaşdırın, məlumatları sürətləndirin və sürətləndiriciləri «J/əməliyyatı» azaldan yerdə istifadə edin. Beləliklə, daha sürətli, daha ucuz və daha ekoloji cəhətdən təmiz bir platforma əldə edəcəksiniz - məhsul dəyərinə görə heç bir güzəşt olmadan.