{"id":8897,"date":"2021-05-07T09:33:25","date_gmt":"2021-05-07T07:33:25","guid":{"rendered":"https:\/\/blog.rwth-aachen.de\/itc\/?p=8897"},"modified":"2023-05-17T11:19:13","modified_gmt":"2023-05-17T09:19:13","slug":"pop-audit","status":"publish","type":"post","link":"https:\/\/blog.rwth-aachen.de\/itc\/2021\/05\/07\/pop-audit\/","title":{"rendered":"POP-Audit: Erfolgreiche Performanceoptimierung und Korrektheitsanalyse f\u00fcr CalculiX"},"content":{"rendered":"<div class=\"twoclick_social_bookmarks_post_8897 social_share_privacy clearfix 1.6.4 locale-de_DE sprite-de_DE\"><\/div><div class=\"twoclick-js\"><script type=\"text\/javascript\">\/* <![CDATA[ *\/\njQuery(document).ready(function($){if($('.twoclick_social_bookmarks_post_8897')){$('.twoclick_social_bookmarks_post_8897').socialSharePrivacy({\"txt_help\":\"Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter, Flattr, Xing, t3n, LinkedIn, Pinterest oder Google eventuell ins Ausland \\u00fcbertragen und unter Umst\\u00e4nden auch dort gespeichert. N\\u00e4heres erfahren Sie durch einen Klick auf das <em>i<\\\/em>.\",\"settings_perma\":\"Dauerhaft aktivieren und Daten\\u00fcber-tragung zustimmen:\",\"info_link\":\"http:\\\/\\\/www.heise.de\\\/ct\\\/artikel\\\/2-Klicks-fuer-mehr-Datenschutz-1333879.html\",\"uri\":\"https:\\\/\\\/blog.rwth-aachen.de\\\/itc\\\/2021\\\/05\\\/07\\\/pop-audit\\\/\",\"post_id\":8897,\"post_title_referrer_track\":\"POP-Audit%3A+Erfolgreiche+Performanceoptimierung+und+Korrektheitsanalyse+f%C3%BCr+CalculiX\",\"display_infobox\":\"on\"});}});\n\/* ]]> *\/<\/script><\/div><p><div id=\"attachment_8898\" style=\"width: 310px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8898\" class=\"wp-image-8898 size-medium\" src=\"https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-300x153.jpg\" alt=\"POP-Audit f\u00fcr die Anwendung CalculiX\" width=\"300\" height=\"153\" srcset=\"https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-300x153.jpg 300w, https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-1024x523.jpg 1024w, https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-768x392.jpg 768w, https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-8898\" class=\"wp-caption-text\">Quelle: <a href=\"https:\/\/pixabay.com\/illustrations\/report-expenses-management-3050965\/\">Pixabay<\/a><\/p><\/div><\/p>\n<p>Die Entwicklung neuer Anwendungen wird immer komplexer. Zugleich wird es auch immer wichtiger, diese Anwendungen weiter zu optimieren. Auch am Lehrstuhl f\u00fcr Hochleistungsrechnen der RWTH Aachen University werden Methodiken und Werkzeuge zur Optimierung von Anwendungen erforscht. Dabei spielen Leistungs- und Korrektheitsanalysen eine zentrale Rolle. Im Rahmen des EU-Projekts POP2 &#8211; Performance Optimisation and Productivity werden diese Methodiken und Werkzeuge angewan. Das <a href=\"https:\/\/blog.rwth-aachen.de\/itc\/2021\/01\/15\/projektvorstellung-pop\/\">Projekt POP<\/a> hatten wir euch bereits in einem gesonderten Beitrag vorgestellt. Heute m\u00f6chten wir von einem bestimmten erfolgreichen POP-Audit berichten.<\/p>\n<p><!--more--><\/p>\n<p>Im Rahmen des Projekts wurde ein Audit f\u00fcr die Anwendung <a href=\"http:\/\/www.calculix.de\/\">CalculiX<\/a> durchgef\u00fchrt. Bei CalculiX handelt es sich um eine freie Simulationssoftware. Dieses Programm nutzt die Finite-Elemente und die Finite-Volumen-Methode als numerische Verfahren um verschiedene Simulationsprobleme zu l\u00f6sen. Bei diesem Audit wurde die Ausf\u00fchrung einer Str\u00f6mungssimulation untersucht und optimiert, die die Str\u00f6mungsgeschwindigkeit von Luft in einem Rohr simuliert.<\/p>\n<p>Das Ergebnis einer ersten Korrektheitsanalyse wies auf ein Data Race im Code auf. Das Data Race und die daraus resultierende nichtdeterministischen Ergebnisse konnten im Rahmen des Audits beseitigt werden. Eine Analyse der Lastbalance ergab zudem, dass beim L\u00f6sen der Gleichungssysteme ein Thread deutlich l\u00e4nger l\u00e4uft als alle anderen. In Folge dieser Analyse konnte die Arbeit auf andere Threads verteilt werden, deren Berechnungen bereits abgeschlossen waren. Diese Neuverteilung erm\u00f6glicht es, die Nutzung der verf\u00fcgbaren Ressourcen effizienter zu gestalten. Weiterhin ergab eine Analyse der I\/O Performance, dass eine hohe Anzahl an schreibenden I\/O-Zugriffen mit sehr kleiner Datengr\u00f6\u00dfe stattfinden. Durch die Einf\u00fchrung eines Puffers konnte dieser Schreibvorgang effizienter umgesetzt werden. Wie eine Performanceanalyse des Codes ergab, konnte durch alle implementierten Verbesserungen die Laufzeit des Codes um mehr als 30 Prozent verringert werden.<\/p>\n<h3>Ihr m\u00f6chtet mehr \u00fcber das POP-Audit zu CalculiX erfahren?<\/h3>\n<p>Eine ausf\u00fchrliche Beschreibung der Analyse und seiner Ergebnisse findet ihr im <a href=\"https:\/\/pop-coe.eu\/blog\/performance-improvements-by-more-than-30-and-a-data-race-fixed-for-calculix-code\">Blog des POP-Projekts <\/a>(in Englisch).<\/p>\n<p>Verantwortlich f\u00fcr die Inhalte dieses Beitrags ist <a href=\"https:\/\/www.itc.rwth-aachen.de\/cms\/IT-Center\/IT-Center\/Team\/~epvp\/Mitarbeiter-CAMPUS-\/?gguid=0x2C5E1B0A3DA32A45AB293A42E93EEC07&amp;allou=1\">St\u00e9phanie Bauens<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Die Entwicklung neuer Anwendungen wird immer komplexer. Zugleich wird es auch immer wichtiger, diese Anwendungen weiter zu optimieren. Auch am Lehrstuhl f\u00fcr Hochleistungsrechnen der RWTH Aachen University werden Methodiken und [&hellip;]<\/p>\n","protected":false},"author":2589,"featured_media":8898,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"c2c_always_allow_admin_comments":false,"footnotes":""},"categories":[316],"tags":[],"class_list":["post-8897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projekte-kooperationen"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/posts\/8897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/users\/2589"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/comments?post=8897"}],"version-history":[{"count":8,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/posts\/8897\/revisions"}],"predecessor-version":[{"id":15611,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/posts\/8897\/revisions\/15611"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/media\/8898"}],"wp:attachment":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/media?parent=8897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/categories?post=8897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/wp-json\/wp\/v2\/tags?post=8897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}