SAS Grid Computing

Požiadavky na IT z hľadiska dodania škálovateľného a spoľahlivého informačného systému a rýchlejšie odozvy pri jeho používaní neustále rastú, tak ako rastie aj objem dát, používateľov a počet aplikácii, ktoré sú použité na riešenie komplexných biznis úloh.

V sumáre sa tieto požiadavky z technického hľadiska dajú zhrnúť do nasledujúcich bodov:

  • prioritizácia úloh a riadenie zaťaženia hardvéru
  • online dostupnosť analytických nástrojov
  • optimalizácia výkonu naprieč všetkými biznis procesmi

SAS Grid Manager poskytuje zdieľané, centrálne riadené analytické výpočtové prostredie, ktoré je špecifické svojou vysokou dostupnosťou, a ktoré poskytuje výrazné zrýchlenie spracovania bežných procesov. Poskytuje správu a prioritizáciu úloh tak, aby bolo možné optimálne spustiť viacero úloh v rovnakom čase, s cieľom maximalizovať celkovú priepustnosť dát.

SAS Grid prostredie umožňuje flexibilne zvyšovať výkon IT infraštruktúry, keďže sa predpokladá, že objem dát a používateľov časom narastie. Takisto toto prostredie umožňuje správu hardware komponentov ako údržbu a upgrady bez prerušenia prevádzky a tým aj dostupnosti prostredia pre používateľov.

SAS produkty a riešenia, ktoré sú nasadené spolu so SAS Grid Manager sú schopné využiť  nasledujúce funkcie v distribuovanom „Grid“ prostredí:

  • plánovanie výpočtových procesov
  • riadenie zaťaženia HW infraštruktúry
  • riadenie paralelných výpočtových procesov

Plánovanie výpočtových procesov (Scheduling) je dôležitá a nevyhnutná potreba v každej spoločnosti, ktorá používa na svoju činnosť spracovanie a analýzu dát. Kľúčovým faktorom je dostupnosť dát z hľadiska ich časového detailu a objemu. Z tohto dôvodu je preto potrebné správne nastaviť systém spracovania dát tak, aby používatelia mali dáta k dispozícii v správnom čase a v požadovanom detaile. SAS Grid Manager obsahuje Schedule Manager Plug-in dostupný v SAS Management Console, pomocou ktorého je možné vytvoriť schémy spracovania dát, ktoré sa skladajú z čiastkových úloh tzv. jobov. Spracovanie jednotlivých schém je možné naplánovať na konkrétny čas resp. iný súbor udalostí. Takto vytvorené schémy sú následne distribuované na spracovanie do SAS Grid prostredia. SAS joby je možné vytvoriť vo viacerých SAS aplikáciách napr. SAS Data Integration Studio, SAS Marketing Automation, SAS Marketing Optimization a SAS Web Report Studio, ktoré sú pripravené na použitie v SAS Grid prostredí.

Riadenie zaťaženia HW infraštruktúry (Workload Balancing) je kritická úloha v prípade, že viacerí používatelia pristupujú k dátam z rôznych SAS aplikácií v rovnakom čase. Toto je bežná situácia v spoločnostiach, ktoré majú vybudované analytické prostredie pre spracovanie a analýzu dát. SAS Grid Manager poskytuje centrálne riadené prostredie, ktoré aplikuje pravidlá na prioritizáciu úloh poslaných na spracovanie v rovnakom čase. Takto spracovávané úlohy s vyššou prioritou je možné spracovať rýchlejšie a teda uprednostniť ich pred úlohami s nízkou prioritou. Takisto aj viaceré úlohy s rovnakou prioritou je možné spracovať rýchlejšie, nakoľko budú rozdistribuované v rámci „Gridu“ na výpočtové uzly, ktoré sa nebudú navzájom ovplyvňovať z hľadiska výkonu a dostupných zdrojov.

