xcrypt highly product ive parallel script language
play

Xcrypt Highly-Product ive Parallel Script Language Hiroshi - PDF document

Thanks, Cost in ! Xcrypt Highly-Product ive Parallel Script Language Hiroshi Nakashima (ACCMS, Kyot o U.) who is really working wit h t he cooperat ion of Takeshi I washit a and Tasuku Hiraishi Cont ent s Yet Anot her HPC Programming


  1. Thanks, Cost in ! Xcrypt Highly-Product ive Parallel Script Language Hiroshi Nakashima (ACCMS, Kyot o U.) who is really working wit h t he cooperat ion of Takeshi I washit a and Tasuku Hiraishi Cont ent s � Yet Anot her HPC Programming � Not Only by XcalableMP � Capabilit y and Capacit y Comput ing wit h Script Language � PDCA (Plan-Do-Check-Act ion) Cycle � HP&P Script Language � Design Goal and Concept � Language Syst em Archit ect ure � Current St at us and Near Fut ure Work � Concluding Remark

  2. Yet Anot her HPC Programming Not Only by XcalableMP � Use of a HPC syst em f or R&D ... � is not j ust a single run of a HPC program plan-do-check-act ion � but has many PDCA cycles wit h many runs � HPC applicat ion programming ... � is not limit ed t o f rom-scrat ch wit h Fort ran, C(++), J ava, ... and wit h MPI , OpenMP, XMP... � but includes glue-programming f or; � do-parallel execut ions of a program � int erf acing programs and t ools � PDCA cycle management � ... Yet Anot her HPC Programming Example of C&C Comput ing � Oceanographic Simulat ion � Capabilit y Comput ing � Navier-St okes + Convect ive Heat Xf er + .... � Fort ran + MPI , of course � Capacit y Comput ing � Ensemble Simulat ion wit h various init ial/ boundary condit ions � Fort ran + MPI , why??? � Not only unnecessary but also inef f icient � Do it wit h Script Language !!!

  3. Yet Anot her HPC Programming C&C wit h Script Language � Two-Layered Million-Scale Programming � 10 3 capabilit y x 10 3 capacit y = 10 6 Script Program f or do-parallel exec lower layer of parallel programs = capabilit y t ype = XscalableMP upper layer = capacit y t ype = Highly-Product ive Parallel Script Lang. Yet Anot her HPC Programming Goal=Aut omat ed PDCA Cycle � e.g. Ensemble-Based Dat a Assimilat ion = repeat ed sim t o f ind opt paramet er P: creat e huge size of input dat a D: submit huge number of j obs qsub sim p1 qsub sim p2 qsub sim p3 ... ? ? ? A: f ind t he way t o go next C: check huge size of out put dat a

  4. Yet Anot her HPC Programming Goal=Aut omat ed PDCA Cycle � e.g. Ensemble-Based Dat a Assimilat ion = repeat ed sim t o f ind opt paramet er P: creat e huge size of input dat a D: submit huge number of j obs qsub sim p1 @params= @results= qsub sim p2 qsub sim p3 create_param(@space) submit($job,@params) ... use a_smart_search search(’sim’, ...) ? ? ? @space= @eval= explore(@results) evaluate(@results) A: f ind t he way t o go next C: check huge size of out put dat a HP&P Script Language Why HP & P � Script Language � inherent ly suit able f or programming t o run programs � rich f unct ionalit y f or gluing programs � easy-t o-writ e f or comput er scient ist s � Parallel Script Language � f unct ions t o run programs in parallel e.g. submit many j obs and wait f or t heir complet ion � Highly-Product ive Parallel Script Language � easy-t o-writ e f or comput at ional scient ist s � creat e input f iles f rom a t emplat e easily � ext ract desired lines/ words f rom out put f iles easily

  5. HP&P Script Language Design Goal � Easy-t o-Writ e � even f or guys who never hear of regular expressions, obj ect -orient ed, ... � not requiring more t han 10 lines f or simple paramet er sweeps. � Rich Funct ionalit y � t o implement easy-t o-writ e magic by wizards who support s Muggles. � t o glue applicat ions and GUI (if you love it ), visualizat ion t ools, dat a capt ure t ools, ... HP&P Script Language Design Concept � Must not be MS-Word � easy-t o-writ e does not mean not hing-t o- writ e. � Must not be TEX � rich f unct ionalit y does not mean do-it - yourself f or everyt hing. A � So L TEX in some sense � reasonably easy-t o-writ e and reasonably cust omizable. � encourages st yle-f ile wizards wit h powerf ul built -ins and well-designed st andard int erf aces.

  6. HP&P Script Language Syst em Archit ect ure 1st step 2nd step user script � j ob & j ob set def init ion job interf ace library classes � opt ional def init ion of param � j ob invocat ion/ surveillance/ kill space explorat ion � pre- and (asynchronous) post - processing opt ional script f or j ob input � dat a passing bet ween script & j obs generat ion � abst ract ion of j ob input s/ out put s opt ional script f or j ob out put evaluat ion exploration library job management modules ( J O-engine + α ) =P NQS j ob script generat or j ob scheduler Torque j ob submit t er int erf ace PBS Pro LSF j ob execut ion vigilance SGE j ob complet ion report er HP&P Script Language How I t Looks Like Now package example; use restrict; # module to control job concurrency use parallel; # module to execute jobs in parallel $myjobs=example->new(); $myjobs->{Jobset_exec}= " pathname of program executable "; $myjobs->{Jobset_args}= " printf string for arguments " or & function_to_create_arg_string ; $myjobs->{Jobset_before}= optional pre-job handler* ; $myjobs->{Jobset_after}= optional post-job handler* ; $myjobs->{Par_njob}= number of jobs to submit ; $myjobs->{Par_after_all}= optional finalize handler* ; $myjobs->{Restrict_max}= number of jobs to run concurrently ; $myjobs->start(); # start jobs st ill OO & busy immat ure yet *handler : " string to eval " or & function_to_invoke

  7. HP&P Script Language How I t Can Look Like package example; use restrict; # module to control job concurrency use parallel; # module to execute jobs in parallel example->start( exec=> " pathname of program executable ", args=> " printf string for arguments " or & function_to_create_arg_string , before=> optional pre-job handler* , after=> optional post-job handler* , njob=> number of jobs to submit , after_all=> optional finalize handler* , max=> number of jobs to run concurrently , ); *handler : " string to eval " or & function_to_invoke HP&P Script Language How Built Now package job; j ob scheduler via sub new {...} j ob management sub submit {...} module sub do {...} package jobset; use job; sub new {...} sub before {...} sub after {...} sub start {...} package restrict; package parallel; use restrict; use jobset; use parallel; sub new {...} sub new {...} sub before {...} sub before {...} sub after {...} sub after {...} sub after_all {...} sub start {...} package example; use restrict; use parallel; $myjobs=example->new(); ... $myjobs->start();

  8. HP&P Script Language Next St ep: I / O I nt erf ace For a Paramet er-Sweep of a Simulat ion � What t hey are doing � edit input f ile f or each j ob � submit each j ob manually wit h t he input f ile f or it � view out put f ile t o get what t hey want � What I am doing = writ e perl script s ... � t o creat e j ob-specif ic input f rom t emplat e � t o do qsub wit h various input paramet ers � t o ext ract what I want t o make CSV � What we have t o do = f ind easiest applicat ion-specif ic way ... � t o creat e input , t o submit j ob, t o examine out put � wit h smallest ef f ort t o learn CS sorcery � wit h most sophist icat ed t ech of CS warlock Concluding Remark Let ' s Discuss I ssues on ... � Funct ionalit y v.s. Simplicit y � How do we design a language gradually leading programmers f rom "hello world" t o t he level at which t hey f eel sat isf act ion? � Learning v.s. Teaching � How do we design a language which programmers easily learn and/ or designers easily t each t o t hem? � Can you give a good name t o our script language syst em? We got , Xcrypt , f rom Cost in.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend