Manycore Network on a Chip szimulátor Actorokkal

Tanszéki konzulens: 
A munkatárs fényképe
lecturer
Szoba: IE335

A kiírás adatai

A téma státusza: 
Korábbi (jelenleg nem aktív, de látszik)
Kiírás éve: 
2016
A kiírás jellege: 
önálló labor, szakdolgozat/diplomaterv

A téma alapvetően a "lássuk, mi lesz belőle"-kategóriás. B.Sc-n merész vállalkozás belevágni (sok önálló munkát igényel), elég erős programozói affinitás kell hozzá (Java vagy még ikább Scala - ez utóbbit menet közben fel lehet venni). Magam részéről szórakozom ilyesmikkel egy ideje, ígéretesnek tűnik.

Miről van szó, mi az a Network on a Chip?

Ez az egyszerűbb dolog. Képzelj el egy nagyon sok processzorból álló rendszert. A processzoroknak egymással valahogyan kommunikálniuk kell, különben nem sok értelme lenne. Tehát: szükségünk van összeköttetésekre a processzorok közt, melyen keresztül üzeneteket (konkrétan byteokat) tudunk egymásnak küldeni. Megtehetjük, hogy összekötünk mindenkit mindenkivel, de ekkor karbantarthatatlan madzaghalmazunk lenne. Helyette inkább különféle topológiákat találunk ki:

  • Gyűrű: minden processzor két szomszédját éri el közvetlenül
  • Rács
  • stb.

Mi van akkor, ha nem közvetlen szomszédnak szeretnénk üzenetet küldeni? Ekkor jön be a képbe a router: minden beérkező üzenetnél kitalálja, hogy merrefele menjen az üzenet ki: a közvetlenül csatolt processzor felé, vagy valamelyik további router felé. Jópofa, ugye?

Miről van szó, mi az az Actor modell?

Képzeld el, hogy nem függvényeid vannak, hanem párhuzamosan létező objektumaid, úgynevezett Actorok. Ezeket az objektumokat elképzelheted úgy is, mint színészeket. Ezek a színészek egymást utasítani tudják mindenféle tevékenységre. Hogyan: szólnak egymáshoz. Itt az egymáshoz szólás üzenetekkel történik.

Hogyan áll ez össze?

Talán látható is: a Network on a Chip minden eleme (processzor, router, minden egyéb sallang) lehet tulajdonképpen egy Actor. A processzor egy olyan Actor, ami üzenetet fogad és küld. A router egy olyan Actor, ami üzenetet továbbít megfelelő helyre. És így tovább.

Az egészben az a bámulatos, hogy különböző pontossággal leszünk képesek egy ilyen Network on a Chip-et szimulálni: órajelszinten vagy üzenetszinten.

Két dolog biztos:

  • Melós téma
  • Rengeteget tanulsz belőle, főként "modernebb" programozási technikákról

Ha nem riasztott el, várlak!

© 2010-2024 BME MIT