Wnioski
Niniejsza praca podjęła kwestię energetycznej efektywności środowisk uruchomieniowych
JavaScript wkontekście serverless — obszar dotychczas niezbadany empirycznie, mimo
rosnącego znaczenia energooszczędności infrastruktury chmurowej. Zaprojektowaliśmy
iprzeprowadziliśmy sześć kontrolowanych eksperymentów na dwóch niezależnych platformach
bare-metal (P1: Intel Core i7-6700/Skylake; P2: Intel Xeon E-2176G/Coffee Lake;
pomiar via RAPL sysfs), gromadząc pomiarów głównych
i~ pomiarów dla analizy skalowalności JIT. Poniżej podsumowujemy odpowiedzi
na pytania badawcze oraz wkłady, które ta praca wnosi do dziedziny.
Odpowiedzi na Pytania Badawcze
RQ1 — Metodologia pomiarowa.
Opracowany protokół wykazał, że rzetelny pomiar energii JS runtimeów wymaga conajmniej
iteracji rozgrzewki JIT (wyżej niż sugerowane –
wliteraturze dla mikro-benchmarków) oraz stosowania filtru IQR
doeliminacji skoków GC. Wpływ skoków GC na medianę energii wyniósł
dla badanych workloadów, potwierdzając, że standardowe odśmiecanie pamięci nie wprowadza
istotnego szumu pomiarowego przy izolowanych benchmarkach bez długożyjących alokacji.
Współczynnik zmienności (CV) poniżej dla z konfiguracji potwierdza
wysoką powtarzalność protokołu.
RQ2 — Czy alternatywne środowiska uruchomieniowe są energetycznie efektywniejsze od Node.js?
Tak — ale odpowiedź jest zależna od kategorii workloadu. Bun zużywa o~ mniej
energii od Node.js przy workloadach I/O-bound io mniej przy CPU-bound.
Deno osiąga oszczędność przy workloadach memory-bound. Jedyną kategorią,
wktórej Node.js jest liderem energetycznym, jest renderowanie po stronie serwera
(SSR), gdzie V8/Turbofan dysponuje dojrzałymi specjalizacjami dla operacji
naciągach znakowych ( vs Bun). Wszystkie pary (runtime, workload) wykazują
istotność statystyczną na poziomie (test Manna-Whitneya)
z~dużą wielkością efektu (, Cohen).
RQ3 — Jakie cechy workloadu determinują wybór optymalnego środowiska uruchomieniowego?
Kluczowym wyznacznikiem jest charakter operacji dominujących wworkloadzie.
Workloady I/O-bound preferują Bun ze względu na eliminację narzutu Cold Start preferują Bun z~uwagi
na krótszy czas osiągania plateau JIT ( vs dla V8).libuv
przez natywne wywołania systemowe. Workloady memory-bound preferują Deno dzięki
agresywniejszej kompilacji Maglev/Turbofan dla stabilnych struktur danych.
Workloady SSR (string-intensywne) preferują Node.js ze względu na dojrzałość
specjalizacji Turbofan. Workloady CPU-bound i
RQ4 — Amortyzacja JIT adecyzje outrzymaniu ciepłej instancji.
Próg amortyzacji JIT dla V8 (Node.js, Deno) wynosi wywołań — poniżej
tej granicy energia per wywołanie jest nawet wyższa niż w~stanie steady-state.
Bun/JavaScriptCore osiąga plateau wcześniej (), co czyni go bardziej
przewidywalnym energetycznie dla funkcji FaaS wywoływanych rzadko. Wynik ten uzupełnia
model LACE-RL Sun et al. (2026), pokazując, że parametr energetyczny per runtime
nie jest stały, lecz silnie zależny od liczby wywołań per instancja.
RQ5 — Wielokryterialny model decyzyjny.
Model TOPSIS () wykazał rozbieżność zrankingiem
opartym wyłącznie na latencji: dla kategorii Mixed REST preferuje Bun
(lepszy energetycznie o przy porównywalnej latencji) zamiast Deno.
Analiza wrażliwości potwierdza stabilność rekomendacji przy zmianach wag
wzakresie . Jednorodność
dla wszystkich trzech runtimeów empirycznie waliduje domyślny parametr modelu LACE-RL
iwskazuje, że wybór środowiska uruchomieniowego nie powinien wpływać na politykę keep-alive w~platformach
carbon-aware FaaS.
RQ6 — Stabilność rankingów między mikroarchitekturami.
Powtórzenie eksperymentu JE-EXP-1 na platformie P2 (Intel Xeon E-2176G, Coffee Lake)
potwierdziło 100% stabilność rankingów — wszystkie 6z6workloadów wykazuje
identyczną kolejność runtimeów na obu platformach. Wartości bezwzględne energii[J] są
wyższe na P2 proporcjonalnie do TDP (), lecz proporcje między runtimeami
różnią się omniej niż uzasadnia ich użycie jako wytycznych
dla operatorów platform FaaS niezależnie od konkretnej generacji CPU.punkty procentowe. Wynik potwierdza generalizowalność wniosków
zP1 na klasy platform x86-64 server-grade i
Wkłady Badawcze
-
Protokół pomiarowy dla JS runtimeów — standaryzowana procedura pomiaru energii uwzględniająca warm-up JIT () i
filtrowanie skoków GC (IQR 1{,}5); stanowi metodologiczną podstawę dla przyszłych badań energetycznych nad JavaScript wdowolnym środowisku. -
\textbf{Pierwsza empiryczna analiza energetyczna Node.js, Deno i
Bun nadwóch platformach sprzętowych} — systematyczny eksperyment na dwóch serwerach bare-metal zpomiarem RAPL (P1: i7-6700/Skylake; P2: Xeon E-2176G/Coffee Lake), obejmujący 6kategorii workloadów 50 powtórzeń per konfiguracja ( pomiarów). Rankingi są 100% stabilne (6/6 workloadów) między mikroarchitekturami. Wyniki falsyfikują hipotezę oliniowej korelacji ranking wydajnościowy ranking energetyczny — przewaga energetyczna Bun () przy I/O-bound jest proporcjonalnie większa niż wydajnościowa (), aNode.js jest liderem energetycznym przy SSR mimo gorszych wyników w~benchmarkach throughputu. -
Analiza amortyzacji JIT dla platform FaaS — empiryczne wyznaczenie progu dla V8 i~ dla JavaScriptCore, z
bezpośrednią implikacją dla strategii keep-alive wniskoruchu serverless. -
Empiryczna walidacja parametru LACE-RL — potwierdzenie dla wszystkich trzech runtimeów, co
stanowi samodzielny wkład metodologiczny uzupełniający model carbon-aware FaaS oeksperymenty empiryczne. -
Model TOPSIS dla wyboru środowiska uruchomieniowego — wielokryterialny ranking środowisk uruchomieniowych JavaScript uwzględniający energię, latencję i
szacunkowy koszt operacyjny, zanalizą wrażliwości wag i~interpretacją dla inżynierów platform serverless. -
Publiczny benchmark suite — otwarty zestaw workloadów i
skryptów pomiarowych (https://github.com/kamilwa/js-runtime-energy, licencja MIT) umożliwiający reprodukcję wyników irozszerzenie o~kolejne środowiska uruchomieniowe (np. WinterJS, Cloudflare Workers).
Ograniczenia i~Kierunki Przyszłych Badań
Praca obejmuje dwie mikroarchitektury x86-64 (Skylake i~Coffee Lake), potwierdzając stabilność rankingów. Uogólnienie na architektury ARM (Apple M-series, Ampere Altra) oraz nowsze mikroarchitektury Intel (Raptor Lake, Sapphire Rapids) wymaga jednak dalszej walidacji — stanowi to priorytetowy kierunek przyszłych badań. Pomiar DRAM był dostępny tylko na P2 (E-2176G): domena RAPL PP1/DRAM niedostępna na i7-6700 może niedoszacowywać przewagi Deno przy workloadach pamięciocentrycznych na P1, choć rankingi obu platform są tożsame.
Spośród kierunków badań wyróżnionych wSekcji[→] zanajbardziej
obiecujące uznajemy: (1)pomiaru marginal energy pod obciążeniem współbieżnym, który lepiej
odzwierciedla rzeczywiste warunki platform multi-tenant.replikację na platformie ARM (Ampere Altra) zlicznikiem PMU,
weryfikującą czy przewaga Bun przy I/O wynika ze specyfiki x86 czy architektury
JavaScriptCore; oraz (2)zastosowanie metodologii FaasMeter1
do
Podsumowanie
Badanie pokazuje, że wybór środowiska uruchomieniowego JavaScript ma wymierny
iistotny statystycznie wpływ na zużycie energii wkontekście serverless — różnice
sięgają między najlepszym anajgorszym runtimem przy workloadach I/O-bound.
Jednocześnie wyniki obalają uproszczone podejście „zamień Node.js na Bun aby zaoszczędzić
energię”: dla aplikacji SSR taka migracja może zwiększyć zużycie energii.
Inżynierowie ioperatorzy platform powinni przeprowadzać analizę charakterystyki
workloadu przed podjęciem decyzji owyborze środowiska uruchomieniowego — aniniejsza praca dostarcza
zarówno metodologii pomiaru, jak iempirycznych danych dowsparcia tej decyzji.
Bibliografia
Footnotes
-
Rehman, Fuerst, Sharma (2024). FaasMeter: Energy-First Serverless Computing. arXiv:2408.06130 ↩