SAS9 Performance Test / SPDE vs BASE SAS!

Publié le par Renaud Harduin

EN : I'm currently working on SAS9 Architecture and I would like to share some results about the base SAS performance. The purpose was : what advantage could give us SPDE ? What are the index options ?
 
SAS 9.1 comes with SPDE (Scalable Performance Data Engine = partitioned sas files on multiple FS) wich allows to a SAS Process to scale up on the same box (just changing libnames). In my case, I did some test on fact table of 28 Million rows on a 8 proc unix box limiting SAS to 8 threads and partition = 128 Mb. Have a look also on the unix top screen shot at the end of the article to see SPDE in  action ;)
 
Here are the results :
 
  Target Create a table with indexes          
       
PGM id step comment index target format # of record realtime CPU time
010 1 Copy a table from SAS8 to SAS9 / data step / set statement post SPDE 28 687 145,00 07:36,0 06:56,7
  2 index with proc dataset (order & order line) post SPDE 28 687 145,00 02:00,4 05:09,1
    09:36,4 12:05,8
     
011 1 Copy a table from SAS8 to SAS9 / data step / set statement on the fly SPDE 28 687 145,00 09:35,4 0:11:18
    index on the fly with index table option (order & order line)          
       
013 1 Copy a table from SAS8 to SAS9 / data step / set statement on the fly V9 BASE 28 687 145,00 15:33,5 0:10:41
    index on the fly with index table option (order & order line)   V9 BASE      
       
    Accelerator 38,37%
      :
       
       
  Target Merge 2 indexed tables and maintain indexes        
       
PGM id step comment index target format # of record realtime CPU time
030 1 merge only post V9 BASE 11 904 271,00 03:16,2 0:03:02
  2 index with proc datasets   V9 BASE   00:48,0 0:01:03
    04:04,2 04:05,2
       
PGM id step comment index target format # of record realtime CPU time
031 1 merge with index on the fly on the fly V9 BASE 11 904 271,00 03:46,8 0:04:02
       
PGM id step comment index target format # of record realtime CPU time
032 1 merge with index on the fly on the fly SPDE 11 904 271,00 02:27,0 0:04:16
       
    Accelerator 35,20%
 
You could see that SPDE processing saves 38% on a data ... set ... run; statements, and SPDE is more efficient on "on the fly index". Those results are confirmed by a merge test (target 2).
I will give other figures soon about Proc OLAP vs Proc MDDB.
 
 
FR : Je travaille actuellement sur l'architecture SAS9 et je voulais partager avec vous quelques résultats de SAS9 autour de la performance apportée par SPDE (module SAS/BASE !). La question est : Quel avantage pour SPDE ? Quelles options d'index ?
 
SAS9.1 viens avec SPDE (Scalable Performance Data Engine = les tables SAS sont explosées sous forme de n partitions sur n disques), ce qui permet à un process SAS d'escalader les processeurs sur un même serveur, juste en changeant un libname.
Dans mon cas, j'ai réalisés des test avec une table de 28 milion de record sur un serveur unix 8 proc, en se limitant à 8 thread par process, avec des partitions de 128 Mb.
Jetez un oeil sur le screenshot du top unix à la fin de l'artcile pour voir SPDE en action ;)
 
Vous pouvez constater dans la table ci dessus que SPDE me permet de gagner 38% sur un process d'alim. classique (data ... set ... run), et que SPDE est plus efficace sur un index à la volée si l'on parle d'une table ex nihilo. Ces résultats sont confirmés par le test numéro 2 (merge entre 2 tables avec Indexs).
J'èspère bientôt pouvoir vous donner des résultat autour de la Proc OLAP vs Proc MDDB !
 
 
SPDE in Action / SPDE en Action !
Publicité

Publié dans SAS9

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article