KOMPYUTER TƏLİM TEXNOLOGİYALARI
95
Məqalədə paralel proseslərin aparat (prosessor), əməliyyat sistemi və proqram səviyyələrində
həyata keçirilməsi araşdırılır; paralel proseslərin proqramlaşdırılmasında hesablama sisteminin
aparat və proqram resurslarından istifadə texnologiyası öyrənilir.
Paralel hesablama texnologiyaları əsasən üç aspektdə (miqyasda) baxıla bilər. Bunlardan
birincisi - aparat dəstəyi (mikroprosessor və platforma) səviyyəsində, ikincisi - əməliyyat sistemi və
üçüncüsü - tətbiqi proqram səviyyələrində paralel proseslərdir.
Baxılan mövzuda paralel hesablama proseslərinin təşkili proqramlaşdırma baxımından tətqiq
edilir. Lakin buna baxmayaraq paralel hesablamanın təşkili - sistemin mikroprosessorunun paralel
hesablamanı dəstəkləməsi və bunu əməliyyat sisteminin nə dərəcədə reallaşdırmasından asılıdır.
Buna görə də öncə paralel hesablama texnologiyaları ilə tanış olaq.
Hyper Threading (HT) texnologiyası.
Hyper Threading texnologiyasının mahiyyəti bir prosessorun iki nüvəyə malik olmasından
və bu nüvələrin eyni icra konveyerini, kəş yaddaşını (və digər qurğuları) bölüşmələrindən ibarətdir.
Hyper Threading texnologiyasını dəstəkləyən mikroprosessor əməliyyat sistemi tərəfindən iki fiziki
prosessor kimi “görünür”.
Ümumiyyətlə, tətbiqi proqramların icrası
zamanı prosessor resurslarının eyni anda yalnız bir
hissəsi istifadə olunur. Belə halda istifadə
olunmayan resursları da işlə təmin etmək olar,
məsələn daha bir proqramın paralel yerinə
yetirilməsi, və ya eyni proqramın başqa axınını
(Thread) icra etməklə (şəkil 1).
Burada, çoxprosessorluluqla coxaxınlılığı
qarışdırmamaq lazımdır. Bu məqsədlə bir məqama
diqqətinizi çəkməyi vacib sayırıq. Prosessorun
nüvəsinin obyekti prosesdir [1]. Hər bir icra olunan
proqram- nüvə üçün bir prosesdir. Proses inert bir anlayışdır. Proqramın, yəni prosesin nəsə etməsi
üçün o, bir və ya bir neçə axın (tread) kodlarını yerinə yetirməlidir [1]. Bir prosessorlu sistemlərdə
bir neçə axının eyni zamanda icra olunması prosessor vaxtının kvantlanması hesabına əldə olunur.
Yəni prosessor ayrılmış zaman kvantında bir axını, digər zaman kvantında isə digər axını və s. icra
edir. Bu halda təbii ki, bir axının icrası zamanı digər axının icrası dayandırılır. Axınların kiçik
zaman kvantında sürətlə əvəzlənməsi prosessorun eyni anda bir neçə iş görməsi görüntüsü yaradır.
Amma əslində, izah olunduğu kimi söhbət eyni nüvə və eyni axından getdiyindən, eyni vaxtda icra
olunan axın sayı artdıqca baxılan axına nəzərən prosessorun məhsuldarlığı (sürəti) təbii ki, aşağı
düşəcək. Hyper Threading prosessorun sərbəst resurslarından istifadə etməklə fiziki olaraq eyni
anda iki axın icra etməyi nəzərdə tutur ki, bu da prosessorun ümumi məhsuldarlığını artırır. Burada,
əslində əmrləri birbaşa icra edən blokların sayının artırılmasından deyil, onların yüklənməsinin
optimallaşdırılmasından söhbət gedir.
Intel-in məlumatlarına əsaslanaraq qeyd etmək lazımdır ki, Hyper Threading
texnologiyasının tətbiqi prosessorun məhsuldarlığını 30%-dək artırmağa imkan verir. Təbii ki, bu
artım konkret proqramın Hyper Threading texnologiyası üçün nə dərəcədə optimallaşdırılmasından
asılıdır.
Nüvə 1
Nüvə 2
Kəş
-
y
a
d
d
a
ş
Prosessorun nüvəsi
Prosessor
Periferiya
Çipset
Operativ yaddaş
Nüvə 1
Nüvə 2
Kəş
-
y
a
d
d
a
ş
Prosessorun nüvəsi
Prosessor
Periferiya
Çipset
Operativ yaddaş
Şəkil 1. Hyper-Threading texnologiyası.
KOMPYUTER TƏLİM TEXNOLOGİYALARI
96
Digər bir məqamı da nəzərinizə çatdırmaq
istərdik.
HT texnologiyasının işləməsi üçün
hesablama sistemində bu texnologiyanı dəstəkləyən
Pentium prosessorunun olması, çipsetin, BIOS-un və
əməliyyat sisteminin bu texnologiyanı dəstəkləməsi
zəruridir. Hazırda Windows ailəsindən Windows XP
bu texnologiyanı tam dəstəkləyən yeganə əməliyyat
sistemidir.
Deməli, Hyper Threading texnologiyasının
effektivliyi təkcə prosessorun bu texnologiyanı
dəstəkləməsindən asılı deyil. Hyper Threading
texnologiyasının
tətbiqinin
prosessorun
məhsuldarlığını artırması üçün proqramın optimallaşdırılması və əməliyyat sisteminin də bu
texnologiyanı dəstəkləməsi zəruridir.
İki və çoxnüvəli mikroprosessorlar.
Proqramçı baxımından, bu, sadəcə bir korpusda iki (və daha çox) prosessorun ümumi giriş-
çıxış şinini bölüşməklə eyni zamanda (paralel) işləməsidir. Ümumiyyətlə, ilk baxışda ikinüvəlilik
(çoxnüvəlilik) bir korpusda iki (və ya bir neçə) prosessorun bu və ya digər formada birgə işləməsi
kimi görünür. Proqram təminatı baxımından əməliyyat sistemi bir ikinüvəli prosessoru bir prosessor
əvəzinə iki ayrı prosessor kimi görür. Əslində məsələnin mahiyyəti bir qədər fərqlidir. Bunu
anlamaq üçün prosessor və prosessor nüvəsi kimi iki fərqli anlayışlarla tanış olmalıyıq.
Əvvəla, ikinüvəli prosessor eyni anda iki təlimat axınını paralel olaraq icraetmə imkanına
malikdir. Adi prosessorlarda “eyni anda” yerinə yetirilən əmrlər isə sadəcə görüntüdür - əslində
əmrlər ardıcıl olaraq icra olunur. İkinüvəli prosessor Intel Hyper-Threading (HT) texnologiyasını
bizə xatırladır. HT texnologiyasında iki virtual prosessor indi iki fiziki prosessorla əvəz edilmişdir
(şəkil 2). Birincidə (HT texnologiyasında) virtual prosessorlar fiziki prosessorun bütün resurslarını -
kəş, konveyer və icraedici qurğularını öz aralarında bölüşdürürdülər. Belə olanda axınlardan biri
resursları məşğul etdiyi halda digəri gözləmək məcburiyyətində qalırdı. Yəni bu “iki prosessorun”
bütün resursları ümumidir. Mahiyyət etibarilə Hyper-Threading tamamilə hər hansı bir çoxməsələli
(çoxtapşırıqlı) əməliyyat sistemi (ƏS) kimi işləyir. Bu o deməkdir ki, ƏS işləyən hər bir prosesə bir
“virtual” maşın ayırır və sonra həmin proseslərin fiziki avadanlıqdan istifadə zamanlarını
planlamaqla məşğul olur. Hyper-Threading texnologiyasının bundan fərqi bu məsələnin sadəcə
daha aşağı - aparat səviyyəsində həyata keçirilməsindədir. Əgər Hyper-Threading texnologiyasında
məhsuldarlığın real olaraq 10-20% (NetBurst arxitekturasında olan Pentium 4 prosessorları üçün)
artımı əldə olunursa, gerçək ikinüvəli prosessorda artım 80-100% təşkil edə bilər. İkinüvəli
prosessor miniatür ölçüdə SMP-sistemdir. SMP (Simmetrical MultiProcessing- simmetrik
çoxprosessorluluq) termini sistem resurslarını bərabər bölüşən (xüsusən də operativ yaddaşı) N
sayda prosessora malik hesablama sistemini ifadə edir.
Konseptual baxımdan ikinüvəli prosessor iki prosessorlu sistemdən heç nə ilə fərqlənmir.
İkinüvəlilik (və çoxnüvəlilik) Hyper-Threading texnologiyası ilə birlikdə isə mikroprosessorların
məhsuldarlığının artırılması yolunda daha bir addımı təşkil edir. Belə prosessor eyni anda dörd axın
icra etməyə qadirdir.
Praktik baxımdan, ikinüvəli prosessor istifadəçiyə sistemdə gerçəkdən eyni anda iki
proqramı işlətməyə imkan verir- məsələn, antivirus proqramı ilə faylların yoxlanması və oyun
proqramını və ya hər hansı bir multimedia sistemini eyni zamanda işlətmək kimi.
Əməliyyat sistemi və paralel hesablamaların proqramlaşdırılması.
Qeyd olunan aparat vasitələrinin paralel hesablama resurslarını reallaşdırmaq üçün
əməliyyat sisteminin müvafiq imkanları mühüm əhəmiyyət kəsb edir. Məsələn, DOS-da paralel
İcra konveyeri
Kəş
-
y
a
d
d
a
ş
Prosessorun nüvəsi
Prosessor 1
Kəş
-
y
a
d
d
a
ş
Prosessorun nüvəsi
Prosessor 2
İcra konveyeri
Periferiya
Çipset
Operativ yaddaş
Şəkil 2. İkinüvəli prosessor.
Dostları ilə paylaş: |