Riadenie paralelných výpočtových procesov (Parallel Workloads) je dôležitým komponentom v procesoch spracovávaných v SAS aplikáciách. Tieto procesy sa skladajú z viacerých čiastkových úloh, ktoré sú od seba nezávislé a je ich možné rozdistribuovať v rámci „Gridu“ a spracovať paralelne. Hlavným prínosom distribuovaného paralelného spracovania je výrazné zrýchlenie v spracovaní daného procesu. Viaceré SAS produkty, ako napríklad SAS Data Integration Studio a SAS Enterprise Miner, obsahujú systém generovania kódu, ktorý automaticky rozpozná možnosť paralelného spracovania a vygeneruje kód, ktorý po spustení cez SAS Grid Manager je možné paralelne spracovať  v „Gride“. Okrem toho je možné použiť procedúru PROC SCAPROC, ktorá zanalyzuje už existujúce kódy a vytvorí novú verziu programu tak, aby v tých častiach programu, kde je to možné mohlo byť použité paralelné spracovanie v „Gride“.

„SAS on the Grid“

V súčasnosti už viaceré SAS produkty a riešenia sú pripravené na možnosť začlenenia do „Gridu“. V nasledujúcej tabuľke je prehľad tých najpoužívanejších:

SAS produkt alebo riešenie
Scheduling
Workload Balancing
Parallel Workloads
SAS programs
SAS Data Integration Studio
SAS Enterprise Miner
 
 
SAS Enterprise Guide
 
 
SAS Add-in for Microsoft Office
 
 
SAS Workspace Server
 
 
SAS Stored Process Server
 
 
SAS OLAP Server
 
 
SAS Stored Processes
 
SAS Web Report Studio
 
 
SAS Marketing Automation
 
 
SAS Marketing Optimization
 
 
JMP Genomics
 
 
SAS Risk Dimensions
 
 
SAS for Customer Experience Analytics
 
 
SAS Demand Forecasting for Retail 4.2
 
 
All SAS Solutions
*
*
*

* Väčšina SAS riešení obsahuje v balíku niektorí z produktov uvedených v tejto tabuľke a sú postavené na architektúre SAS servera, ktorý spravuje a spracováva všetky požiadavky SAS aplikácií a používateľov na spracovanie dát. Z tohto dôvodu je tiež výhodné nasadenie komplexných SAS riešení spolu s komponentom SAS Grid Manager.

Príklad architektúry s Grid a Non-Grid procesmi

Z hľadiska podpory „Grid“ architektúry nie je väčšinou možné transformovať všetky komponenty architektúry na použitie v Gride. Z tohto dôvodu je potrebné nastaviť architektúru tak, aby mohli byť spracovávané tak Grid ako aj Non-Grid procesy s tým, že všetky požiadavky budú spracované čo možno najefektívnejšie a podľa prioritného poradia.

Takto navrhnutá architektúra by pozostávala z dvoch skupín výpočtových uzlov:

  • Exclusive Grid
    • Táto skupina uzlov je nakonfigurovaná tak, aby spracovávala požiadavky len z tých komponentov, ktoré sú pripravené na použitie v Gride.
    • Všetky požiadavky na spracovanie sú plne riadené Gridom, pričom odporúčanie je, aby do tejto skupiny uzlov boli posielané len vysoko prioritné požiadavky a požiadavky posielané užívateľmi interaktívne.
  • Non-Grid Aware
    • Táto skupina uzlov bude spracovávať Grid aj Non-Grid procesy, pričom v prípade Grid procesov by do tejto skupiny uzlov boli posielané  požiadavky s nižšou prioritou a takisto automatické batch spracovania.
    • Pre spracovanie Non-Grid procesov je potrebné optimálne rezervovať výpočtové zdroje na jednotlivých uzloch tak, aby mohli byť aj Non-Grid požiadavky spracované v optimálnom čase

Otázky a odpovede

Ktoré SAS produkty sú potrebné na Grid výpočtových uzloch?

