MIT chwali się Hornetem
Podczas Fifth International Symposium on Networks-on-Chip 2011 specjaliści z MIT-u zdobyli nagrodę za najlepsze opracowanie naukowe symulatora układu scalonego. Ich program Hornet modeluje działanie wielordzeniowego procesora znacznie lepiej niż inne tego typu oprogramowanie. Potrafił znaleźć w oprogramowaniu błędy, których inne symulatory nie zauważyły.
Teraz Hornet został znakomicie udoskonalony i wyposażony w nowe funkcje. Jego nowa wersja potrafi symulować zużycie energii, komunikację między rdzeniami, interakcję pomiędzy CPU a pamięcią oraz obliczyć czas potrzebny na wykonanie poszczególnych zadań.
Symulatory są niezwykle ważne dla firm produkujących układy scalone. Zanim przystąpi się do produkcji kości przeprowadzane są liczne testy ich działania na symulatorach.
Dotychczasowe symulatory przedkładały szybkość pracy nad dokładność. Nowy Hornet pracuje znacznie wolniej niż jego starsze wersje, jednak dzięki temu pozwala na symulowanie 1000-rdzeniowego procesora z dokładnością do pojedynczego cyklu. Hornet jest nam w stanie wyliczyć, że ukończenie konkretnego zadania będzie np. wymagało 1.223.392 cykli - mówi Myong Cho, doktorant z MIT-u.
Przewaga Horneta nad konkurencją polega też na tym, że inne symulatory dobrze oceniają ogólną wydajność układu, mogą jednak pominąć rzadko występujące błędy. Hornet daje większą szansę, że zostaną one wyłapane.
Podczas prezentacji Cho, jego promotor profesor Srini Devadas i inni studenci symulowali na Hornecie sytuację, w której wielordzeniowy procesor korzysta z nowej obiecującej techniki przetwarzania danych pacjentów. Hornet zauważył, że niesie ona ze sobą ryzyko wystąpienia zakleszczenia, czyli sytuacji, w której różne rdzenie, aby zakończyć prowadzone obliczenia, czekają nawzajem na dane od siebie. Powoduje to, że zadania nie mogą być zakończone, gdyż rdzenie nawzajem siebie blokują. Żaden inny symulator nie zasygnalizował tego problemu. Hornet pozwolił też na przetestowanie zaproponowanego przez naukowców sposobu na uniknięcie zakleszczenia.
Zdaniem jego twórców Hornet, ze względu na swoje powolne działanie, posłuży raczej do symulowania pewnych zadań, a nie działania całych aplikacji. Przyda się zatem tam, gdzie zajdzie potrzeba upewnienia się, czy nie występują żadne nieprawidłowości czy też do statystycznego zbadania możliwości wystąpienia błędów.
Komentarze (0)