Napisałem już kilka pierwszych stron – tych teoretycznych – mojej pracy magisterskiej. Oto wstęp:
„Nieważne jak szybkie układy scalone jesteśmy w stanie wyprodukować, zawsze znajdzie się oprogramowanie, które w pewien sposób wykorzysta wszystkie dostępne zasoby. To powszechne przekonanie zyskuje coraz bardziej na znaczeniu, ponieważ inżynierowie czołowych producentów procesorów utknęli na problemie zwiększania częstotliwości swoich układów. Dopóki nie zakończą się badania nad nowymi rodzajami tranzystorów, jakie prowadzi np. Intel czy IBM, prędkości procesorów dostępnych na rynku nie ulegną znaczącym zmianom. Z tym problem poradzono sobie jednak w inny sposób. Zamiast szukać metody na przyspieszanie jednostki obliczeniowej, zdecydowano się umieszczać ich kilka w jednym układzie. W ten sposób powstały nowe architektury – wielordzeniowe, które zrewolucjonizowały rynek nie tylko sprzętu, ale i oprogramowania.
Programowanie równoległe uznaje się za największy zwrot w produkcji oprogramowania od czasów wprowadzenia modelu obiektowego. Współbieżność wykorzystywano już wcześniej, na maszynach jednordzeniowych, jednak nie oferowała ona faktycznego wzrostu wydajności aplikacji. Poszczególne zadania były przeplatane i wykonywano tylko jedno w danej chwili. W architekturach wielordzeniowych możemy faktycznie mówić, że pewne zadania wykonują się fizycznie równolegle.
Oprogramowanie tworzone w ostatniej dekadzie nie jest w stanie wykorzystać zasobów 4-rdzeniowych procesorów, które są już standardem na rynku. Programy w większości tworzyło się i nadal tworzy synchronicznie, ponieważ ludzie z założenia – jako istoty żywe – także myślą synchronicznie. Potrzeba jest narzędzi, które wspomogą człowieka w budowie coraz bardziej złożonych aplikacji.”
Oczywiście jest to pierwsza wersja i na pewno ulegnie mniejszej lub większej korekcie. Co o niej myślicie?