SAS Grid Manager obsahuje Platform Suite for SAS, ktorá sa skladá z týchto komponentov:

  • Process Manager – je to rozhranie pre kontrolu spustenia naplánovaných procesov a ich vzájomných závislostí. Obsahuje voliteľné súčasti, ktoré nie je potrebné inštalovať ale ponúkajú dodatočnú funkcionalitu:
    • Flow Manager – ponúka vizuálnu prezentáciu jobov podľa ich závislostí. Zobrazuje informácie o stave jednotlivých procesov a ich závislostiach.
    • Calendar Editor – nástroj na plánovanie spustenia procesov, pomocou ktorého je možné vytvoriť customizované verzie kalendárov pre plánovanie spustenia procesov
  • LSF – spracováva požiadavky na spustenie procesov, riadi všetky požiadavky na výpočtové zdroje a vykonáva optimálne spracovanie procesov v rámci Grid architektúry.
  • Grid Management Services –poskytuje informácie o spracovávaných úlohách, uzloch a čakajúcich úlohách, ktoré sú zobrazené v SAS Grid Manager plug-in v SAS Management Console.
  • Platform MPI (message passing interface) for SAS – ide o komunikačný protokol, ktorý slúži na programovanie procesov pre ich paralelné spustenie v Grid sieti napr. pre SAS procedúry, ktoré sú „Grid-enabled“. Je dostupný od verzie SAS 9.3.

LSF, Base SAS a SAS/Connect musia byť nainštalované na každom uzle v Grid sieti. Takisto každý SAS produkt, ktorý sa použije na zadanie požiadavky na spracovanie úlohy musí byť nainštalovaný na každom uzle v Grid sieti napr. ak používate SAS/STAT v Grid, tak SAS/STAT musí byť nainštalovaný na každom uzle v sieti.

Môže byť Grid computing so SAS Grid Manager nasadený len pre SAS Foundation bez plnej Business Intelligence (BI) implementácie?

Áno. SAS Grid Manager vyžaduje SAS Metadata Server a použitie automatickej plánovanej inštalácie a konfigurácie. SAS BI Server alebo SAS Enterprise BI Server nie sú vyžadované.
Počas inštalácie je potrebné nadefinovať SAS Grid Logical Server v SAS Management Console aby SAS aplikácie mohli používať Grid. Takisto je potrebné doplniť potrebné parametre do už existujúcich SAS programov aby ich bolo možné spustiť využitím Grid optimalizácie, prípadne ich pregenerovať s použitím SAS nástrojov ako SAS Enterprise Miner, ktoré po nastavení už generujú „Grid-enabled“ kód.
Každý SAS programový kód, ktorý môže byť rozdelený menšie celky, ktoré sú na sebe nezávislé, môže byť spracovaný v Gride a tiež viacero SAS programov môže byť spustené v Gride naraz pre zefektívnenie ich spracovania.

Ako náročné je upraviť existujúci program na efektívne spracovanie v Gride?

Odpoveď závisí od štádia vývoja konkrétneho SAS programu. Najnovšie verzie SAS aplikácií automaticky generujú „Grid-enabled“ kód (SAS Enterprise Miner, SAS Data Integration Studio).
Pre existujúce SAS aplikácie je potrebné nadefinovať parametre pre paralelné spracovanie cez SAS/CONNECT a tiež nadefinovanie a nastavenie metadát pre použitie v Gride.
Pre ostatné SAS kódy je potrebné identifikovať segmenty kódu a doplniť príslušné SAS/CONNECT parametre. Takto upravené kódy je následne možné spustiť využitím Grid.

Môžu SAS Business Intelligence komponenty profitovať z použitia v Grid prostredí?

Áno. Každý nástroj, ktorý generuje kód vo forme stored procesu resp. každý stored proces naprogramovaný pre použitie v Gride bude efektívne spustený v Grid prostredí.
Takisto je možné naplánovať spustenie reportov zo SAS Web Report Studia pomocou LSF a SAS Grid Managera, ktorý následne vyhodnotí najvhodnejší výpočtový uzol s dostatočnými zdrojmi na efektívne spracovanie takýchto reportov.

Aké sú výhody použitia „Grid-enabled“ Stored Procesov?

Stored procesy sú v podstate SAS programy s doplnenými špecifickými časťami kódu na ich spracovanie (na začiatku a konci). Z tohto dôvodu je prínos pri spustení v Grid prostredí rovnaký ako v prípade iných SAS programov:

  • efektívne spracovanie podľa aktuálneho stavu dostupných výpočtových zdrojov
  • paralelné spracovanie, ak daný kód je pripravený na takéto spracovanie
  • výhody z hľadiska využitia výpočtových zdrojov – nastavenie takých pravidiel aby požiadavky na spracovanie mali dostatok zdrojov na ich realizáciu v špecifickom čase napr. v pracovných hodinách, pričom ostatné požiadavky ako batch spracovanie ale menej prioritné úlohy budú pozdržané a spracované neskôr.

