Przegląd projektu ALMA Konsorcjum ALMA

Karta identyfikacyjna projektu ALMA

  • Projekt trzyletni: 01.09.2011 – 30.08.2014
  •  Finansowanie z 7PR: 3,2 mln euro
  •  Koordynator: Juergen Becker (KIT)
  •  Koordynator techniczny: Nikos Voros (TMES)

Dlaczego potrzebujemy procesorów wielordzeniowych?

Do ~2005 procesor wzrost wydajności prowadzony przez

  • Prędkość zegara
  • Optymalizacja wykonania
  • Pamięć podręczna
  • Ściana zasilania
  • Ściana ILP

    Doprowadziło do wielordzeniowego przetwórcy Równoległość musi być wyeksponowane przez programista

Motywacja

Perspektywa użytkownika końcowego

  • Eksploruj/rozwijaj algorytmy
  •  Używaj prostego, wygodnego języka
  •  Np. Matlab, Scilab, …
  •  Nie chcę się tym przejmować
  •  typy danych
  •  równoległość
  •  Wynik końcowy
  •  Wydajność
  •  Energooszczędny
  •  Opłacalne
  •  Szybki czas rozwoju

Perspektywa architektury docelowej

System wieloprocesorowy na chipie

  • Rdzenie procesorów równoległych
  • Model programowania równoległego
  • Np. pwątki, MPI, OpenMP
  • Równoległość z rdzeniami procesora
  •  Pojedyncza instrukcja Wiele danych
  •  Bardzo długie słowo instrukcji
  • Natywne typy danych
  • Np. 32-bitowa liczba całkowita
  • Inne typy danych działają nieskuteczny

ALMA w pigułce

Ukryj złożoność podstawowego sprzętu przed użytkownikiem końcowym

  • ALMA opracuje podejście do kompilowania kodu Scilab z adnotacjami do architektur MPSoC
  • Algorytmy i narzędzia do
  • Wysokopoziomowa, niezależna od platformy szacowanie i optymalizacja wydajności kodu aplikacji
  • Identyfikacja możliwych partycji i ich rozmieszczenie na różnych zasobach bazowych architektur
  • Wiązanie typów danych i równoległość danych w celu wykorzystania równoległości na poziomie danych
  • Opracuj ujednoliconą platformę symulacji SystemC, aby zapewnić środowisko do symulacji MPSoC
  • Dwie najnowocześniejsze architektury dostarczone przez RECORE i KIT
  • Wynik netto: mniejszy czas/wysiłek tworzenia aplikacji i szybszy czas wprowadzania na rynek

Cele

  • Rozszerz Scilab o optymalizację w modelach systemów wysokiego poziomu
  • Opracuj środowisko do zrównoleglania i optymalizacji
  • Zatrudniaj i rozszerzaj dwie różne architektury
  • Równoległe generowanie kodu
  • Symulacja kodu równoległego