Što je teorija tragova?

Teorija tragova odnosi se na to kako računalni hardver i softver istovremeno obrađuju naredbe. Ponekad se naziva istodobno računanje i može se usporediti s idejom paralelnog računanja. Glavna ideja koja stoji iza istodobnog računanja je da nekoliko procesa koristi isti resurs i da su ovisni jedan o drugom. Centralno za teoriju tragova je ideja da postoji beskonačan broj mogućih obrazaca i odnosa koje procesi mogu formirati.

Većina računalnog hardvera i programskih jezika dizajnirani su oko teorije tragova. Istodobno računalstvo ispituje što se obrađuje i kako se događa aktivnost obrade. Dok su istovremeni procesi koji koriste iste resurse obično neovisni jedan o drugom, oni također mogu biti u interakciji. Ideja o međuovisnim procesima čini jezgru istodobnog računanja i grafova ovisnosti.

Iako se svaki računalni proces može odvijati zasebno, grafikoni ovisnosti pokazuju koji procesi mogu koristiti isti hardver ili softver. U ovim grafikonima i izračunima ovisni faktor može biti označen slovom “C” ili “D”. Grafovi ovisnosti ilustriraju da ako dva procesa koriste određeni faktor, onda će i drugi procesi koji sadrže identične identifikatore također biti ovisni o istom faktoru.

Budući da teorija tragova pokušava objasniti kako se javljaju različiti računalni procesi i naredbe, grafovi ovisnosti ne samo da identificiraju koji se resursi koriste, već i putove i rute kojima se procesi kreću. Važno je uzeti u obzir da teorija kaže da postoji samo određeni broj ovisnosti ili odnosa koji se mogu pojaviti s jednim čimbenikom. Dok je broj uzoraka u istodobnom izračunavanju beskonačan, samo će odabrani broj procesa formirati istu ovisnost ili koristiti isti resurs.

Teorija tragova ilustrira da su paralelni procesi međusobno matematički jednaki. To je slično ideji da uzmete dvije paralelne linije, povučete liniju koja se siječe kroz njih i izmjerite kutove na suprotnoj strani svake točke sijecanja. Iako se sami paralelni pravci ne sijeku, oni su međusobno identični i imaju istu vrijednost. U slučaju istodobnog izračunavanja, linija koja se siječe bila bi ekvivalentna ovisnosti.

Jezik koji se koristi za predstavljanje različitih procesa koji koriste iste ovisnosti je binarni. Na primjer, jedan proces može biti predstavljen slovima “AC”, dok je drugi proces predstavljen slovima “AB”. Binarna vrijednost “0” mogla bi se dodijeliti procesu “AC”, a binarna vrijednost 1 bi se dodijelila procesu označenom s “AB”.