!!!Fish& Shark! !!!! Fish& Shark! Sebas-an!Rothe!&!Alexander!Lambertz Konzeptder!!...

Click here to load reader

download !!!Fish& Shark! !!!! Fish& Shark! Sebas-an!Rothe!&!Alexander!Lambertz Konzeptder!! Parallelisierung!(2)!

of 15

  • date post

    18-Oct-2020
  • Category

    Documents

  • view

    2
  • download

    0

Embed Size (px)

Transcript of !!!Fish& Shark! !!!! Fish& Shark! Sebas-an!Rothe!&!Alexander!Lambertz Konzeptder!!...

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

           

    Fish  &  Shark  

    Parallele  Programmierung   Prak-kum   SS  2012  

    1  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Gliederung   •  Konzept   •  Konzept  der  Parallelisierung   •  Datenmodell   •  Code  Snippets   •  Analyse   •  Visualisierung   •  Aufgetretene  Probleme  

    2  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Das  Konzept   •  2  dimensionales  Simula-onsfeld   •  Fische  entstehen  an  zufälligen  Stellen  auf  dem   Spielfeld  

    •  Haie  fressen  Fische  und  vermehren  sich  dann   •  Fische  und  Haie  bewegen  sich  auf  dem  Spielfeld   (Nicht  diagonal)  

    •  Plankton  entsteht  zu  Beginn  der  Simula-on  und   vergrößert  sich  dann  

    •  Haie  und  Fische  haben  eine  Lebensdauer  

    3  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Konzept  der  Parallelisierung  

    Beispiel:  8  Prozesse  

    4  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Konzept  der     Parallelisierung  (2)  

    MPI_Init

    Schleife (Simulationsfeld)

    MPI_Iprobe

    MPI_Irecv

    MPI_Isend

    MPI_Iprobe

    ja

    ja

    nein

    Spielfeldbearbeitung

    nein

    CheckIfBorder

    yes

    nein

    MPI_Finalize

    MPI_Wait

    Schleife beenden?

    nein

    ja

    Schleife (Zeitpunkte)

    Daten Exportieren

    MPI_Barrier

    MPI_Iprobe

    MPI_Irecv

    MPI_Iprobe

    ja

    ja

    nein

    nein

    Adds Exportieren

    5  /15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Datenmodell  

    2  dimensionales   Spielfeld  

    4  Arrays  um  den   Zustand  der  

    anderen  Prozesse   zu  speichern  

    aField[y][x][0-­‐2]   0:  Typ  des  Elements   1:  Sterbe/Vermehrzeit   2:  Touched  this  round  

    6  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Ini-alisierung  der  Arrays   aField[y][x][0-­‐2]   0:  Typ  des  Elements   1:  Sterbe/Vermehrzeit   2:  Touched  this  round  

    7  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    MPI  -­‐  Senden  

    Datentransferformat  

    mpiAData[0-­‐4]   0:  Alte  Y  Posi-on   1:  Alte  X  Posi-on   2:  Neue  Y  Posi-on   3:  Neue  X  Posi-on   4:  Elemenayp  

    checkIfBorder(y,x)   1  

    2    

    3  

    4  

    8  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    MPI  -­‐  Empfangen  

    9  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Verarbeiten  

    10  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Analyse  

    SequenIelle  ImplementaIon  

    Parameter:  20.000  x  10.000  Spielfeld;  50  %  Fische;  5  %  Haie;  1  Plankton;  100  Bilder  

    11  /15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Visualisierung   •  Einlesen  der  generierten  Dateien  in   alphabe-scher  Reihenfolge  

    •  Erste  Zeile  enthält  Zusatzinforma-onen    -­‐>  Anzahl  Prozesse,  Größe  der  "Teilozeane“  

    •  Danach:  X-­‐Koordinate  –  Element   •  Y-­‐Koordinate  durch  Zeilennummer   •  Nachträglich  Änderungen  durch   Prozesskommunika-on  

    •  hap://bit.ly/TVghQu    

    12  /15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Aufgetretene  Probleme   •  Endlosschleifen   •  Blockierendes  Senden   •  Nicht  Blockierendes  Senden  ohne  MPI_Wait   •  Zu  langes  Suchen  nach  freier  Posi-on   •  Signal  5:  Maximale  Dateigröße  1GB   •  Signal  11:  Zugriff  auf  nicht  ini-alisierte   Bereiche  eines  Arrays  

    13  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Schnell  leerendes  Spielfeld  

    14  /  15  

  •      Fish  &  Shark  

    Sebas-an  Rothe  &  Alexander  Lambertz  

    Quellen  

    •  Bild:  hap://www.harboarts.com/shirtdesigner   •  hap://de.wikipedia.org/wiki/Wator  

    15  /  15