SAS Grid Computing Kent Odelli, IT Architect SAS Institute
Vad är Grid? En samling av resurser som är samordnade för att lösa ett gemensamt problem.
Varför Grid? Märkbar ökning i data. Märkbar ökning i analysbehov. Ökning i antalet SAS-användare. Schemalagda jobb som inte kan avslutas i tid pga. brist på hårdvaruresurser. Hårdvara som inte kan utnyttjas i andra sammanhang pga. sämre prestanda. Växande IT-kostnader som påverkar SAS-användarna hos verksamheten.
Problemscenario Perioder med hög belastning / Schemaläggning Körningar vid vissa perioder kan inte hanteras effektivt pga. begränsad budget. Många jobb som behöver schemaläggas har komplexa beroenden när det gäller tidpunkter och/eller dataleveranser. Schemaläggningsverktygen som AT och CRON räcker inte till.
Problemscenario Användning Flera SAS-användare som exekverar SAS-jobb på en och samma SAS-server, ibland samtidigt. Ad-hoc-användare som utvecklar, testar, implementerar och administrerar modeller, queries, osv. Användarna upplever att det är krångligt att administrera SAS-miljön.
Problemscenario Data Data som ökar exponentiellt och blir mer komplext. Behov av fördjupade och komplexare analyser för bättre och mer exakt resultat.
Problemscenario Energikonsumtion (Det icke-gröna alternativet) Många SAS-installationer på varsin fysisk server.
Vad kan SAS Grid lösa?
Lösningsscenario Perioder med hög belastning / Schemaläggning Linjär skalbarhet ( skala ut i stället för skala upp ). Inkrementella IT-kostnader, både på hård- och mjukvara. Dynamisk resursallokering (flexibel kapacitet). Policies och prioriteringar for att styra hårdvaruresurser. Ett visuellt användargränssnitt för att skapa och administrera SAS arbetsflöden som ska schemaläggas på gridnodes.
Lösningsscenario Användning SAS Grid Manager exekverar delar av ett arbetsflöde så snart hårdvaruresurser blir tillgängliga. Jobben med högre prioritet kan hanteras genom att pausa körning av andra jobb med lägre prioritet ( preemption ). SAS Grid Manager styr hur mycket hårdvaruresurser ett jobb kan använda, och på så sätt förhindra att all kraft tas i anspråk.
Lösningsscenario Data Grid Manager delar upp lasten mellan flera servrar, vilket minskar tiden för en körning drastiskt. SAS Grid Manager exekverar delar av ett arbetsflöde så snart hårdvaruresurser blir tillgängliga.
Lösningsscenario Energikonsumtion (Det gröna alternativet) Alla hårdvaruresurser i en grid utnyttjas till fullo. När ett jobb avslutas skickar SAS Grid Manager omedelbart nya uppgifter, så att hårdvaran aldrig idlar. SAS Grid Manager kan hantera exekvering av modeller parallellt, vilket utnyttjar tillgängliga resurser på bästa sätt.
Vad kan SAS Grid Manager? SAS Grid Manager Distributed Enterprise Scheduling Workload Balancing Parallelized Workload Balancing Sprida ut jobben inom ett arbetsflöde mellan resurser. Sprida ut arbetsbelastningen mellan resurser. Sprida ut parallelliserad arbetsbelastning mellan resurser.
SAS-produkter på Grid SAS Grid Manager Distributed Enterprise Scheduling Workload Balancing Parallelized Workload Balancing SAS Data Integration Studio SAS Web Report Studio SAS Marketing Automation SAS Marketing Optimization Alla SAS-program (med en wrapper ), inklusive stored processes och SAS Enterprise Guide. SAS Data Integration Studio SAS Enterprise Miner SAS Risk Dimensions SAS-program (efter mod).
Komponenter kompatibla med SAS Grid SAS Metadata Server. SAS Object Spawner. SAS OLAP Server. SAS/SHARE Server. Platform Process Manager. Web Application Tier-komponenter. Andra kritiska komponenter, inklusive 3:e partsprodukter (JBOSS).
Arkitektur Mjukvara Gemensam filarea för: - Jobb-deployment. - Käll- och måldata. - SAS-applikationer. SAS Management Console Grid Manager Plug-in Platform Grid Management Service Platform LSF Platform LSF Platform LSF Platform LSF SAS Data Integration Studio Platform Process Manager SAS Enterprise Miner SAS Enterprise Guide Other SAS Clients - Base SAS - SAS CONNECT - SAS Workspace Server - SAS Grid Server - SAS Data Step Batch Server - Base SAS - SAS CONNECT - SAS Workspace Server - SAS Grid Server - SAS Data Step Batch Server - Base SAS - SAS CONNECT - SAS Workspace Server - SAS Grid Server - SAS Data Step Batch Server Gridklienter Grid Control Server Gridnode 1 Gridnode n SAS Metadata Server
Arkitektur Hårdvara Gridklienter Grid Control Server Gridnode 1 Gridnode n SAS/CONNECT
Samordning av resurser på SAS Grid LSF Queue: Samordnare för alla jobb i grid. Jobb-schedulering och kontroll. Diverse policies för att administrera köer: Prioriteringar och preemption. Jobb-slots och slot-pools. Hosts och hostgrupper. Användare och användargrupper.
SAS Grid Manager SAS Code Analyzer SAS Job Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Fyra rader av kod! SAS yourjob.sas PROC SCAPROC; RECORD yourjob.txt Run;
Grid-anpassning av SAS-kod SAS Code Analyzer - Kodexempel /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /* There are 2 tasks in this job. */ /*----------------------------------------------------------------------*/ Get an available session with the scagrid_gs function */ /* 2 of these tasks can be RSUBMITed. */ /*----------------------------------------------------------------------*/ Wait for and sign off all sessions. */ /* These 2 tasks used 15 units of time. */ proc /*----------------------------------------------------------------------*/ scaproc; getsession 1 "sess"; run; /* The longest task took 15 units of time, 100% of total time. */ %put %scagrid_waitfors(&scagrid_sessions); sess=&sess; /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ %let SCAGRID_SESSIONS=2; /* Termination rsubmit for for task our 1 SCAGRID functions. */ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /* Enable grid service */ rsubmit proc scaproc; &sess sysrputsync=yes shutdown; run; cmacvar=scagrid_task_1; /*----------------------------------------------------------------------*/ proc /*----------------------------------------------------------------------*/ summary data=wk_data.a; %let rc=%sysfunc(grdsvc_enable(_all_, resource=sasapp)); var /* All x; done. output out=new1 mean=mx; */ /*----------------------------------------------------------------------*/ run; /*----------------------------------------------------------------------*/ /* This macro starts up the connect sessions */ endrsubmit; /*----------------------------------------------------------------------*/
Köer Begin Queue QUEUE_NAME = High PRIORITY = 80 QJOB_LIMIT=100 PREEMPTION = PREEMPTABLE[Med Low] End Queue Begin Queue QUEUE_NAME = Med PRIORITY = 90 QJOB_LIMIT=25 PREEMPTION = PREEMPTABLE[Low] PREEMPTIVE[High] End Queue Begin Queue QUEUE_NAME = Low PRIORITY = 100 QJOB_LIMIT=15 PREEMPTION = PREEMPTIVE[Med+1 High+2] End Queue
SAS Command Line Grid Submission Utility Fristående verktyg. Användarna kan submit and forget. Det är inte nödvändigt att vara uppkopplad för att exekvera jobben. Användarna kan granska jobbstatus och output medan jobbet körs. Användarna kan avsluta körningen i förtid ( kill ). Använder SAS Checkpoint/Restart -funktionalitet. Använder SAS Grid Manager metadata for centraliserad kontroll. Kräver en gemensam filyta för klienter och griden.
SAS Checkpoint/Restart-funktionalitet Information lagras i Checkpoint Library. Exekvering av DATA- och PROC-stegen. När ett jobb avslutas i förtid: Startar om jobbet i Restart -mode. Läser Checkpoint Library. Fortsätter från den exekvering som avslutades korrekt. WORK-tabeller kan lagras och återanvändas. Globala statements och macros exekveras om. Checkpoint Library SAS Job DATA Step DATA Step PROC Step DATA Step PROC Step PROC Step
Datalagring är nyckeln! Gemensam filyta (SAN?) Throughput 30-50 MB/sek/CPU-core (~1.8 3GB/sek med 64 CPU-cores). Datakomprimering (SPDS) Vid libname-assignment ( COMPRESS=YES ). Beroende av typen av data.
Show Me The Money! Ingen anledning att köpa en ny stor server, vanliga blades eller arbetsstationer är tillräckliga. Nya servrar kan läggas till i griden när som helst. Befintliga licenser för operativsystem kan återanvändas. Floating -licenser. Betala enbart för resurser som utnyttjas. SAS-jobb scheduleras beroende på resurstillgänglighet.
Dokumentation http://www.sas.com/grid
Frågor?
Thank You Kent Odelli, IT Architect SAS Institute kent.odelli@swe.sas.com Copyright 2010, SAS Copyright Institute Inc. 2010, All SAS rights Institute reserved. Inc. All rights reserved.