Podporuje SAS Grid aj SAS Enterprise Guide?

Áno. SAS programy vygenerované v SAS Enterprise Guide (EG) viacerými používateľmi môžu byť v rovnakom čase  poslané na spracovanie do Grid prostredia, pričom SAS Grid Manager vyhodnotí dostupnosť výpočtových zdrojov a efektívne rozhodí spracovanie na jednotlivé výpočtové uzly.
V prípade potreby zrýchlenia spracovania konkrétneho EG programu pomocou paralelného spracovania je treba postupovať nasledovne:

  • od SAS EG v 5.1 – zmeniť nastavenie v Project Properties na „Use Grid if available“. Takto vygenerovaný kód je automaticky efektívne spracovaný v Grid prostredí
  • ostatné verzie SAS EG (v4.3 a staršie) – je potrebné manuálne doplniť „custom code“, ktorý je vložený na začiatku a na konci kódu. Ďalej je potrebné zmeniť nastavenie aplikačných serverov a takisto konfiguráciu SAS EG. Presný postup a kódy sú dostupné tu: http://support.sas.com/rnd/scalability/Grid/download.html

Môže SAS Grid bežať aj v heterogénnej architektúre?

Áno, ale s určitými obmedzeniami. V prípade, že v Grid prostredí sa nachádzajú napr. uzly s rôznymi operačnými systémami (Windows, UNIX), je možné využiť SAS Grid avšak konfigurácia prostredia je zložitejšia a použitie Gridu má určité obmedzenia:

  • nemožnosť zdieľania SAS katalógov (vrátane formátov) a SAS views
  • zdieľanie dát len s použitím CEDA (Cross-Environment Data Access) – obmedzenia tu: CEDA Limitations
  • rôzne kódové stránky SAS datasetov môžu spôsobiť problémy pri použití kontrol integrity v SAS joboch
  • programy musia používať univerzálnu názvovú konvenciu pre názvy súborov a knižníc

SAS Data Integration Studio a SAS Enterprise Miner vyžadujú použitie homogénnej Grid architektúry z dôvodu názvovej konvencie a použitia SAS views. Použitie architektúry s Windows 32 bit a 64 bit je možné aj pre tieto nástroje ale môže mať vplyv na dĺžku spracovania a stále tu platia obmedzenia pri použití CEDA.

Je potrebné aby v Grid prostredí boli vstupné dáta dostupné na každom výpočtovom uzle?

Nie, vstupné dáta nemusia byť uložené na každom uzle, ale každý uzol musí mať dáta sprístupnené. Z hľadiska prístupu k dátam v Grid architektúre je umiestnenie vstupných dát len jednou časťou, na ktorú si treba dať pozor pri nastavovaní Grid prostredia. Z hľadiska dát je potrebné zvážiť aj použitie SASWORK knižnice, ďalej kde ukladať čiastkové výsledky paralelného spracovania a nakoniec akým spôsobom dať čiastkové výstupy do finálneho výstupu tak, aby spracovanie bolo čo najefektívnejšie z hľadiska I/O operácií.

Aké sú možnosti architektúry na sprístupnenie dát pre Grid spracovanie?

Pre spracovanie dát v Gride je možné použiť tieto typy dátových úložísk:

  • Network Attached Storage (NAS) – ide o server pre zdieľanie dát
  • Cluste File Systems (CFS) – ide o skupinu serverov, ktoré fungujú ako jeden celok pre zabezpečenie vysokej priepustnosti dát.

Vo všeobecnosti je CFS rýchlejší ale aj nákladnejší variant.

Richard Balaj

Autor:
Richard Balaj

Architektúra s Grid a Non-Grid procesmi

Architektúra s Grid a Non-Grid procesmi
(kliknite pre zväčšenie)

grid-computing-3-diagram

SAS® Grid Computing Architecture
(kliknite pre zväčšenie)

Architektúra s použitím Clustered File System

Ukážka architektúry s použitím Clustered File System
(kliknite pre zväčšenie)

Back to Top