Re: Jaki system operacyjny? - o zlodziejstwie

Autor: Krzysztof Halasa (khc_at_intrepid.pm.waw.pl)
Data: Mon 02 Mar 1998 - 13:05:39 MET


lewando_at_ibm.net (Andrzej Lewandowski) writes:

> Tak, musze kupowac licencje do kazdego procesora. Kazdy procesor
> chodzi w osobnym pudelku. Nie uzywam SMP bo sie nie nadaja. Wystepuje
> tzw. "memory contention" czyli zapchanie magistrali przy wielu
> programach korzystajacych jednoczesnie i bardzo intensywnie z pamieci.
> Problem dobrze znany w przetwarzaniu rownoleglym. Niestety, program
> jest zbyt skomplikowany i za malo "regularny" aby dalo sie
> zoptymalizowac dostep do pamieci, co dosyc czesto udaje sie na
> przyklad przy programowaniu zadan z algebry liniowej (operacji na
> macierzach, scisle rzecz biorac).

To rzeczywiscie te programy musza bardzo intensywnie korzystac
z pamieci - biorac pod uwage, ze kazdy CPU ma kilkaset KB (bo to tylko
Intel) cache, to w zasadze te programy musza caly czas cos zapisywac,
nic innego prawie nie robiac. Bo w innych warunkach to trudno nasycic
RAM.

Takie problemy rzeczywiscie sa dobrze znane, tylko ze raczej w systemach,
gdzie dostep do RAM jest nieco wolniejszy niz w tak skupionych systemach
jak PC.

> Dla kazdej aplikacji mozna wyprowadzic wzor ktory
> pozwala obliczyc tzw. "speedup" przy okreslonej ilosci procesorow.
> Czynnikami wplywajacymi na ow "sppedup" sa: a) wlasnosci problemu -
> dla wielu problemow speedup zalezy logarytmicznie od ilosci
> procesorow, b) stosunku ilosci kodu ktory mozna zrownoleglic do ilosci
> kodu ktorego nie mozna zrownoleglic, c) strat zwiazanych z komunikacja
> miedzy procesorami. Wynik 7.2 (a nawet 6.5) uwazam za bardzo dobry.

Stosunej _ilosci_ kodu to akurat niespecjalnie wplywa na cokolwiek
- juz raczej stosunek ilosci wykonywanych instrukcji (taka petla liczaca
od 1 do 10e20 prawie nie ma kodu, a program z nia doskonale sie
zrownolegla).

Czyli Twoj problem obliczeniowy duzo sie synchronizuje, i nie da sie tego
poprawic.

> Optymalizacja dostaw towarow od producenta do odbiorcy. Wymaga
> rozwiazywania gigantycznych problemow nieliniowej optymalizacji
> kombinatorycznej i programowania liniowego. W czasie rezczywistym -
> jak sie "nie wyrobi" na okreslona godzine gdy zamowienia na transport
> musza byc wyslane do przewoznikow (elektronicznie, zreszta) to jest
> "po ptakach".

A ile jest tych towarow, producentow, i odbiorcow?

> Tak zreszta, number crunching to tylko 1/3 calosci. Reszta to data
> management, obrobka danych, obsluga bazy danych i sieci, komunikacja,
> wizualizacja itd.

1/3 calosci? Tzn. 1/3 obciazenia obliczeniowego maszynek?
Hmm... To jakiej wielkosci sa te dane, ze ich obsluga zajmuje az
2 x tyle co obliczenia?

Mam nadzieje jednak, ze np. wizualizacja nie zajmuje jednak znaczacego
czasu CPU w tym procesie?

-- 
Krzysztof Halasa
Network Administrator of The Palace of Youth in Warsaw


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 17:04:17 MET DST