Prostředí pro simulaci rozsáhlých sítí odběrných míst v energetice Filip Procházka Mycroft Mind filip.prochazka@mycroftmind.com Mycroft Mind introduction Mycroft Mind, a.s. Jundrovská 618/31, 624 00 Brno, Česká republika +420 511 112 170, Info@mycroftmind.com, www.mycroftmind.com Company founded at 2007 Specialized in Complex Event Processing (CEP) technology and its applications like smart grids fraud detection sensor networks Closely cooperates with research institutions in Brno Změny v energetice Změna paradigmatu od centralizované soustavy s jednosměrným tokem od velkých zdrojů energie k decentralizované soustavě s distribuovanými zdroji a obousměrnými toky Proč vyšší odolnost soustavy snížení závislosti na ropě a plynu zapojování obnovitelných zdrojů energie úspornost a efektivita Bez měření není řízení – smart meter „průmyslový počítač“ instalován místo klasického elektroměru měří spotřebu odběrného místa – typicky v 15 minutových intervalech měří kvalitu dodávky detekuje události (otevření krytu, …) data odesílá do datového koncentrátoru typicky pomocí PLC, GPRS, BPL, … dovede přijímat příkazy (omez spotřebu na danou mez, odpoj odběrné místo…) Smart metering v ČR Projekt WPP AMM realizovaný skupinou ČEZ Trvání projektu: 2010 - 2013 Instalace cca 35.000 smart meterů ve čtyřech odlišných lokalitách 5 typů smart-meterů 3 různé datové centrály integrace se systémy ČEZu Jak se smart metery komunikovat Výsledky pilotního provozu v rámci reálného nasazení 35.000 smart meterů bylo identifikováno několik alternativních přístupů (četnost čtení, push / pull protokoly, technologie datových koncentrátorů, technologie datových centrál) dále bylo prověřeno chování celého systémy a identifikovány poruchy, problémy a mezní situace je prověřeno jak se bude chovat systém zpracovávající 35.000 smart meterů … a teď doopravdy 3.500.000 odběrných míst v síti ČEZ x 96 měření každý den x 365 dní …………………………………... 122.640.000.000 každý rok Jak se navržený systém bude chovat při plném nasazení: 3.500.000 smart meterů? Zkusme to nasimulovat! 1. Kde vzít výpočetní infrastrukturu pro takovýto test? 2. Jak simulovat chování 3.500.000 smart meterů? 3. Jak monitorovat a vyhodnotit chování celého systému při jednotlivých testovacích scénářích? Historie Původní představa o simulačních testech WPP AMM jednorázový test na pronajaté infrastruktuře (Amazon, Indie, …) Návrh Mycroft Mind a Masarykovy Univerzity opakovaně použitelné, rozvíjející se simulační prostředí na akademické infrastruktuře zapojení studentů do dalšího rozvoje a výzkumu Přínosy simulačního testování otestovat si chování rozsáhlého systému s cílem identifikovat úzká místa vyzkoušet si alternativní řešení a konfigurace prověřit nové technologie (např. in-memory database) zjistit si potřebnou kapacitu výpočetní infrastruktury pro požadovaný rozsah řešení ověřit chování systémů při mezních situacích (rozsáhlejší výpadky, …) porovnat si marketing a realitu Rámec testu Z pilotního provozu 35k smart meterů odvodit předpokládanou topologii a chování větší sítě odběrných míst – 100k, 3500k Zprovoznit IT infrastrukturu, do které lze umístit datové centrály v konfiguraci navržené dodavateli dimenzované pro 3500k smart meterů Simulovat chování sítí 100k a 3500k smart meterů a zpracovávat zasílaná data V průběhu testu sbírat data o vytížení IT infrastruktury a jednotlivých komponent testovaných systémů Infrastruktura součást národní e-infrastruktury - systému vzájemně propojených síťových, výpočetních a úložných kapacit a souvisejících služeb výzkum v oblasti rozsáhlých výpočetních kapacit Masarykova Univerzita – CERIT-SC Prostředí na Cerit-SC SMP clustery (uzel 80 jader, 512 GB RAM) HD clustery (uzel:12 jader, 96GB RAM) propojení uzlů: ethernet 10 Gbit/s a 1Gbit/s, Infiniband 40Gbit/s virtualizované prostředí – KVM správce cloudu – Open Nebula virtuální servery Windows i Linux Infrastruktura pro test 3500k SN1 SN2 SN3 SN4 SN5 SN6 SN7 HES1 HES2 HES3 HES4 HES5 HES6 HES7 HES8 AS DB MS Simulační servery (Linux, virtual) HES servery (Windows, virtual) Aplikační server (Linux, virtual) Databázový server (Linux, fyzický) Monitorovací server (Linux, virtual) Traffic shaper na každém simulačním uzlu řeší pro každý simulační uzel packet loss latency 70% 15% 10% 5% Latence do 800ms, packet loss 1% Latence do 1.2s, packet loss 15% Latence do 1.5s, packet loss 30% Latence do 2s, packet loss 40% Simulátor sítě odběrných míst Požadavky vygenerovat síť odběrných míst dle zadaných parametrů (rozložení smart-meterů na koncentrátorech, typy smartmeterů, kvalita komunikačních kanálů, …) vygenerovat předpis chování sítě smart-meterů (frekvence posílání dat, dostupnost data koncentrátorů a smart-meterů, výpadky, …) simulovat chování vygenerované sítě pomocí vygenerovaného předpisu (komunikace s testovaným systémem) 10Gb/s low-latency L2 network infrastructure Simulační plán Virtual machine host Physical network interface Kernel level traffic shaping (per connection packet rate, latency, jitter, loss) Simulační uzel 1 (až 10.000 virtuálních datových koncentrátorů) virtual network interface Virtual machine • krok 1: počkej • na časový okamžik • až uplyne určená doba • na pokyn • krok 2: učin dostupná měření z daných koncentrátorů a smart meterů (v případě push měření pošli) • krok 3: počkej • krok 4: vygeneruj a pošli data • krok 5: … Communication sever (HES) Virtual machine host Physical network interface virtual network interface Virtual machine Schéma simulátoru Simulátor: Generátor topologie gridu Generátor topologie sítě Vstupní parametry počet datových koncentrátorů procentuelní rozložení počtu smart meterů na datových koncentrátorech (35% smart datových koncentrátorů na sobě má 1 až 40 smart meterů) procentuelní rozdělení do tříd kvality komunikačního kanálu procentuelní rozdělení datových koncentrátorů do tříd dostupnosti procentuelní rozdělení smart-meterů do tříd dostupnosti informace o infrastruktuře (IP adresy, porty HES serverů a simulačních uzlů) procentuelní rozložení dvoutarifních a jednotarifních OM Výstupy Kmenová data pro import do datových centrál (CSV soubor) Histogramy pro vizualizaci charakteristik vygenerované sítě (CSV soubory) Export sítě pro vizualizaci v programu Cytoscape (CSV soubor) Kmenová data … … 10000000;0;baaaaa;10000;baa;10000000;10000000;VIEM_LG_PUSH;true;200;400;2.0843;4.1686;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000001;1;baaaaa;10000;baa;10000001;10000001;VIEM_LG_PUSH;true;200;400;2.3293;4.363;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000002;2;baaaaa;10000;baa;10000002;10000002;VIEM_LG_PUSH;true;200;400;2.1825;4.1953;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000003;3;baaaaa;10000;baa;10000003;10000003;VIEM_LG_PUSH;true;200;400;2.0868;4.2045;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000004;4;baaaaa;10000;baa;10000004;10000004;VIEM_LG_PUSH;true;200;400;2.1001;4.2317;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000005;5;baaaaa;10000;baa;10000005;10000005;VIEM_LG_PUSH;true;200;400;2.2011;4.7316;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000006;6;baaaaa;10000;baa;10000006;10000006;VIEM_LG_PUSH;true;200;400;2.0881;4.1722;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000007;7;baaaaa;10000;baa;10000007;10000007;VIEM_LG_PUSH;true;200;400;2.1016;4.3344;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000008;8;baaaaa;10000;baa;10000008;10000008;VIEM_LG_PUSH;true;200;400;2.1842;4.3665;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000009;9;baaaaa;10000;baa;10000009;10000009;VIEM_LG_PUSH;true;200;400;2.1132;4.2221;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000010;10;baaaaa;10000;baa;10000010;10000010;VIEM_LG_PUSH;true;200;400;2.1534;4.2254;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000011;11;baaaaa;10000;baa;10000011;10000011;VIEM_LG_PUSH;true;200;400;2.089;4.1696;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000012;12;baaaaa;10000;baa;10000012;10000012;VIEM_LG_PUSH;true;200;400;2.2083;4.2846;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000013;13;baaaaa;10000;baa;10000013;10000013;VIEM_LG_PUSH;true;200;400;2.1235;4.2262;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000014;14;baaaaa;10000;baa;10000014;10000014;VIEM_LG_PUSH;true;200;400;2.0869;4.1736;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000015;15;baaaaa;10000;baa;10000015;10000015;VIEM_LG_PUSH;true;200;400;2.3166;4.7847;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000016;16;baaaaa;10000;baa;10000016;10000016;VIEM_LG_PUSH;true;200;400;2.1373;4.2411;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000017;17;baaaaa;10000;baa;10000017;10000017;VIEM_LG_PUSH;true;200;400;2.1198;4.2267;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000018;18;baaaaa;10000;baa;10000018;10000018;VIEM_LG_PUSH;true;200;400;2.1628;4.1667;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000019;19;baaaaa;10000;baa;10000019;10000019;VIEM_LG_PUSH;false;200;0;2.1723;0.0;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000020;20;baaaaa;10000;baa;10000020;10000020;VIEM_LG_PUSH;false;200;0;2.1499;0.0;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000021;21;baaaaa;10000;baa;10000021;10000021;VIEM_LG_PUSH;false;200;0;2.0995;0.0;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000022;22;baaaaa;10000;baa;10000022;10000022;VIEM_LG_PUSH;false;200;0;2.1207;0.0;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000023;23;baaaaa;10000;baa;10000023;10000023;VIEM_LG_PUSH;false;200;0;2.1072;0.0;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 10000024;24;baaaaa;10000;baa;10000024;10000024;VIEM_LG_PUSH;false;200;0;2.2423;0.0;90010000;10.18.1.3;15000;baaaa;10.100.00.01;10.18.1.14 …. …. Počty smart-meterů na koncentrátorech (grid 100k) 0 5 10 15 20 25 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 152 178 226 249 276 298 317 338 361 401 420 444 488 Rozložení dostupností (grid 100k) sm 33% sm 67% sm 100% sm 0% sm 33% sm 67% sm 100% sm 0% sm 33% sm 67% sm 100% sm 0% sm 33% sm 67% sm 100% dc 100% dc 60% dc 70% dc 85% Celkem 1330 1330 62797 129 129 129 4926 230 230 230 10503 338 338 338 15750 0 10000 20000 30000 40000 50000 60000 70000 Cytoscape – vizualizace části gridu Simulátor: generátor chování gridu Simulační plán Na základě parametrů generovaný předpis popisující KDY se KAM budou JAKÁ měření posílat ( M x N XML souborů – M je počet simulačních uzlů, N je požadovaná časová segmentace souborů) Vstupní parametry délka kroku (15 minut) počet kroků (3 dny po 15 minutách – 288 kroků) časová známka měření z prvního kroku interpretace tříd dostupnosti datových koncentrátorů (např. třída dostupnosti DC-B odpovídá 70% denní dostupnosti) interpretace tříd dostupnosti smart meterů (např. třída dostupnosti SM-C odpovídá 33% denní dostupnosti) počet vzorů dostupnosti v dané třídě dostupnosti datových koncentrátorů a smart meterů Výstupy vygenerované simulační plány (XML soubory) sumární shrnutí simulačního plánu (CSV soubor) sumarizace vzorů chování tříd dostupnosti (CSV soubor) Výstupy – simulační plán Sumarizace plánu 0 20000 40000 60000 80000 100000 120000 140000 0:00 1:15 2:30 3:45 5:00 6:15 7:30 8:45 10:00 11:15 12:30 13:45 15:00 16:15 17:30 18:45 20:00 21:15 22:30 23:45 1:00 2:15 3:30 4:45 6:00 7:15 8:30 9:45 11:00 12:15 13:30 14:45 16:00 17:15 18:30 19:45 21:00 22:15 23:30 Početmeterů PočetLP15 Výstupy – příklady komunikačních vzorů koncentrátorů 0 0,5 1 1,5 2 2,5 3 3,5 0:00 1:15 2:30 3:45 5:00 6:15 7:30 8:45 10:00 11:15 12:30 13:45 15:00 16:15 17:30 18:45 20:00 21:15 22:30 23:45 1:00 2:15 3:30 4:45 6:00 7:15 8:30 9:45 11:00 12:15 13:30 14:45 16:00 17:15 18:30 19:45 21:00 22:15 23:30 0 1 2 3 4 5 6 7 8 9 10 0:00 1:15 2:30 3:45 5:00 6:15 7:30 8:45 10:00 11:15 12:30 13:45 15:00 16:15 17:30 18:45 20:00 21:15 22:30 23:45 1:00 2:15 3:30 4:45 6:00 7:15 8:30 9:45 11:00 12:15 13:30 14:45 16:00 17:15 18:30 19:45 21:00 22:15 23:30 Vzor A (dostupnost 85% času) Vzor C (dostupnost 60% času) Výstupy – příklady komunikačních vzorů smart-meterů 0 1 2 3 4 5 6 7 8 9 10 0:00 1:15 2:30 3:45 5:00 6:15 7:30 8:45 10:00 11:15 12:30 13:45 15:00 16:15 17:30 18:45 20:00 21:15 22:30 23:45 1:00 2:15 3:30 4:45 6:00 7:15 8:30 9:45 11:00 12:15 13:30 14:45 16:00 17:15 18:30 19:45 21:00 22:15 23:30 Vzor C (dostupnost 33% času) 0 2 4 6 8 10 12 0:00 1:15 2:30 3:45 5:00 6:15 7:30 8:45 10:00 11:15 12:30 13:45 15:00 16:15 17:30 18:45 20:00 21:15 22:30 23:45 1:00 2:15 3:30 4:45 6:00 7:15 8:30 9:45 11:00 12:15 13:30 14:45 16:00 17:15 18:30 19:45 21:00 22:15 23:30 Vzor B (dostupnost 67% času) Výstupy – kombinace vzorů koncentrátoru a smart-meterů Kombinace DC-C a SM-C Kombinace DC-A ,SM-B 0 1 2 3 4 5 6 7 8 9 0:00 1:30 3:00 4:30 6:00 7:30 9:00 10:30 12:00 13:30 15:00 16:30 18:00 19:30 21:00 22:30 0:00 1:30 3:00 4:30 6:00 7:30 9:00 10:30 12:00 13:30 15:00 16:30 18:00 19:30 21:00 22:30 0 5 10 15 20 25 0:00 1:30 3:00 4:30 6:00 7:30 9:00 10:30 12:00 13:30 15:00 16:30 18:00 19:30 21:00 22:30 0:00 1:30 3:00 4:30 6:00 7:30 9:00 10:30 12:00 13:30 15:00 16:30 18:00 19:30 21:00 22:30 Simulátor: výkonná část Popis Separátní aplikace spuštěná na každém simulačním uzlu Interpretuje simulační plán a vykonává kroky v něm uvedené Komunikuje s HESy pomocí daného protokolu (nyní AGS-DK PUSH) V případě nepotvrzení přijetí zprávy od HESu si nepotvrzené zprávy odkládá do fronty Nedoručené zprávy z daného koncentrátoru se snaží doručovat v dalším kroku, kdy je koncentrátor dostupný Svoji činnost podrobně loguje pro potřeby monitoringu Princip odesílání zpráv Výkonná část simulátoru HES Buffer nedoručených zpráv Zprávy k poslání dle aktuálního kroku simulačního plánu zpráva potvrzení přijetí Monitoring Požadavky sledovat chování jednotlivých HW komponent (CPU, disky, IO operace, síťovou komunikaci, …) sledovat chování jednotlivých SW komponent (vytíženost jednotlivých aplikací, problémy, odezvy, …) propojit informace o tom čím aktuálně simulátor úkoluje celý systém jak se s tím vyrovnávají aplikace jak se s tím vyrovnává infrastruktura Peformance values ICT infrastructure Applications Application logs Value probes Log probes Important values and logs storage (PostgreSQL) Correlations and aggregations (Complex Event Processing) Detailed peformance view (Munin) Test scenario dashboard Test scenario timeline Schéma monitoringu Monitorované veličiny a události výkonnostní charakteristiky Windows a Linux serverů (CPU, disky, IO operace, síťovou komunikaci, …) výkonnostní charakteristiky DB Oracle čerpáním dat z Oracle Automatic Workload Repository (AWR) logy simulační uzly HESy záznamy o průběhu zpracování z EA MDMS aktivní dotazování ping Databáze k dispozici jsou sbírané a odvozené veličiny a události za jednotlivé testovací běhy struktura záznamů kdy událost nastala (v reálném i simulačním čase) typ události typ zdroje (simulátor, HES, databáze, aplikace, munin …) zdroj (jmeno stroje, IP adresa, identifikace DB) hodnota – variabilní dle typu události (počet zpráv, průměrná délka zpracování, …) objem dat – za dvoudenní test 100k smart meterů je nasbíráno cca 547 tisíc záznamů Vizualizace průběhu testu - dashboard sledování aktuálního stavu agregovaných veličin (propustnost aplikačních komponent, vytíženost infrastruktury, …) Simulační testy Proces přípravy testu XML definice infrastruktury Konfigurace generátoru Generátor simulačních plánů Generátor topologie gridu Kmenová data Statistiky Simulační plány Statistiky Simulační uzly Datová centrála Monitorovací server Validace plánu Generování historických dat Test 100k Infrastruktura pro test (100k) SN1 SN2 SN3 SN4 HES1 AS DB MS Simulační servery (Linux, virtual) HES servery (Windows, virtual) Aplikační server (Linux, virtual) Databázový server (Linux, fyzický) Monitorovací server (Linux, virtual) Počty smart-meterů na koncentrátorech (grid 100k) 0 5 10 15 20 25 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 152 178 226 249 276 298 317 338 361 401 420 444 488 Rozložení dostupností (grid 100k) sm 33% sm 67% sm 100% sm 0% sm 33% sm 67% sm 100% sm 0% sm 33% sm 67% sm 100% sm 0% sm 33% sm 67% sm 100% dc 100% dc 60% dc 70% dc 85% Celkem 1330 1330 62797 129 129 129 4926 230 230 230 10503 338 338 338 15750 0 10000 20000 30000 40000 50000 60000 70000 Sumarizace plánu 0 20000 40000 60000 80000 100000 120000 140000 0:00 1:15 2:30 3:45 5:00 6:15 7:30 8:45 10:00 11:15 12:30 13:45 15:00 16:15 17:30 18:45 20:00 21:15 22:30 23:45 1:00 2:15 3:30 4:45 6:00 7:15 8:30 9:45 11:00 12:15 13:30 14:45 16:00 17:15 18:30 19:45 21:00 22:15 23:30 Početmeterů PočetLP15 Test 100k smart meterů Test 100k smart meterů Test 3500k Rozložení meterů na koncentrátorech 0 50 100 150 200 250 300 350 400 450 1 18 35 52 69 86 103 120 137 154 171 188 205 222 239 256 273 290 307 324 341 358 375 393 410 427 444 461 478 495 Rozložení dostupnosti 0 500000 1000000 1500000 2000000 2500000 sm 100% sm 33% sm 67% sm 0% sm 100% sm 33% sm 67% sm 0% sm 100% sm 33% sm 67% sm 0% sm 100% sm 33% sm 67% dc 100% dc 60% dc 70% dc 85% Celkem2312854 48950 48950 3479 161730 3479 3479 6780 324950 6780 6780 10497 492613 10497 10497 Simulační plán 0 500000 1000000 1500000 2000000 2500000 3000000 3500000 4000000 4500000 0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 Další rozvoj podrobnější analýza měřených dat podrobnější simulace komunikačních kanálů podrobnější simulace koncentrátorů a meterů paralelní běh testů využití simulátoru pro modelování problému se solárními panely na střechách hledání optimálních komunikačních strategií … Další rozvoj podrobnější analýza měřených dat podrobnější simulace komunikačních kanálů podrobnější simulace koncentrátorů a meterů paralelní běh testů využití simulátoru pro modelování problému se solárními panely na střechách hledání optimálních komunikačních strategií …