Předcházení rizikům a bezpečnostním hrozbám dříve než nastanou je levnější, než je pak řešit. Toho lze dosáhnout sledováním miliónů entit v reálném čase, analýzou jejich chování a následně například optimalizací jejich pohybu.
Odpovědí na požadavek tak vysokého výpočetního výkonu je v nových serverech Minsky (IBM OpenPower S822LC) s procesory Power8 a s nejnovějšími grafickými akcelerátory Nvidia Tesla P100 propojených superrychlým NVlinkem a v paralelní in-memory databázi Kinetica. Vypilované spojení optimalizovaného softwarového stacku a nejnovějších hadrwarových technologií přináší zákazníkům výrazné úspory, a zároveň otevírá dříve nemyslitelné možnosti práce s velkými objemy dat v reálném čase.
Nejnovější serverové technologie IBM Power, pracující s Nvidia GPU a CPU IBM Power8, umožňují díky svému vysokému výkonu a za pomoci paralelní in-memory databáze Kinetica řešit mimo jiné i prediktivní odhalování bezpečnostních rizik sledováním stovek miliónů objektů v reálném čase. Kinetica umožňuje vizuální a geolokační zobrazování dat přímo na mapových a grafických podkladech, nebo například on-line analýzy typu „Pacient Zero“, různé typy „Heat Maps“ apod.
Kinetica – dříve GPUdb
Kinetica, dříve GPUdb je moderní, real-time OLAP analytická a vizualizační databáze, napsaná a navržená pro geoprostorová streamovaná data zpracovávaná v reálném čase, takže běžné analytické OLAP dotazy umí vracet za méně než sekundu už v grafické podobě (výstupem je většinou obrázek nebo graf prezentovatelný i na mobilním zařízení). A to i v případě, že pracuje s miliardami záznamů. U klasické RDBMS databáze by šlo o zpracování v řádech desítek nebo stovek minut nebo hodin, v závislosti na velikosti zpracovaného datového setu a výkonu databázového serveru. Navíc by se musel použít ještě analytický a vizualizační nástroj, což v součtu dává podstatně pomalejší (10-100x), off-line a podstatně dražší řešení. Databáze Kinetica zároveň výborně škáluje a lze jednoduše vytvořit klastr několika desítek nódů se sdílenou pamětí pomocí Infiniband sítě s RDMA.
Za svůj moderní a unikátní přístup k datům a rychlost získala Kinetica v letošním roce (2016) řadu prestižních ocenění jak v komerčním světě např. IDC Award, tak i ve světě HPC, například HPC Innovation Excellence 2016. Kromě výkonného databázového stroje je základem i komunikace s okolním světem pomocí moderních API pro Javu, JavaScript, C++, Node.js, REST, Python a konektory open source pro práci s velkými objemy dat pro Apache NiFi, Kafka, Spark, Storm, ODBC/JDBC apod.
Začalo to u armády
Jako vše nové v oblasti informačních technologií, například internet, i Kinetica byla původně armádním projektem pro sledování osob s bezpečnostním rizikem, který je však dnes k dispozici i pro komerční účely.
Mezi zákazníky využívající databázi Kinetica dnes tedy patří mimo silové a bezpečnostní složky také komerční subjekty. Jedním z nejznámějších je americká pošta USPS, která v reálném čase monitoruje 15 tisíc uživatelů a cca. 200 tisíc zařízení. Tím dosáhli on-line optimalizace v reálném čase pro doručování zásilek přesným plánováním cest, eliminací potenciálních nebezpečí zdržení doručení, společně s maximálním bezpečnostním zajištěním doručovatelů a samotných zásilek. Podle USPS doručí za čtyři hodiny více individuálních zásilek než tři hlavní konkurenti dohromady za jeden rok, a tudíž se jim investice do těchto moderních technologií rychle vrátily nazpět.
Na čem Kinetica dobře běží
Vhodným serverem pro analytické účely databáze Kinetica je IBM OpenPower S822LC určený pro HPC a technické výpočty. Jeho cena je závislá na konkrétní konfiguraci serveru, přičemž nejdražší jsou akcelerátory GPU, nicméně s ohledem na výkon více než deseti TFLOPs (GPU) u nejmenší konfigurace se dvěmi GPU a více než tisícem SPECint_rate2006 (CPU) je cena velice zajímavá. Zejména při srovnání, pokud bychom chtěli podobně výkonný klastr sestavit z komoditních serverů. Licenční model Kinetica je vázaný na kapacitu využité paměti, podobně jako jiné in-memory databáze.
Samotný princip databázového stroje je založen na sofistikovaném rozložení jednotlivých dotazů přes tisíce jader v akcelerátorech GPU, v případě nejnovějšího serveru IBM Power S822LC je to nejnovější Nvidia Tesla P100 s 3840 GPU jádry a extrémním výkonem 5,3 TFLOPsů (tera) DPFP64. Servery IBM umožňují osazení dvěma, resp. čtyřmi GPU a až 1 TB paměti, v případě použití adaptéru s vodním chlazením dokonce boostování frekvencí u GPU a CPU.
Portfolio serverů IBM Power System nabízí také levnější varianty, kde lze přes PCIe sběrnici použít grafické akcelerátory Nvidia K40, resp. K80, a cena těchto serverů začíná na šesti tisících dolarech (katalogová cena pro USA). Vzhledem k tomu, že Kinetica úzce spolupracuje s IBM na adopci nejnovějších technologií Power, můžeme v brzké budoucnosti očekávat rozšíření funkcionality o unikátní CAPI rozhraní, která mají všechny servery IBM Power umožňující připojení dalších akcelerátorů FPGA přímo k CPU a RAM. Rozhraní CAPI s adaptéry FPGA se dnes například používá pro akceleraci databáze RedisLabs, nebo offloadování kompresních algoritmů GZIP/zlib, kdy jeden fyzický 2U server a 2U IBM flash pole u klastru RLEC je schopné nahradit 24 komoditních serverů s interními disky, a tím minimálně 3x snížit cenu řešení a podstatně zjednodušit implementaci.
Server IBM S822LC Minsky pro HPC
Spojení nejnovějších technologií Power8 a Nvidia umožnilo vytvořit unikátní server, a sice IBM S822LC Minsky pro HPC (High Performance Computing). Akcelerátory Nvidia GPU K40/80 jsou ve standardní nabídce ostatních serverů IBM Power využívající sběrnici PCIe. Nový server Minsky však umožňuje jako první na světě propojit CPU a GPU pomocí NVLinku, který představuje zásadní výkonový nárůst díky podstatně vyšší propustnosti a podstatně nižší latenci, než po běžné sběrnici PCIe. V serverech Minsky jsou rovněž použity nejnovější akcelerátory GPU Pascal P100, dosahující podstatně vyššího výkonu než předchozí generace Nvidia GPU. U aplikací, které silně využívají komunikaci mezi jádry např. databáze Kinetica, je narůst výkonu s NVlinkem 3-10x vyšší než při běžné komunikaci po PCIe. Minsky kromě GPU, CPU a NVlinku používá standardní, běžně používané serverové komponenty standardních serverů x86 od jejich tradičních výrobců, například paměťové moduly DDR4, síťové a diskové adaptéry, NVMe, SSD a HDD disky od stejných výrobců. Minsky umí adresovat až 1TB paměti sdílené s GPU, dodává se v provedení 2U pro montáž do racku a umožňuje osazení až čtyřmi GPU Nvidia P100 a až dvaceti jádry IBM Power8. Pro extrémní výkon nabízí Minsky vodou chlazený adaptér na aktivní komponenty CPU/GPU s možností boostovaní jejich frekvencí. V případě klastru jsou ve standardní nabídce adaptéry EDR Infiniband pro maximální efektivitu komunikace mezi jednotlivými uzly.
Proč jméno Minsky
Server Minsky byl původně ohlášen pod kódovým jménem Garrison, nicméně před uvedením na trh bylo jméno změněno na Minsky, podle významného, v lednu zesnulého vědce v oblasti výzkumu umělé inteligence a jednoho ze zakladatelů Massachusettského technologického institutu, Marvina Lee Minskyho.
Servery IBM Power jsou historicky známé svojí spolehlivostí a vysokým výkonem, jako jediné jsou čipy PowerPC schopné obstát v náročném prostředí drsných podmínek vesmíru, IBM Power je aktuálně nejpoužívanější serverová RISCová platforma na světě. Od roku 2013 obohacují svými inovacemi Power servery také partneři z OpenPower konsorcia (Samsung, Nvidia, Mellanox, Google, Tyan, Nallatech, SuperMicro, Wistron, RackSpace, Micron a stovky dalších jako RedisLabs, Acer, SanDisk, Hitachi, NEC, Ubuntu, Suse, Bull, Brocade, Inspur, OAK RIDGE National Laboratory, GPUdb atd.).
Další oblasti využití
Další možné typické využití je v oblasti kybernetické bezpečnosti real-time sledováním anomálií běžného komunikačního provozu.
Jeden z největších retailových řetězců zase nahradil kvůli několikanásobně vetší rychlosti Kineticou jednu klasickou komerční in-memory databázi za účelem sledování zboží v obchodech a optimalizace jeho prodeje s ohledem na asociační vazby mezi jednotlivými produkty, informacemi ze sociálních sítí a počasím.
Kromě predikce vzniku rizikových událostí, například sledováním objektů v nebezpečných oblastech a jejich vzájemné přiblížení nebo dokonce interakce, je další důležitou vlastností nasazení takovéhoto řešení optimalizace nákladů efektivním vyhodnocením aktuálních informací a optimální reakcí na vzniklou událost.
Například v případě vzniku živelné události jako je povodeň, zemětřesení nebo hromadná dopravní nehoda, lze selektivně na základě real-time informací z databáze Kinetica přemísťovat zdroje (jednotlivé články záchranného systému) do místa události, a to včetně zdrojů, které sice nejsou v danou chvíli ve službě, avšak jsou v určité geografické vzdálenosti od místa události, a tím radikálně snížit náklady na vyřešení vzniklé situace. Jelikož dnes existuje celá řada zařízení včetně mobilních telefonů, která umějí udávat geografickou polohu, lze takto vytvořit například on-line registr zdrojů, jako jsou například lékaři, hasiči, automobily lékařské služby, policejní auta apod., optimalizovat jejich pohyb, a tím zásadně urychlit jejich přesun k místu události.
Radek Špimr je specialistou IBM Power Systems na vysoké pracovní zátěže HPC a technické výpočty; případné dotazy na: mailto:radek_spimr@cz.ibm.com