Multiprocesors & threads

Derfinak Jan derfinak na hron.fei.tuke.sk
Čtvrtek Duben 30 18:17:57 CEST 1998


On Thu, 30 Apr 1998, Dobes Jiri wrote:

> Dobry den,
> 
> Chtel bych na viceprocesorovy vypocetni server (pocitam tak 2xPPro nebo
> vic procesoru) nainstalovat Linux. Budeme na nem pocitat programama v
> f77 a C. 
> Budu potrebovat nejaky specialni knihovny pro 2 procesory? (Myslim,
> ze ne, ale nejsem si jisty.) Aby byly optimalne vyuzity vsechny
> procesory
> budu protebovat linuxthreads-0.5-1.i386.rpm. Je pro kompilaci programu

Odporucam radsej poslednu verziu glibc. Thready na linuxe su dost vo vyvoji
a linuxthreads-0.5-1.i386.rpm sa mi vidi dost stary.
 
> pro multithreading potreba nejake prepinace? (V man gcc jsem to nenasel)
>  (Jak zkompiluju hello_word.c pro vice procesoru pro multithreading?) 
> Vetsina programu je psana JEN PRO VYPOCTY - cili ve f77 a nejake
> programovani
> pro thready neprichazi v uvahu. Moc tomu nerozumim a budu moc rad, kdyz 
> mi poradite.

Program, ktory chce vyuzivat multithreading musi thready vytvorit. Inac OS
nevie rozdelit jeden celistvy proces na viac procesorov. V podstate existuju
dva pristupy k threadom. Prvy je, ze jeden proces sa prehlasi za manazera
threadov a sam vytvara vo svojom priestore thready. O tychto threadoch OS
nic nevie, vsetky sa mu javia ako jeden proces a teda nevie ich ani rozdelit
na viac procesorov. Taketo thready boli implementovane v libc5. V glibc su
implementovane thready tak, ze na vytvorenie threadu sa pouziva volanie
jadra a kazdy thread ma vlastny PID. To umozni OS vykonavat jeden
multithreadovy program paralelne na viacerych procesoroch. Pridelenie
procesora takymto threadom riesi systemovy scheduler. (Kym v prvom pripade o
tom rozhodoval proces-manazer v ramci casu, ktory mal prideleny od systemu.)

Takze v kratkosti, pokial program nie napisany multithreadovo (alebo nespusta
paralelne procesy pomocou  fork), dalsi procesor ho nezrychli (alebo ho
zrychli len minimalne - ostatne procesy budu vyuzivat dalsi procesor, a tym
sa ujde viac procesoroveho casu pre nas program, ale tu sa uz jedna o
zrychlenie celeho systemu).

					jano

----- I can't get no satisfaction -----
			Rolling Stones
 



Další informace o konferenci Linux