De stora bearbetningskraven för seismiska vågutbredningssimuleringar gör High Performance Computing (HPC) arkitekturer till ett naturligt val för deras utförande. För att hålla både den nuvarande takten i prestandaförbättringarna och energiförbrukningen inom ramen för en strikt energibudget måste HPC-systemen dock vara mer energieffektiva än någonsin. Som ett svar på detta behov började energieffektiva och energisnåla processorer ta sig in på marknaden. I detta papper använder vi en ny lågeffektprocessor, MPPA-256 muchcore, för att utföra seismiska vågförökningssimuleringar. Den har 256 kärnor anslutna av en NoC, ingen cache-sammanhållning och endast en begränsad mängd on-chip minne. Vi beskriver hur dess speciella arkitektoniska egenskaper påverkade vår lösning för ett energieffektivt genomförande. Som en motpol till MPPA-256-arkitekturen med låg effekt använder vi Xeon Phi, en prestationscentrerad mångkärna. Även om båda processorer har vissa arkitektoniska likheter, är utmaningarna med att implementera en e-årig seismisk vågförökningskärna på dessa plattformar mycket olika. I detta arbete jämför vi prestandan och energieffektiviteten hos våra implementeringar för dessa processorer med beprövade och optimerade lösningar för andra hårdvaruplattformar som allmänna processorer och en GPU. Våra experimentella resultat visar att MPPA-256 har den bästa energieffektiviteten och förbrukar minst 77 % mindre energi än de andra utvärderade plattformarna, medan prestandan hos vår lösning för Xeon Phi är i nivå med en toppmodern lösning för GPU. Offentliga strategier för riskreducerande åtgärder och skadebedömning i hypotetiska två jordbävningsscenarier samt olje- och gasprospektering använder sig intensivt av 3 simuleringar av storskalig seismisk vågutbredning. För att ge re-4 alistiska resultat, dessa simuleringar bygger på komplexa modeller, som ofta kräver 5 betydande beräkningsresurser för att på ett tillförlitligt sätt bearbeta stora mängder data 6 på en rimlig tid. Sådana bearbetningskapaciteter tillhandahålls ofta av High Performance Com-8 puting (HPC) plattformar. Fram till nyligen var HPC-plattformens kapacitet 9 utvärderade nästan uteslutande baserat på deras råa processhastighet. Men en 10 av de aspekter som hindrar sökandet efter ständigt växande prestanda är exces-11 sive energianvändning. Därför har HPC-plattformarnas energieffektivitet i vissa sammanhang blivit lika viktig som deras råa prestanda. Sökandet efter alternativ till lägre nuvarande energiförbrukning uppstod faktiskt 14 först i den inbäddade systemgemenskapen men blev nyligen en av HPC:s vetenskapliga samfunds ma-15 största bekymmer [1, 2]. Nyligen, mångacore pro-16 cessorer, en ny klass av högparallell marker, presenterades. Tilera Tile-Gx [3], 17 Kalray MPPA-256 [4], Adapteeva Epiphany-IV [5], Intel Single-Chip Cloud Com-18 puter (SCC) [6] och Xeon Phi är exempel på sådana processorer, som tillhandahåller upp till 19 hundratals autonoma kärnor som kan användas för att uppnå både data och 20 uppgift parallellism. Denna särskiljande egenskap skiljer dem från SIMD-liknande 21 högparallell arkitekturer såsom Graphics Processing Units (GPU). Av 22 skäl, i detta dokument, klassificerar vi GPU separat, i sin egen kategori. Även om vissa core-processorer kan ge bättre energieffektivitet än 24 toppmoderna multicoreprocessorer [7], gör deras speciella arki-25 tekturella egenskaper utvecklingen av e cient vetenskapliga parallella ap-26-plikationer till en utmanande uppgift [5, 8]. Några av dessa processorer är byggda och opti-27 mized för vissa klasser av inbyggda applikationer som signalbehandling, video 28 avkodning och routing. Dessutom, processorer som MPPA-256 har impor-29 tant minne begränsningar, t.ex. begränsad mängd direkt adresserbara minne 30 och avsaknad av cachekonsistens protokoll. Dessutom är kommunikationskostnaderna 31 mellan kärnorna inte enhetliga, de beror på var de kommu-32 nicerande kärnorna finns. En av de viktigaste orsakerna till denna skillnad i kommunikation 33 kostnad är Network-on-Chip (NoC). När applikationer distribuerar arbete bland 34 kärnan i processorn, bör de ta hänsyn till placeringen 35 av dessa uppgifter och deras kommunikationsmönster för att minimera kommunikation 36 kostnader. Detta problem liknar problemet med applikationer som körs på NUMA 37-plattformar [9, 10] eller MPI-tillämpningar som försöker ta hänsyn till både den 38-nätverkstopologin och minneshierarkin för att förbättra prestandan [11, 12]. I detta papper beskriver vi den arkitektoniska särarten hos lågeffekt 40 MPPA-256 mångakärnig processor. Med tanke på dessa egenskaper beskriver vi 41 hur huvudkärnan i en seismisk vågförökningssimulator anpassades till 42 h.aochi@brgm.fr (Hideo Aochi), navaux@inf.ufrgs.br (Philippe O. A. Navaux), Jean-francois.mehaut@imag.fr (Jean-François Méhaut) 2 denna plattform. På grund av den begränsade storleken på de lokala minnena i MPPA-256, utvecklade vi 43 en ny strategi för flernivå tiling och en förhämtningsmekanism till 44 gör att vi kan hantera verkliga simuleringsscenarier och minska kommunikation 45 overheads. Vi beskriver också de sorter och lösningar (en del av dem är generiska 46 tillräckligt för att användas i olika sammanhang) som vi använde under denna anpassning. Som motpunkt till MPPA-256 med låg effekt anpassade vi också samma 48-kärna till en performancecentrisk mångkärna, Xeon Phi. Även om båda pro-49 cessorer delar vissa arkitektoniska egenskaper såsom förekomsten av en NoC, 50 icke-uniforma kostnader för kommunikation mellan kärnor och begränsade snabba lokala mem-51 ories, har de sina egna egenheter som instruerade oss att använda olika 52 tillvägagångssätt i varje fall. Till exempel, i båda arkitekturerna, varje tråd har 53 tillgång till cirka 128 kB av snabbt lokalt minne. Men deras minne 54 organisation är mycket olika. På Xeon Phi har varje kärna 512 kB av L2 delat 55 med upp till 4 trådar. Å andra sidan, på MPPA-256 processkärnorna har 56 8 kB av L1 cache varje och kärnor grupperas i kluster av 16. Var och en av 57 dessa kluster har 2 MB, av arbetsminne som delas mellan kärnorna. I motsats till 58 Xeon Phi, MPPA-256 inte har cache-sammanhållning eller automatisk belastning/lagring av 59 värden från / till huvudminne, och alla minnesöverföringar måste hanteras 60 av programmeraren explicit. I slutändan innebär detta att för att 61 ska kunna uppnå bra prestanda på MPPA-256, är applikationen skyldig att strikt kontrollera kommunikationen mellan kärnorna i samma kluster, mellan kluster, 63 och mellan varje kluster och huvudminnet. Detta dokument förklarar de 64 svansar som fick oss att besluta om en strategi för multinivå tiling föreslås för MPPA-256 65 i stället för en mer traditionell strategi för cacheblockering som användes för Xeon 66 Phi. 67 Med utgångspunkt i optimerad GPU och allmänna ändamål processor implemen-68 tations för denna kärna, visar vi att även om MPPA-256 presenterar en ökad 69 mjukvaruutveckling komplexitet, kan det verkligen användas som ett energi-ecient 70 alternativ för att utföra seismiska vågutbredning simuleringar. Våra resultat visar 71 att den lösning vi föreslår för MPPA-256-processorn uppnår den bästa en-72 ergy eciency, förbrukar 77 %, 86 % och 88 % mindre energi än optimerad so-73 lutions för GPU, allmänna ändamål och Xeon Phi arkitekturer, respektive. Den 74 prestanda som uppnås på Xeon Phi, å andra sidan, är jämförbar med en state-75 av den senaste GPU. Dessutom var genomförandet 58 % och 73 % snabbare än genomförandet av 76 multicores respektive MPPA. 77 Återstoden av denna uppsats är organiserad enligt följande. Avsnitt 2 behandlar 78 grunderna för seismisk vågförökning. Sedan, Avsnitt 3, diskuterar de 79 huvudutmaningar som vi måste övervinna när vi hanterar parallell seismisk våg 80 förökningar på MPPA-256 och Xeon Phi. Dessutom presenterar den våra strategier 81 för att utföra e ektiva seismiska vågförökningssimuleringar på båda processorer. 82 Avsnitt 4 diskuterar prestanda och energieffektivitet experimentella resultat. Se avsnitt 5 beskriver arbetet i samband med detta och avsnitt 6 avslutar detta dokument. 2 ) och 8 4. 2........................................................................................................ Seismic Wave Propagation 85 Kvantitativ jordbävning riskbedömning är avgörande för allmän ordning, re-86 minskning av framtida skador och stadsplanering. Nyligen inträffade viktiga geologiska 87 3 händelser, såsom jordbävningen M W 7.9 (ögonblicksstorlek) i Kina (2008) eller 88 jordbävningen M W 8.8 i Chile (2010), har undersökts med hjälp av numeriska verktyg 89 med god enighet med observation. Ur fysisk synvinkel är de mech-90-anismer som används för att beskriva jordbävningshändelser komplexa och högst icke-linjära. 91 För enkelhetens skull, vågförökning simuleringar brukar överväga elastiska 92 domäner och inkluderar viss anelasticitet att redogöra för dämpningar. Men 93 när det gäller starka rörelser kan dessa förenklingsantaganden inte korrekt beskriva fenomenet 94. En grundläggande utmaning för jordbävning 95 ingenjörskonst är att förutsäga nivån och variationen av stark mark rörelse från 96 framtida jordbävningar. För att förbättra denna prediktiva förmåga krävs förståelse av 97 jordbävningskällan, eekterna av spridningsvägen på de seismiska vågorna, 98 och bäckenet och nära ytan platsen e.ects. I detta dokument begränsar vi vår diskussion till elastodynamikekvationer 100 som motsvarar den elastiska situationen med hjälp av en linjär modell. Men vår ap-101 proach kan också användas i ickelinjära modeller som förlitar sig på en linjär lösning 102 inuti den iterativa proceduren såsom Newton-liknande metoder. Bland numeri-103 cal metoder kan variationsmetoder såsom finita element metod [14] eller spektral 104 element metod [15] användas för både regional och global skala seismol-105 ogy medan Discontinous Galerkin metod är mycket effektiv för jordbävning 106 källmodellering [16]. När det gäller popularitet, Finite Di tillerence Method 107 (FDM) är fortfarande en av de främsta utmanarna på grund av dess genomförande enkelhet 108 och eektivitet för ett brett spektrum av tillämpningar. Även om denna metod ini-109 föreslogs för nästan trettio år sedan [17], har denna klassiska diskretiseringsteknik 110 stått i fokus för kontinuerliga förbättringar sedan dess förslag [18, 19]. 111 Simuleringar av seismiska vågförökningar begränsas ofta av maskinvaruplattformens com-112 putational- och lagringskapacitet. Således minskar seismologer 113 ofta omfattningen av simuleringen till en liten volym i stället för att överväga 114 hela jorden. Minnesavtrycket för varje simulering beror på både intressedomänen 115 och antalet rutnätspunkter per våglängd. Detta sista 116 villkor garanterar numerisk stabilitet och därmed noggrannheten i sim-117 ulation. I vårt fall, av praktiska skäl, begränsar vi våra simuleringar till problem 118 domäner som passar in i 2 GB minne tillgängliga på MPPA-256-plattformen. 119 14 Ett effektivt utnyttjande av kackerlackorna enbart genom cacheblockering ökade 479-prestandan med i genomsnitt 79 %. Om det används i isolering, cacheblockering inte 480 tillåter en full användning av Xeon Phi vektorisering kapacitet och skapar ytterligare 481 cache fel på grund av ojusterade minnesåtkomster. Genom att använda dessa två tekniker 482 på en gång kan vi, samtidigt, göra ett bra utnyttjande av Xeon Phi vektoriella 483 kapaciteter och dess snabba lokala caches. När dessa två tekniker används tillsammans med 484 ser vi en genomsnittlig förbättring på 92 % i prestanda, och en 485 förbättring på 91 % för 224 trådar. 486 Dynamiska och guidade schemaläggningspolicyer hade ett bättre skalbeteende samt 487 som bättre prestanda än statisk schemaläggning. I genomsnitt gav dynamisk schemaläggning 488 en ökning med 14 % jämfört med statisk schemaläggning. Statisk schemaläggning har 489 nedåt att orsaka obalanser under genomförandet av simuleringen med ett 490 mellanliggande antal trådar. Till exempel, för 58 trådar, skulle iterationer 491 delas lika mellan trådar, men eftersom en enda kärna skulle köra två 492 trådar, skulle det faktiskt sluta köra dubbelt så många iterationer som de andra 493 kärnor. Detta beteende kan tydligt ses som steg i speedup grafen. Men 494 detta antagande är inte tillräckligt för att e-ektivt förklara varför prestandan med 495 statisk schemaläggning inte är i nivå med (eller bättre än) prestanda dynamiska 496 schemaläggning när antalet trådar är en multipel av antalet kärnor. Anledningen till detta ligger på de höga användningsnivåer av NoC under 498 implicita synkronisering mellan beräkningen av hastigheten och stress com-499 ponenser av schablonen. För varje tidssteg startar spänningsberäkningsslingan endast 500 sin körning efter det att alla hastighetskomponenter i den föregående slingan har avslutats 501 (jfr. Algoritm 2.1). Denna synkronisering gör att varje tråd försöker komma över 502 nikat samtidigt i början av varje parallell ögla. På den statiska schemaläggaren, 503 konvergensen för NoC kan införa små förseningar för början av 504 utförandet av varje tråd, vilket i huvudsak gör slingans kritiska väg något 505 längre. Även om var och en av dessa förseningar inte är särskilt betydande, de 506 ackumuleras vid varje tillfälle steg både vid stress och hastighet beräkning slingor. Eftersom konvergensen för NoC också ökar med antalet trådar, ökar också 508 den relativa utförandet prestanda skillnaden mellan den statiska och dynamiska 509 tillvägagångssätt. Denna obalans kompenseras på det dynamiska fallet, 510 även om den dynamiska schemaläggaren har en högre overhead, eftersom den kan hålla 511 fler trådar aktiva fram till slutet av varje ögla. Guidad schemaläggning möjliggör också en bättre arbetsfördelning och mindre 513 obalanser än den statiska schemaläggaren mellan trådarna i slutet av varje ögla. Synkroniseringen mellan hastighets- och stressloopar och den lilla 515-fördröjningen som infördes under de inledande faserna av varje ögla skapar dock fortfarande små imbal-516 ances i slutet av både stress- och hastighetslooparna i varje tidssteg. Med hjälp av 517 den guidade schemaläggaren kunde vi uppnå nära linjära hastigheter upp till 518 antal kärnor. Efter denna punkt närmar sig den dynamiska schemaläggaren gradvis 519 den guidade prestandan för att så småningom slå den med den bästa verkställande tiden med 520 224 trådar. Slutligen, för statisk schemaläggning, kunde en tråd nity förbättra perfor-522 mans av MA+CB i genomsnitt 11 %. Å andra sidan, till sin natur, dy-523 namic och guidad schemaläggning minskar vikten av tråd a nity. Faktum är att 524 intressant än Altix UV 2000-plattformen har det bästa bytet mellan tid-till-596 lösning och energi-till-lösning, för både maximal prestanda och optimal 597 energiförbrukning inställningar. Om vi anser ED 2 P, blir denna skillnad 598 ännu mer märkbar. De betydande skillnader som lyfts fram i den kombinerade 599 tid- och energiutvärderingen kan förklaras med den låga aritmetiska intensiteten 600 Med hjälp av låg effekt Adapteva Epiphany-IV muchcore, Varghese et al. [5] 633 beskrev hur en stencilbaserad lösning till den anisotropa värmeekvationen med hjälp av ett 634 tvådimensionellt rutnät utvecklades. Denna mångakärna har en låg effekt knoppad 635 (2 W) och har 64 processkärnor. Varje kärna har en lokal repplatta på 32 kB och 636 ingen cacheminne. Kärnor är anslutna av en NoC som ger direkt minne 637 tillgång till 1 GB RAM och även till andra kärnor lokala minnen. De utmaningar som vi stod inför för utvecklingen av vår seismiska vågutbredningssimulering på arkitekturen 639 MPPA-256 liknar de som författarna till detta verk står inför. 640 Liknar MPPA-256, Epiphany-IV har en mycket begränsad mängd lokalt minne 641 tillgängligt för varje kärna och ingen automatisk förhämtningsmekanism finns; varje 642 dataöverföring måste uttryckligen kontrolleras av programmet. Författarna 643 visade att även om genomförandet av en effektiv applikation kan 644 vara en utmanande uppgift, var deras lösning att uppnå ett FLOPS/Watt-förhållande 3 645 gånger bättre än en Intel 80-kärnig Terascale Processor. 646 Att anpassa seismiska vågförökningar till framväxande parallella 647 arkitekturer är ett aktivt forskningsämne. På grund av mångsidigheten i FDM använt 648 både för olje- och gasapplikationer och standard jordbävningar modellering, har flera 649 strategier föreslagits. Intel och NVIDIA har till exempel föreslagit 650 optimerade implementationer av sådana schabloner [25, 32]. 651 Dupros m.fl. [33] presenterade en översyn av skalbarhetsfrågorna för distribuerade 652 och delade minnesplattformar med fokus på kartläggning av processer/trådar på 653 hierarkiska kluster. Dursun m.fl. [34] införde flera ytterligare strategier, 654 inklusive internode och intranode optimeringar. Nyligen, Christen et al. [35] 655 beskrev användningen av Patus ramverket för att optimera AWP-ODC ändlig 656 di-erenskod. I synnerhet de detaljerade effekterna av vektorisering och 657 cache prefetching och rapporterade en prestandaförbättring upp till 15 % när 658 kör den kompletta applikationen med 512 MPI-processer. 659 Flera forskningsresultat har gjorts om anpassning av seismiska vågor ker-660 nels på GPUs för att övervinna den låga aritmetiska intensiteten (FLOPS/överfört 661 byte-förhållande) som orsakas av elastodynamik schabloner [27, 36]. De resultat som erhållits 662 visar att GPU kan vara ett relevant alternativ till vanliga 663 ändamålsprocessorer. Krueger m.fl. [37] jämförde prestanda och energi 664 e ektivitet av en Intel Nehalem plattform, en NVIDIA Tesla GPU och en simulerad 665 allmänna ändamål mångakärnig chip design optimerad för högordervåg ekvationer 666 kallas "Green Wave". De visade att Green Wave kan vara upp till 8x och 3,5x 667 mer energi e cient per nod jämfört med Nehalem och GPU 668 plattformar, respektive. Skiljeaktigt från detta arbete, våra experiment och mea-669 garantier utfördes på riktiga mångacore processorer. Även om lågeffekt 670 MPPA-256 inte är optimerad för högordervågsekvationer som Green Wave, kunde vi 671 fortfarande uppnå energiförbättringar på minst 86 % respektive 672 77 % jämfört med Xeon E5 respektive Tesla K20. 673 Slutsats och perspektiv Användningen av mycket parallella mångakärniga processorer för att möta den höga efterfrågan på 675 databehandlingskapacitet som krävs vid parallella vetenskapliga simuleringar har nyligen 676 19 blivit en av de centrala punkterna av intresse i HPC-gemenskapen. I detta dokument presenterade vi 677 vår strategi för den seismiska vågförökningssimuleringen med hjälp av 678 MPPA-256 och Xeon Phi manycore processorer. Även om båda processorer delar 679 vissa arkitektoniska egenskaper, de presenterar olika utmaningar som måste 680 övervinnas för att få bra resultat.
Castro m.fl. REF utförde Ondes3D i MPPA-256 muchcore.