Wetenschap
Sunita Chandrasekaran, een assistent-professor computer- en informatiewetenschappen, ontwerpt frameworks om code aan te passen aan steeds krachtigere computersystemen. Ze werkt met complexe patronen die bekend staan als golffronten, die op de achtergrond van deze afbeelding zijn afgebeeld. Krediet:Joy Smoker
De snelste supercomputer ter wereld kan nu 200, 000 biljoen berekeningen per seconde, en verschillende bedrijven en overheidsinstanties over de hele wereld concurreren om een machine te bouwen die de computerkracht heeft om netwerken te simuleren op de schaal van het menselijk brein. Deze extreem krachtige hardware vereist extreem krachtige software, dus bestaande softwarecode moet voortdurend worden bijgewerkt om bij te blijven.
Sunita Chandrasekaran, een assistent-professor computer- en informatiewetenschappen aan de Universiteit van Delaware, is perfect geschikt voor deze uitdaging. Onder een nieuwe subsidie van de National Science Foundation, ze ontwerpt frameworks om code aan te passen aan steeds krachtigere systemen. Ze werkt met complexe patronen die bekend staan als golffronten, die vaak worden aangetroffen in wetenschappelijke codes die worden gebruikt bij het analyseren van de stroom van neutronen in een kernreactor, patronen extraheren uit biomedische gegevens of atmosferische patronen voorspellen.
Chandrasekaran is een expert op het gebied van parallel programmeren:het schrijven van softwarecode die tegelijkertijd op veel multi-coreprocessors kan worden uitgevoerd. Parallel programmeren is een steeds belangrijkere discipline binnen de informatica, aangezien steeds meer universiteiten en bedrijven krachtige supercomputers gebruiken om grote hoeveelheden gegevens te analyseren, van wetenschappelijke resultaten tot inzichten in consumentengedrag en meer.
Chandrasekaran kijkt naar wetenschappelijke toepassingen om te zien hoe ze zijn geschreven, hoe ze presteren op verouderde architecturen, wat voor soort programmeermodellen zijn gebruikt, en welke uitdagingen zich hebben voorgedaan.
"Meestal worden de programmeermodellen in grote lijnen gemaakt, "zei ze. "Omdat ze worden gegeneraliseerd om een grote pool van algemeen gevonden parallelle patronen aan te pakken, vaak missen de modellen het creëren van functies voor sommige complexe parallelle patronen, zoals golffronten, die verborgen zijn in sommige wetenschappelijke toepassingen."
Een golffront maakt de analyse van patronen in minder stappen mogelijk. De vraag is:hoe krijg je het programmeermodel daarvoor?
Een voorbeeld hiervan is Minisweep, een mini-app die scenario's in een kernreactor modelleert door te "vegen" over een raster met vierkanten die punten in de ruimte vertegenwoordigen en worden gebruikt om de posities te berekenen, energieën, en stromen van neutronen. Deze bovenliggende toepassing op Minisweep wordt gebruikt om de kans op een kernsmelting te verkleinen en om technici die in de buurt van de kernreactor werken te beschermen tegen blootstelling aan straling. Eerder dit jaar, Chandrasekaran en promovendus Robert Searles lieten zien hoe ze de mini-app hebben aangepast om 85,06 keer sneller te presteren dan code die niet parallel was. Dit werk werd onlangs gepresenteerd in de vooraanstaande Platform for Advanced Scientific Computing (PASC) 2018-conferentie en gepubliceerd door de Association for Computing Machinery (ACM).
"We vroegen ons af:is dit patroon specifiek voor Minisweep?, "zei ze. "Of gaat het in andere codes bestaan? Zijn er andere codes die zouden kunnen profiteren als ik dit type patroon in een programmeermodel zou plaatsen en een implementatie zou maken en evalueren?"
Bijvoorbeeld, Chandrasekaran ontdekte dat sommige algoritmen in de bioinformatica, de studie van grote sets biologische gegevens, vergelijkbare patronen bevatte. Ze vermoedt dat door het aanpassen van de voor Minisweep geschreven software, ze kan grote stappen maken om de code te verbeteren. Ze zal dit proberen met gegevens van Erez Lieberman Aiden, assistent-professor moleculaire en menselijke genetica aan het Baylor College of Medicine en assistent-professor informatica aan de Rice University. Chandrasekaran ontmoette Aiden toen hij UD bezocht om een lezing te geven met de titel "Parallel Processing of the Genomes, door de genomen en voor de genomen."
Chandrasekaran werd geïnspireerd door het werk van Aiden met DNA-sequenties. Hij gebruikt een computertool om interacties op lange afstand te vinden tussen twee elementen op hetzelfde chromosoom, op zijn beurt de genetische basis van ziekten aantonen. Chandrasekaran vermoedde dat ze bestaande patronen kon gebruiken en de code kon bijwerken. waardoor een snellere analyse van deze belangrijke biologische gegevens mogelijk is.
"Het doel is niet om simpelweg een softwaretool te maken, " zei ze. "Het doel is om real-life casestudy's te bouwen waarbij wat ik creëer er toe doet om de wetenschap gemakkelijk te maken."
Hiervoor zullen op richtlijnen gebaseerde parallelle programmeermodellen zoals OpenACC en OpenMP worden onderzocht.
Chandrasekaran streeft ernaar de prestaties en draagbaarheid te behouden bij het herontwerpen van algoritmen. Ze zal ook rekening houden met de wetenschappers die de algoritmen gebruiken.
"Je kunt geen programmeermodel maken door alleen naar de applicatie of alleen naar de architectuur te kijken, "zei ze. "Er moet een evenwicht zijn."
Dit project zal ten goede komen aan ontwikkelaars van wetenschappelijke toepassingen die niet noodzakelijkerwijs computerwetenschappers zijn. "Ze kunnen zich meer concentreren op de wetenschap en minder op de software, " zei Chandrasekaran. Wetenschappers komen naar haar toe met datasets en problemen die uren duren, dagen, soms maanden om te rekenen, en ze bedenkt hoe ze ze sneller kan laten rennen, waardoor nieuwere wetenschap mogelijk wordt.
Chandrasekaran zal gegevens analyseren die zijn geleverd door Aiden bij Baylor en natuurkundigen bij Oak Ridge National Lab. Searles zal ook aan het project werken, en Chandrasekaran is op zoek naar een extra afgestudeerde student met aanleg voor parallel programmeren om te helpen bij dit project.
Wetenschap © https://nl.scienceaq.com