- Член од
- 28 мај 2008
- Мислења
- 3.966
- Поени од реакции
- 4.073
Ја отварам оваа тема за да видам дали некој се чепка по оваа тема.
Имено, со новите процесори(MultiCore) паралелизмот е се поглавна тема. Прашањето е како да ги паралелизираме постојните програми и тоа во Јava???
Како прво малку запознавање со паралелно програмирање односно некои концепти.
Постојат два концепти за паралелизам и тоа:
1. ShareMemory- Овој концепт е базиран така да многу процесори користат една заедничка меморија. Овој принцип "смрди" во пракса и многу ретко е имплементиран. Причината е тоа што ретко може да се најде проблем кој што нема независни инструкции. Таков е на пример проблемот на собирање на матрици каде нема никаква зависност.
Во овој концепт се користат методи кои ако наиде на некоја зависна операција треба да се чека на неа како на пример, lock и unlock, за да може да се обезбеди конзистентност на системот.
2. Мessage-Passing Interface- Овој концепт е базиран така што се во системот се креираат повеќе процеси со сопствена меморија и процесите комуницираат меѓусебе за размена на податоци. Овде процесите може да се креираат и на едно процесорска машина. Инаку ако се креираат на повеќе процесори тогаш процесите се делат на колку процесори има, тоа е во зависност од реалната имплементација.
Во пракса многу се применува овој концепт и има свои реализации како MPI но претежно ова е во C или C++.
За Јava има некои имплементации како на пример Green Tea(имплементација е еден слој на RMI), но нема нешто посериозно.
Ако може некој да ми каже повеќе за некои имплементации во библиотеки кои се доста конзистентни и се во поголема примена.
Чекам пораки....
:bilokojzbor:
Имено, со новите процесори(MultiCore) паралелизмот е се поглавна тема. Прашањето е како да ги паралелизираме постојните програми и тоа во Јava???
Како прво малку запознавање со паралелно програмирање односно некои концепти.
Постојат два концепти за паралелизам и тоа:
1. ShareMemory- Овој концепт е базиран така да многу процесори користат една заедничка меморија. Овој принцип "смрди" во пракса и многу ретко е имплементиран. Причината е тоа што ретко може да се најде проблем кој што нема независни инструкции. Таков е на пример проблемот на собирање на матрици каде нема никаква зависност.
Во овој концепт се користат методи кои ако наиде на некоја зависна операција треба да се чека на неа како на пример, lock и unlock, за да може да се обезбеди конзистентност на системот.
2. Мessage-Passing Interface- Овој концепт е базиран така што се во системот се креираат повеќе процеси со сопствена меморија и процесите комуницираат меѓусебе за размена на податоци. Овде процесите може да се креираат и на едно процесорска машина. Инаку ако се креираат на повеќе процесори тогаш процесите се делат на колку процесори има, тоа е во зависност од реалната имплементација.
Во пракса многу се применува овој концепт и има свои реализации како MPI но претежно ова е во C или C++.
За Јava има некои имплементации како на пример Green Tea(имплементација е еден слој на RMI), но нема нешто посериозно.
Ако може некој да ми каже повеќе за некои имплементации во библиотеки кои се доста конзистентни и се во поголема примена.
Чекам пораки....
:bilokojzbor: