• Bilginin sıralı ve paralel işlenmesi. Paralel bilgi işleme türleri

    Paralel veri işleme

    Bilgisayar bilimi, sibernetik ve programlama

    Eşzamanlılığın otomatik tespiti. Paralellik derecesi ve seviyeleri. Paralellik türleri. Paralel VS'nin performansı birçok faktöre bağlıdır ve büyük ölçüde sistemin mimarisine ve yapısına bağlıdır. Paralel bir sistemin yapısını çizin ve şunları açıklayın: sistemdeki paralellik derecesi ve düzeyi; paralel işlemciler arasında veri aktarımının organizasyonundan; anahtarlama sisteminden; işlemcilerin ve belleğin etkileşiminden; donanım ve arasındaki ilişki hakkında yazılım uygulaması makro işlemler.

    Ders 1

    Paralel veri işleme

    Plan

    1. Algoritmanın kademeli paralel formu.

    2. Paralelliğin otomatik tespiti.

    3. Paralellik derecesi ve seviyeleri.

    4. Paralellik türleri.

    paralellik bu, birkaç aritmetik, mantıksal veya hizmet işlemini aynı anda gerçekleştirme yeteneğidir. Ayrıca, işlemler hem büyük blok hem de küçük blok olabilir.

    Paralel WAN'ların performansı birçok faktöre ve büyük ölçüde sistemin mimarisine ve yapısına bağlıdır.(paralel bir sistemin yapısını çizin ve açıklayın):

    Sistemdeki paralellik derecesi ve seviyesinden;

    Paralel işlemciler arasında veri aktarımının organizasyonundan;

    Anahtarlama sisteminden;

    İşlemcilerin ve belleğin etkileşiminden;

    Bir makro işlemin donanım ve yazılım uygulaması arasındaki ilişkiden.

    Paralel işleme çeşitli ilkelere dayanabilir:

    Mekansal paralellik;

    Zamansal paralellik:

    1. Boru hattı.
    2. Vektörizasyon.
    3. Matris.
    4. sistolik.
    5. Veri akışı işleme yapısının organizasyonu.
    6. Hiperküp yapısına dayalı sistemin organizasyonu.
    7. Uçağın dinamik yeniden yapılandırılması.

    Herhangi bir algoritmanın açıklaması, iç içe geçme özelliğine bağlı olarak hiyerarşiktir. Programlama yaparken, tahsis edinyerleştirme seviyeleri:görevler, görevler, alt görevler (süreçler), makro işlemler, işlemler.Yuvalama, paralelleştirmenin derinliğini belirler ve paralel bilgi işlem modellerinin analizinde algoritmaların önemli özelliklerinden biridir.

    1. Algoritmanın katmanlı paralel formu

    Algoritmaların en genel temsil biçimi, algoritmanın bilgi-kontrol grafiğidir,algoritmanın ifadeleri ile programdaki koşulsuz ve koşullu atlamalar arasındaki veri bağımlılığını yansıtır. Böyle bir grafik, seçilen problem çözme yöntemi için tüm paralellik türlerini dolaylı olarak içerir.Görev paralelliğinin daha spesifik bir temsil biçimi, katmanlı paralel formun (LPF) aygıtıdır.

    Algoritma katmanlı paralel formkatmanlar şeklinde temsil edilir ve sıfır katman, birbirinden bağımsız operatörleri (dalları) içerir.

    Grafik işaretlenebilir geçişler , ilkel bir işlemin hesaplama sonuçlarının bir katmandan sonraki katmandaki bir işleme aktarılması anlamına gelir. Katmanlar geçişlere bölünür. Olabilir"boş" geçişler Ve "boş" ilkel işlemler. Boş bir işlem, önceki katmanda elde edilen sonucun kaydedilmesine karşılık gelir. Ardışık bir etkinlik zincirinde boş bir etkinlik herhangi bir katmana yerleştirilebilir.

    JPF'yi oluştururken, temel set ilkel işlemler (PNO). Katmanlı paralel form aşağıdakilerle karakterize edilir: parametreler:

    1. Sayım uzunluğu (katman sayısı) L.

    2. i'inci katmanın genişliği - b i.

    3. Katmanlı paralel formun grafiğinin genişliği B = maks (b ben ).

    4. JPF grafiğinin ortalama genişliği Evlenmek .

    5. Doldurma faktörü i -inci seviye k ben .

    6. Grafikteki işlemlerin dağılım katsayısı - Q j i , j BNO , j'nin sayısı nerede -inci tür operasyonlar i. katman.

    7. JPF'de bu grafik tarafından temsil edilen algoritmayı uygulamak için gereken minimum hesap makinesi sayısı (BNO'dan).

    8. Minimum algoritma çözüm süresi (her katman için maksimum hesaplama miktarına sahip hesaplayıcıların yanıt sürelerinin toplamı) Tmin.

    9. Algoritmanın bağlanabilirliği (algoritmanın uygulanması sırasında saklanması gereken ara sonuçların sayısı)İLE .

    2. Eşzamanlılığın otomatik olarak algılanması

    Paralel bir algoritma oluşturmanın iki yolu vardır: doğrudan problem ifadesinden veya sıralı bir algoritmayı dönüştürerek.

    Sıralı bir algoritmadan paralel bir algoritma oluşturma yöntemleri, belirli kurallara göre paralel olanlarla değiştirilen sıralı bir algoritmada sık sık meydana gelen tipik yapıların seçimine dayanır. (Bu, sıralı bir dilde programlama yaparken algoritma tarafından kaybedilen paralellik derecesini bir dereceye kadar yükseltmeye izin verir.)

    Bilgisayar programının hazırlanması sırasında paralellik derecesindeki değişimin doğası Şekil 1'de gösterilmektedir. 2.2.

    potansiyel paralellik

    Yöntem

    çözümler

    Orjinal metin

    makine programı

    Pirinç. 2.2. Program geliştirme sırasında potansiyel paralellik değişikliği:

    1 paralel programlama sistemi;

    2 sıralı programlama ve

    vektörleştirici derleyici

    Seri olandan dönüştürerek paralel bir algoritma oluştururken elde edilen daha düşük paralellik düzeyine rağmen, seri DOD için geliştirilmiş ve hataları ayıklanmış pahalı uygulama programlarının kullanılmasını mümkün kıldığından, bu yöntem yaygın olarak kullanılmaktadır.

    Sıralı bir programda, Açık ve gizli paralel işleme

    Programı analiz ederken, bir veri akış grafiği oluşturulur. Süreçlerin açık paralelliğini saptamak için, girdi (okuma) değişken kümeleri analiz edilir R ve çıktı (kaydedilebilir) değişkenler W her süreç.

    Açık işlemler arasında paralel işlem tespit edilebilir ben ve j ( ben ≠ j ) aşağıdaki koşulları sağlama:

    bir işlemden gelen girdi başka bir işlem tarafından değiştirilmemeli (yazılmamalıdır)

    iki işlem paylaşılan değişkenleri değiştirmemelidir

    a) R ben W j =;

    b) W ben R j =;

    c) W ben W j =;

    Gizlenmiş paralel işleme, bir seri programın paralel olarak yürütülmesini mümkün kılmak için bir tür dönüştürme prosedürü gerektirir. Dönüşüm aşağıdaki gibi olabilir:

    a) aritmetik ifade ağaçlarının yüksekliğinin azaltılması (Şekil 2.3). ile aritmetik ifadeler için N değişkenler veya sabitler, ağacın yüksekliğini azaltmak, siparişin daha hızlı işlenmesini sağlar O(n/log2n ) kullanarak O(n) işlemciler;

    b) doğrusal yinelenen ilişkilerin dönüşümü;

    ((a + b) + c) + d

    (a + b)+ (c + d)

    Pirinç. 2.3. Bir ağacın yüksekliğini azaltmak

    c) operatörlerin değiştirilmesi;

    d) koşullu geçiş bloklarının ve döngülerin kanonik forma dönüştürülmesi;

    e) döngülerin dağılımı.

    Paralel mimariler yüksek performans, eğer paralellik dönüşümü, algoritmanın çalıştırılması gereken uçak mimarisinin özelliklerini hesaba katarsa.

    Paralelliği dönüştürürken, programlar şunları dikkate alır: 1) verilerin bellekteki düzeni; 2) bellek adresleme (indeksleme); 3) veri yolunun seçimi (işlemcileri ve belleği bağlama yöntemi).

    Şekil 2.4. Depolamak

    kaydırma matrisleri

    Bellekteki düzeni ele almanın bir örneği olarak, çapraz adreslemeli belleği ele alalım. Matrislerin paralel işlenmesini sağlamak için, satır ve sütunlarının öğeleri, işlemcilerin bellek aygıtları arasında aynı anda okunabilecek ve işlenebilecek şekilde dağıtılmalıdır. Bu durumda, matris bir vardiya ile saklanır (Şekil 2.4).

    Herhangi bir algoritma ardışık (skaler) bölümler içerir. Algoritmanın paralel bir uçakta uygulanmasında bu skaler segmentlerin uzunluğunun belirleyici faktör olduğu kanıtlanmıştır.

    3. Paralellik derecesi ve seviyeleri

    paralellik derecesi(D) işlemci (işlem cihazları) sayısının sınırlı olmaması koşuluyla, görev algoritmasını uygularken sistemdeki paralel cihazların sayısının sırasıdır.(Başka bir tanım varparalellik dereceleriprogramın yürütülmesine her t zamanında paralel olarak katılan çok işlemcili bir sistemin işlemci sayısıdır.)

    1) Düşük derece: 2 ila 10 işlemci.

    2) Orta derece: 10 ila 100 işlemci.

    3) Yüksek derece: 100 ila 10 4 işlemci.

    4) Süper yüksek derece: 10'dan 4 ila 10 6 işlemci.

    Pirinç. 2.5. Eşzamanlılık Profili

    Parametrenin grafik gösterimi D(t ) zamanın fonksiyonları olarak adlandırılırprogram eşzamanlılık profili. Gözlem süresi boyunca işlemci kullanımındaki değişiklikler birçok faktöre bağlıdır (algoritma, mevcut kaynaklar, derleyici tarafından sağlanan optimizasyon derecesi, vb.). Şek. Şekil 2.5, tipik bir eşzamanlılık profilini göstermektedir.

    İÇİNDE Uygulama programları geniş bir potansiyel paralellik yelpazesi vardır. Hesaplama açısından yoğun programlarda, her döngüde 500'den 3500'e kadar paralel olarak yürütülebilir Aritmetik işlemler bunu yapmak için mevcut bir bilgi işlem ortamı varsa. Bununla birlikte, uygun şekilde tasarlanmış bir süper skala işlemci bile döngü başına 2 ila 5,8 talimatı destekleyebilir. Bu düşüş, öncelikle iletişim ve sistem maliyetlerinden kaynaklanmaktadır.

    Paralellik derecesi şunları önemli ölçüde etkiler: uçağın mimarisi, özellikle anahtarlama sistemi, paralel çalışan işlemciler arasındaki etkileşimin organizasyonu ve işlemciler ile bellek arasındaki veri alışverişi yöntemleri. Paralellik düzeyi, hesaplama olanaklarının performansı üzerinde paralellik derecesinden daha güçlü bir etkiye sahiptir.

    Dikkate almak algoritmik ve şematik paralellik seviyeleri.

    Aşağıdakiler varalgoritmik paralellik seviyeleri:

    1. Meslek seviyesi:

    a) görevler arasında;

    b) görev aşamaları arasında.

    2. Program seviyesi:

    a) programın bölümleri arasında(bir görevin bölümleri bir dizi hesap makinesinde yürütülür);

    b) döngüler içinde.

    (Döngüdeki bağımsız yinelemeler birbirine bağlı değilse. Örneğin : I:=1 ila N için A(I):=B(I) + C(I)) yapın

    3. Komut seviyesi:

    a) komut yürütme aşamaları arasında.

    4. Aritmetik ve rakam seviyesi:

    a) bir vektör işleminin öğeleri arasında;

    b) içeride mantık devreleri ALU.

    Seviyelerin her biri, temel olarak bilgi işlem tesislerinin özel yapılarının geliştirildiği belirli özelliklerle karakterize edilir. Komut seviyesi herhangi bir şekilde uygulanır modern bilgisayarlar kişisel bilgisayarlar dahil.

    Şema düzeyi paralellikbu, veri işlemenin paralelleştirildiği veya paralel hesaplamanın organize edildiği donanım seviyesidir.

    Paralel işleme, aşağıdaki devre seviyelerinde uygulanabilir:

    1. Mantık kapıları ve hafıza elemanları seviyesinde.Bu en alt seviye transistör seviyesi. Burada paralel mantık devreleri, mantık kapılarından ( LS ) (örneğin: paralel toplayıcı).

    2. Mantık devrelerinin seviyesi ve hafızalı basit otomatlar.Mantıksal devrelerden paralel bir temel otomat oluşturulur ( ES).

    3. kayıt seviyesi ve Entegre devreler hafıza.Temel otomatlarda paralel mikroişlemci devreleri elde edilir ( Milletvekili).

    4. Temel mikroişlemcilerin seviyesi.Paralel makroişlemciler, blok ortası işlemleri gerçekleştirmek için mikroişlemcilerden oluşturulur ( HARİTA).

    5 . Büyük işlemleri uygulayan makroişlemcilerin düzeyi.Burada makro işlemlerin paralelliği gerçekleştirilir. Makroişlemciler, paralel çok işlemcili sistemler oluşturmak için kullanılır ( MPS).

    6. Seviye bilgisayarlar, işlemciler ve programlar.Çok işlemcili sistemlerden en yüksek paralellik seviyesi paralel olsun bilgi işlem sistemleri ( VS).

    4. Paralellik türleri

    4.1. Doğal paralellik ve

    birçok nesnenin eşzamanlılığı

    Bilgi grafiğinde, başka bir alt grafiğin ilkel işlemlerinin uygulanmasıyla elde edilen herhangi bir ara sonucu karşılıklı olarak kullanmayan "dikey" bağımsız alt grafikler ayırt edilebilir. Bu tür paralellik, bağımsız görevlerin doğal paralelliği olarak adlandırılır.

    görev var doğal eşzamanlılık, orijinal formülasyonunda çok boyutlu vektörler, çok boyutlu matrisler veya kafes fonksiyonları üzerinde bir işleme indirgenirse (Şekil 2.6). Görevlerin ara sonuçları burada kullanılmaz. Her görev diğerlerinden bağımsız olarak programlanmıştır. Bu tür bir paralellik, bilgisayarların komplekslere entegrasyonunu gerektirmez. Bununla birlikte, SOD'deki bağımsız görevlerin sayısını artırmak, sistemin verimini artırır. Örneğin: işlemlerin çok işlemcili sunucularda bir DB'ye işlenmesi.

    1 görev

    2 görev

    Pirinç. 2.6. Doğal paralellik ile karakterize edilen bir işin bilgi grafiği

    Ori

    Ori

    Ori

    Ori

    Ori+1

    Ori+1

    Ori+1

    Ori+1

    1

    2'de

    3

    4'te

    Pirinç. 2.7. Bilgi Grafiği

    görev karakterize

    bir dizi nesnenin eşzamanlılığı

    Çoklu Nesne Paralelliğitemsil etmek özel durum doğal paralellik Bunun anlamı, görevin, aynı veya neredeyse aynı programa göre işlenen farklı, ancak aynı tür nesneler hakkındaki bilgileri işlemek olmasıdır (Şekil 2.7).

    Burada nispeten az ağırlık, sözde tarafından işgal edilir.integral işlemler. İntegral işlemlerinin ilk işlenenleri vektörler veya fonksiyonlar veya nesne kümeleridir ve sonuç bir sayıdır. Örneğin, n-boyutlu vektörler için iç çarpımı hesaplama

    iki tür işlem içerir: vektör bileşenlerinin ikili çarpımı ve ardından bu vektörün tüm bileşenlerini bir araya toplayan "integral işlem" (n-boyutlu bir vektör üzerinde bir işlem).

    Bir dizi nesnenin paralelliği ile, genel durumdan daha sık, durumlar vardır. ayrı bölümler hesaplamalar farklı nesneler için farklı yapılmalıdır.

    Örneğin bazı fonksiyonların değerlerini bulurken belirli bir alanla sınırlı. Tüm noktalar için alan içindeki değerler bir formüle göre, sınır noktalarında ise diğerine göre hesaplanır.

    Bir dizi nesnenin paralelliği aşağıdakilerle karakterize edilir: parametreler:

    1. Toplam program uzunluğu L tüm dallardaki tüm operatörlerin uzunlukları toplanır.

    2. Ortalama program uzunluğu L cf görevin rankına göre hesaplanır.

    Temel kantitatif karakteristik paralelleştirilecek görev görev sıralaması r (®) bu, paralel işleme için parametre sayısıdır (örneğin, vektör bileşenlerinin sayısı, fonksiyonun belirtildiği nokta sayısı).

    3. Problemin sapma değeri D

    Eğer herkes için bilgi işleme programı R nesneler tamamen aynıdır, o zaman D =1 ve farklı nesnelerin programları birbirinden ne kadar farklıysa, o kadar fazla D.

    4.2. Bağımsız Şubelerin Paralelliği

    öz bağımsız şubelerin eşzamanlılığıproblem çözme programında dal adı verilen bağımsız bölümlerin ayırt edilebilmesinden oluşur. CS uygun donanıma sahipse dallar paralel olarak yürütülebilir (Şekil 2.8).

    Program dalı Y şubeye bağlı değil eğer:

    Pirinç. 2.8. Aşağıdakilerle karakterize edilen bir görevin bilgi grafiği

    bağımsız şubelerin eşzamanlılığı

    onların arasında işlevsel bağlantı yok, yani Y kolunun girdi değişkenlerinden hiçbiri X kolunun veya X'e bağlı herhangi bir kolun çıktı değişkeni değildir;

    1. arasında hafızanın çalışma alanlarında bağlantıları yoktur;
    2. yerine getirilmeleri gerekirİle farklı programlar ;
    3. yönetimde bağımsız, yani Y dalının yürütme koşulu, X dalının veya ona bağlı dalın yürütülmesi sırasında üretilen özelliklere bağlı olmamalıdır.

    4.3. Bitişik işlemlerin paralelliği veya

    yerel paralellik

    Bitişik işlemlerin paralelliğimevcut işlemler için girdi verileri hesaplamanın daha önceki aşamalarında elde edildiğinde gerçekleşir ve hesaplama araçlarının oluşturulması, çıktı verileri ve sonuçlarla birbiriyle ilişkili olmayan birkaç işlemin yürütülmesini birleştirmenize izin verir.

    Yerel paralellik aşağıdakilerle karakterize edilir: parametreler:

    1. Bitişik işlemlerin bağlantı göstergesibir işlemin sonucunun onu takip eden işlemde kullanılma olasılığıdır. Bir işlemin bağlanabilirliği ne kadar düşükse, onun için bitişik işlemlerin paralellik derinliği o kadar fazladır. Tipik olarak, değer 0.10.5 değerlerine sahiptir.

    2. Belirli bir işlemden başlayarak en az uzunlukta bir zincir olma olasılığı LL

    3. Programdaki herhangi bir işlemden başlayarak, tam olarak bir zincir olma olasılığı ben aynı anda yapılabilecek işlemler ben

    4. Bitişik işlemlerin paralellik derinliği L PSO eş zamanlı olarak gerçekleştirilebilen bir işlemler zincirinin uzunluğunun beklentisidir.

    Programların yerel optimizasyonu, arka arkaya yürütülmesi gereken birkaç talimata bakmak ve bazılarının sırasını değiştirmek, belki de bitişik işlemlerin mümkün olan maksimum paralelliğini sağlamak için yazmaçların ve bellek hücrelerinin sayısını değiştirmekten oluşur.

    Çoğu durumda, bitişik işlemlerin bağlantı indeksi, sorundan çok yerel optimizasyonun kalitesine bağlıdır.

    ________________________________________________________________________________________________

    Kurs "Bilgisayarların organizasyonu"

    10 -

    (ders projesi)

    Eser siteye eklendi site: 2016-06-20

    "> ders " xml:lang="en-US" lang="en-US">6

    ">Paralel veri işleme

    "> Paralellik, birkaç aritmetik, mantıksal veya hizmet işlemini aynı anda gerçekleştirme yeteneğidir. Ayrıca, işlemler hem büyük blok hem de küçük blok olabilir.

    Paralel işleme çeşitli ilkelere dayanabilir:

    Mekansal paralellik;

    Zamansal paralellik:

    1. Boru hattı.
    2. ">Vektörleştirme.
    3. "> Matris.
    4. "> Sistolik.
    5. "> Veri akışı işleme yapısının organizasyonu.
    6. "> Hiperküp yapısına dayalı sistemin organizasyonu.
    7. "> Uçağın dinamik olarak yeniden yapılandırılması.

    "> Herhangi bir algoritmanın açıklaması, iç içe geçme özelliğine göre hiyerarşiktir. Programlama sırasında, iç içe geçme seviyeleri ayırt edilir: görevler, görevler, alt görevler (süreçler), makro işlemleri, işlemler.

    "> 1. Algoritmanın katmanlı paralel formu

    "> Algoritmaların en genel temsil biçimi, algoritmanın bilgi kontrol grafiğidir. Görevlerin paralelliğinin daha spesifik bir temsil biçimi, katmanlı paralel formun (LFP) aparatıdır.

    "> Katmanlı-paralel formdaki algoritma, katmanlar şeklinde temsil edilir ve sıfır katman, birbirinden bağımsız operatörleri (dalları) içerir.

    "> Grafikte, geçişleri, yani bir ilkel işlemi hesaplama sonuçlarının bir katmandan sonraki katmandaki bir işleme aktarılmasını belirleyebilirsiniz. Katmanlar geçişlere bölünür. "Boş" geçişler ve "boş" ilkel işlemler olabilir.

    "> NPF'yi oluştururken, temel ilkel işlemler kümesine (BNO) dayanırlar. Katmanlı paralel form, aşağıdaki parametrelerle karakterize edilir:

    ">1. Grafiğin uzunluğu (katman sayısı)" xml:lang="en-US" lang="en-US">L">.

    ">2. Genişlik " xml:lang="en-US" lang="en-US">i">-inci katman - " xml:lang="en-US" lang="en-US">b;vertical-align:sub" xml:lang="en-US" lang="en-US">i">.

    ">3. Katmanlı paralel formun grafiğinin genişliği" xml:lang="en-US" lang="en-US">B">= " xml:lang="en-US" lang="en-US">maks.">(" xml:lang="en-US" lang="en-US">b;vertical-align:sub" xml:lang="en-US" lang="en-US">i">).

    ">4. JPF grafiği B'nin ortalama genişliği;vertical-align:sub">cf "> ">.

    ">5. Doldurma faktörü" xml:lang="en-US" lang="en-US">i">inci katman " xml:lang="en-US" lang="en-US">k;vertical-align:sub" xml:lang="en-US" lang="en-US">i"> – ">.

    "> 6. Sütundaki işlemlerin dağılım katsayısı -" xml:lang="en-US" lang="en-US">S;vertical-align:super" xml:lang="en-US" lang="en-US">j;vertical-align:sub" xml:lang="en-US" lang="en-US">i"> – ">, " xml:lang="en-US" lang="en-US">j"> BNO, nerede "> - miktar " xml:lang="en-US" lang="en-US">j">-inci işlem türü" xml:lang="en-US" lang="en-US">i">-inci katman.

    "> 7. JPF'de bu grafikle temsil edilen algoritmayı uygulamak için gereken minimum hesap makinesi sayısı (BNO'dan).

    "> 8. Algoritmayı çözmek için minimum süre (her katman için maksimum hesaplama miktarı ile hesaplayıcıların yanıt sürelerinin toplamı) T;vertical-align:sub" xml:lang="en-US" lang="en-US">min">.

    "> 9. Algoritmanın bağlantısı (algoritmanın uygulanması sürecinde saklanması gereken ara sonuçların sayısı) С.

    ">2. Eşzamanlılığın otomatik olarak algılanması

    "> Paralel bir algoritma oluşturmanın iki yolu vardır: doğrudan problem ifadesinden veya sıralı bir algoritmayı dönüştürerek.

    "> Sıralı bir algoritmadan paralel bir algoritma oluşturma yöntemleri, belirli kurallara göre paralel olanlarla değiştirilen sıralı bir algoritmada sık sık meydana gelen tipik yapıların seçimine dayanır.

    "> Seri olandan dönüştürerek paralel bir algoritma oluştururken elde edilen daha düşük paralellik düzeyine rağmen, bu yöntem, seri DOD için geliştirilmiş ve hataları ayıklanmış pahalı uygulama programlarını kullanma yeteneği sağladığından yaygın olarak kullanılmaktadır.

    "> Sıralı bir programda, açık ve örtük paralel işleme arasında bir ayrım yapılır.

    "> Programı analiz ederken, bir veri akış grafiği oluşturulur. Süreçlerin açık paralelliğini tespit etmek için, girdi (okuma) değişken kümeleri analiz edilir" xml:lang="en-US" lang="en-US">R"> ve çıktı (yazılabilir) değişkenleri" xml:lang="en-US" lang="en-US">W"> her işlemin.

    ">Gizli paralel işleme, bir seri programın paralel olarak yürütülmesini mümkün kılmak için bir tür dönüştürme prosedürü gerektirir. Dönüşüm aşağıdaki gibi olabilir:

    "> a) aritmetik ifadelerin ağaçlarının yüksekliğinin azaltılması (Şekil 6.3);

    "> b) doğrusal tekrarlayan ilişkilerin dönüşümü;

    "> c) operatörlerin değiştirilmesi;

    "> d) koşullu geçiş bloklarının ve döngülerin kanonik forma dönüştürülmesi;

    "> e) devirlerin dağılımı.

    "> Paralel mimariler, eğer paralellik dönüşümü, algoritmanın çalıştırılması gereken uçak mimarisinin özelliklerini hesaba katarsa, yüksek performans elde eder.

    "> Bellekteki yerleşimi dikkate almanın bir örneği olarak, çapraz adreslemeli belleği ele alalım. Matrislerin paralel işlenmesini sağlamak için, satırlarının ve sütunlarının öğeleri, işlemcilerin bellek aygıtları arasında aynı anda okunabilecek ve işlenebilecek şekilde dağıtılmalıdır. Bu durumda, matris bir kaydırma ile depolanır (Şekil 6.4).

    "> Herhangi bir algoritma sıralı (skaler) bölümler içerir. Bu skaler bölümlerin uzunluğunun, algoritmanın paralel bir uçakta uygulanmasında belirleyici bir faktör olduğu kanıtlanmıştır.

    "> 3. Derece ve paralellik seviyeleri

    ">Paralellik derecesi"> (" xml:lang="en-US" lang="en-US">D">) "> bu, işlemci (işlem cihazları) sayısının sınırlı olmaması koşuluyla, görev algoritmasını uygularken sistemdeki paralel cihaz sayısının sırasıdır.

    ">1) Düşük derece: 2 ila 10 işlemci.

    ">2) Ortalama derece: 10 ila 100 işlemci.

    ">3) Yüksek derece: 100 ila 10;vertical-align:super">4 "> işlemciler.

    "> 4) Süper yüksek derece: 10'dan;vertical-align:super">4 "> en fazla 10 ;vertical-align:super">6 "> işlemci.

    ">Parametrenin grafik gösterimi" xml:lang="en-US" lang="en-US">D">(" xml:lang="en-US" lang="en-US">t">) zamanın bir fonksiyonu olarak programın paralellik profili olarak adlandırılır. Şekil 6.5 tipik bir paralellik profilini göstermektedir.

    "> Uygulama programlarında, çok çeşitli potansiyel paralellik vardır. Hesaplama açısından yoğun programlarda, bunun için mevcut bir bilgi işlem ortamı varsa, her döngüde paralel olarak 500 ila 3500 aritmetik işlem gerçekleştirilebilir. Ancak, düzgün tasarlanmış bir süper skalar işlemci bile, döngü başına 2 ila 5.8 komutları destekleyebilir. Bu düşüş, öncelikle iletişim ve sistem maliyetlerinden kaynaklanmaktadır.

    Paralellik düzeyi, hesaplama olanaklarının performansı üzerinde paralellik derecesinden daha güçlü bir etkiye sahiptir.

    Paralelliğin algoritmik ve devre düzeylerini göz önünde bulundurun.

    Aşağıdaki algoritmik paralellik seviyeleri vardır:

    1. Görev seviyesi:

    a) görevler arasında;

    b) görev aşamaları arasında.

    2. Program seviyesi:

    a) programın bölümleri arasında;

    b) döngüler içinde.

    3. Komut düzeyi (komut yürütme aşamaları arasında).

    4. Aritmetik ve rakam seviyesi:

    "> a) bir vektör işleminin öğeleri arasında;

    "> b) ALU'nun mantık devreleri içinde.

    "> Düzeylerin her biri, özel bilgi işlem araçları yapılarına dayalı olarak belirli özelliklerle karakterize edilir. Komut düzeyi, kişisel bilgisayarlar da dahil olmak üzere herhangi bir modern bilgisayarda uygulanır.

    "> Şema paralellik düzeyi, veri işlemenin paralelleştirildiği veya paralel hesaplamanın düzenlendiği donanım düzeyidir.

    ">Paralel işleme aşağıdaki devre seviyelerinde uygulanabilir:

    "> 1. Mantık kapıları ve hafıza elemanları düzeyinde (Şekil 6.6).

    "> 2. Mantıksal devrelerin seviyesi ve hafızalı basit otomatlar (Şekil 6.7).

    "> 3. Kayıtların ve entegre bellek devrelerinin seviyesi (Şekil 6.8).

    4. Temel mikroişlemcilerin seviyesi (Şekil 6.9).

    "> 5. Büyük işlemleri gerçekleştiren makroişlemcilerin seviyesi (Şekil 6.10).

    6. Bilgisayarların, işlemcilerin ve programların seviyesi (Şekil 6.11).

    ">4. Paralellik türleri

    "> 4.1. Doğal paralellik ve

    ">birçok nesnenin paralelliği

    Bilgi grafiğinde, başka bir alt grafiğin ilkel işlemlerinin uygulanmasıyla elde edilen herhangi bir ara sonucu karşılıklı olarak kullanmayan "dikey" bağımsız alt grafikler ayırt edilebilir. Bu tür paralellik, bağımsız görevlerin doğal paralelliği olarak adlandırılır.

    Orijinal formülasyonunda çok boyutlu vektörler, çok boyutlu matrisler veya kafes fonksiyonları üzerinde bir işleme indirgenirse, problem doğal paralelliğe sahiptir (Şekil 6.12).

    Nesne kümesi paralelliği, doğal paralelliğin özel bir durumudur. Bunun anlamı, görevin, aynı veya neredeyse aynı programa göre işlenen farklı, ancak aynı türdeki nesneler hakkındaki bilgileri işlemek olmasıdır (Şekil 6.13).

    "> Burada, sözde integral işlemler nispeten küçük bir ağırlık kaplar. Bir nesne kümesinin paralelliği ile, genel duruma göre daha sık olarak, farklı nesneler için ayrı hesaplama bölümlerinin farklı şekilde gerçekleştirilmesi gereken durumlar vardır.

    ">4.2. Bağımsız Dalların Paralelliği

    Bağımsız dalların paralelliğinin özü, dal adı verilen bağımsız bölümlerin problemin çözümü için programda tahsis edilebilmesidir. CS uygun donanıma sahipse dallar paralel olarak yürütülebilir (Şekil 6.14).

    ">Program dalı Y, şu durumlarda X dalından bağımsızdır:

    ">- aralarında hiçbir işlevsel bağlantı yoktur, yani Y dalının giriş değişkenlerinden hiçbiri X dalının veya X'e bağlı herhangi bir dalın çıktı değişkeni değildir;

    "> - çalışan bellek alanları açısından aralarında bağlantı yoktur;

    ">- farklı programlar tarafından yürütülmeleri gerekir;

    ">- kontrolde bağımsızdır, yani Y dalının yürütülmesi koşulu, X dalının veya ona bağlı olan dalın yürütülmesi sırasında üretilen işaretlere bağlı olmamalıdır.

    ">4.3. Bitişik işlemlerin paralelliği veya

    ">yerel paralellik

    Bitişik işlemlerin paralelliği, geçerli işlemler için girdi verileri hesaplamanın önceki aşamalarında elde edildiğinde gerçekleşir ve hesaplama araçlarının oluşturulması, çıktı verileri ve sonuçlarla birbiriyle ilişkili olmayan birkaç işlemin yürütülmesini birleştirmenize olanak tanır.

    Programların yerel optimizasyonu, arka arkaya yürütülmesi gereken birkaç talimata bakmak ve bazılarının sırasını değiştirmek, belki de bitişik işlemlerin mümkün olan maksimum paralelliğini sağlamak için yazmaçların ve bellek hücrelerinin sayısını değiştirmekten oluşur.

    Çoğu durumda, bitişik işlemlerin bağlantı indeksi, sorundan çok yerel optimizasyonun kalitesine bağlıdır.

    ">5. Görev modeli

    görev modeli için inşa edilmiştir Karşılaştırmalı analiz paralel bilgisayarların yapıları. Bu nedenle, oldukça genel bir yapıya sahip olmalı ve yalnızca paralellik biçimlerinin ve bağlantı türlerinin bileşimini tanımlamalıdır.

    Kural olarak, herhangi bir problem modeli, modellenen problem sınıfının analizi temelinde oluşturulur. Analiz sonuçlarına bağlı olarak, algoritmalar şuna dönüştürülür: paralel görünüm. İncelenen algoritma, üç türden bir dizi bölümden oluşan bir program olarak temsil edilebilir (Şekil 6.15):

    1. skaler kesitler (SC);
    2. bağımsız dalların paralelliği olan bölümler (BT);
    3. vektör çizimleri (VC).

    Görev modeli, paralel bir programı karakterize eden bir dizi parametredir.

    Bir görev modeli oluştururken asıl amaç, incelenen algoritma tarafından uygulandığında yürütmenin göreli zamanını belirlemektir.

    "> Şekil 6.15. Problem modelindeki algoritmanın farklı bölümlerine atfedilebilen toplam hesaplama sayısının oranı

    " xml:lang="en-US" lang="en-US">W">ck

    " xml:lang="en-US" lang="en-US">Wt

    " xml:lang="en-US" lang="en-US">W">vk

    " xml:lang="en-US" lang="en-US">m;vertical-align:sub">sk

    " xml:lang="en-US" lang="en-US">m;vertical-align:sub" xml:lang="en-US" lang="en-US">t

    " xml:lang="en-US" lang="en-US">m;vertical-align:sub">vk

    " xml:lang="en-US" lang="en-US">A

    " xml:lang="en-US" lang="en-US">İçinde

    " xml:lang="en-US" lang="en-US">C

    hesaplama miktarı

    bağıl uzunluk

    Rusya Federasyonu Eğitim ve Bilim Bakanlığı

    Federal Devlet Bütçe Yüksek Mesleki Eğitim Eğitim Kurumu "Bryansk Devlet Mühendisliği ve Teknolojisi

    akademi"

    Bilgi Teknolojileri Bölümü

    Bilginin sıralı ve paralel işlenmesi

    1 numaralı yerleşim ve grafik çalışması

    disipline göre

    "Bilgi işleme teknolojileri"

    Seçenek numarası 16

    RGR-02068025.230400.084

    Bryansk 2015

    Giriş 3

    Paralel bilgi işleme 4

    Bellek Paylaşım Sistemleri 6

    Paralel SQL İşleme 7

    Sıralı Bilgi İşleme 9

    Basit Parti Sistemleri 10

    Referanslar 13

    giriiş

    Bu hesaplama ve grafikte, bilgilerin sıralı ve paralel işlenmesi dikkate alınır. Her biri için örnekler verilmiştir.

    Bilginin sıralı işlenmesi, bilgilerin bir dizi dönüşüm (aşama) yoluyla girdiden çıktıya sıralı geçişidir, böylece her zaman aralığında (belirli bir bloğa özgü), dönüşüm yalnızca bir işlevsel blokta gerçekleştirilir ve ona yalnızca önceki bloktan bilgi gelir.

    Paralel bilgi işleme, bilginin belirli işlevsel bloklarda bir dizi dönüşüme uğradığı, böylece herhangi bir zamanda birkaç blokta aynı anda (paralel olarak) işlendiği bir bilgi işleme modelidir.

    Paralel bilgi işleme

    Birkaç eylemi aynı anda gerçekleştirme fikrini somutlaştıran paralel veri işlemenin iki çeşidi vardır: ardışık düzen ve paralel.

    paralel işleme. Belirli bir cihaz birim zamanda bir işlem yaparsa, o zaman bin birimde bin işlem gerçekleştirir. Aynı anda çalışabilen bu tür beş bağımsız cihaz olduğunu varsayarsak, o zaman beş cihazlı sistem aynı bin işlemi bin değil iki yüz birim zamanda gerçekleştirebilir. Benzer şekilde, N sayıda cihazdan oluşan bir sistem aynı işi 1000/N birim zamanda yapacaktır. Hayatta benzer benzetmeler bulunabilir: Bir asker 10 saatte bir bahçe kazarsa, aynı yeteneklere sahip elli askerden oluşan bir bölük aynı anda çalışarak aynı işi 12 dakikada yapacak - eylemdeki paralellik ilkesi!

    boru hattı. Kayan nokta biçiminde temsil edilen iki gerçek sayıyı toplamak için ne gereklidir? Sıra karşılaştırma, sıra hizalama, mantis ekleme, normalleştirme vb. gibi bir dizi küçük işlem. İlk bilgisayarların işlemcileri, nihai sonuca ulaşana kadar her argüman çifti için tüm bu "mikro işlemleri" sırayla gerçekleştirdi ve ancak bundan sonra sonraki terim çiftini işlemeye geçtiler.

    Boru hattı işleme fikri, ortak bir işlemin yürütülmesinin ayrı aşamalarını ayırmaktır ve işini tamamlayan her aşama, aynı anda girdi verilerinin yeni bir bölümünü kabul ederken sonucu bir sonraki aşamaya aktarır. Önceden aralıklı işlemlerin kombinasyonu nedeniyle işlem hızında bariz bir kazanç elde ediyoruz. Bir işlemin, her biri bir birim zamanda gerçekleştirilen beş mikro işleme bölünebileceğini varsayalım. Bir bölünmez seri cihaz varsa, 500 birim için 100 argüman çiftini işleyecektir. Her bir mikro işlem, bir taşıma cihazının ayrı bir aşamasına (veya başka bir deyişle, bir aşamasına) ayrılırsa, beşinci zaman biriminde, ilk beş argüman çifti, böyle bir cihazı işlemenin farklı aşamalarında olacak ve yüz çiftin tamamı 5 + 99 = 104 birim zamanda işlenecektir - sıralı bir cihaza kıyasla neredeyse beş kat hızlanma (boru hattı aşamalarının sayısı açısından).

    Görünüşe göre boru hattı işleme, ana cihazın tahsis edilmesi gereken boru hattı aşamalarının sayısı kadar çoğaltılması gereken sıradan paralellik ile başarılı bir şekilde değiştirilebilir. Gerçekten de, önceki örnekteki beş cihaz, 100 çift argümanı 100 birim zamanda işleyecek ve bu da ardışık düzen cihazından daha hızlıdır! Böylece cihaz sayısını beş kat artırarak hem ekipman miktarını hem de maliyetini önemli ölçüde artırmış oluyoruz. Bir otomobil fabrikasının, otomobil üretiminin hızını korurken montaj hattını kaldırmaya karar verdiğini hayal edin. Daha önce konveyörde aynı anda bin araba varsa, o zaman önceki örneğe benzer şekilde hareket ederek, her biri arabayı baştan sona tamamen monte edebilen, yüzlerce farklı işlemi gerçekleştirebilen ve bunu arabanın daha önce konveyörde olduğu aynı anda yapan bin ekip toplamak gerekir.

    Bugün, çok az insan bilgisayar mimarisindeki paralelliğe şaşırıyor. Tüm modern mikroişlemciler bir tür paralel işleme kullanır. Pentium 4 çekirdeğinde Farklı aşamalar yürütme aynı anda 126 adede kadar mikro işlem olabilir. Ancak, bu fikirlerin kendileri çok uzun zaman önce ortaya çıktı. Başlangıçta, zamanlarının en gelişmiş ve dolayısıyla tek bilgisayarlarında tanıtıldılar. Daha sonra, teknolojinin uygun şekilde geliştirilmesi ve daha ucuz üretimden sonra, orta sınıf bilgisayarlara indiler ve nihayet, bugün tüm bunlar tamamen iş istasyonlarında ve kişisel bilgisayarlarda somutlaşıyor.

    Tek işlemcili bilgisayar sistemlerinde çalışan birçok uygulamanın performansı, paralel bilgi işleme araçlarının kullanılmasıyla büyük ölçüde iyileştirilebilir. Aşağıdakiler, paralel işlemenin ana kavramları ve çok işlemcili bilgisayarların mimarisidir.

    Birden çok uygulama, işlerinin tek işlemcili bir bilgisayarda işlenmesini istediğinde, tüm işlerin o tek işlemci tarafından yapılması gerekir. Paralel işlemenin amacı genellikle uygulama performansını iyileştirmektir. Bir uygulama, çok işlemcili bir bilgisayar için bir iş isteği yayınladığında, bilgisayar işi mantıksal alt görevlere böler ve ardından birden çok işlemciyi paralel olarak kullanarak bunları işler, bu da işin yürütme süresini azaltır. Büyük bir görevin bölünmesinden kaynaklanan alt görevlerin sayısına paralellik derecesi denir. . Bir görevi tamamlamak için gereken bilgi işlem süresindeki azalma, paralellik derecesi ile doğru orantılıdır. Paralel işlem yapan sistemlerin hızlarını sistemdeki her işlemciden maksimum performans sağlayacak şekilde arttırmaya çalışırlar.


    4 ders, 1 ve 2 akış, 7. dönem

    dersler (34 saat), test

    Dersten sorumlu bölüm: ASVK

    program derleyici: Sorumlu Üye RAS, Phys.-Math. Bilimler Voevodin Vl.V.,

    öğretim görevlileri: Sorumlu Üye RAS, Phys.-Math. Bilimler Voevodin Vl.V.

    dipnot

    Kurs tartışıyor Genel Konular paralel hesaplama organizasyonu. Modern paralel bilgi işlem sistemlerinin mimarilerinin özellikleri ele alınır, paralel ortamlarda programlamanın ana yöntemleri ve paradigmaları incelenir.

    1. ve 2. akışlar için, paralel sistemlerin mimarisinin özelliklerinin ve algoritmaların yapısının koordinasyonuna yönelik yaklaşımlar, programların ve algoritmaların yapısının analiz teorisi konuları, paralel hesaplamadaki modeller tartışılmaktadır.

    programı

    1. Büyük görevler ve süper bilgisayarlar. Paralel ve boru hattı veri işleme. Modern yüksek performanslı bilgisayarların mimarisinde paralellik ve boru hattı. Skaler ve vektör komutları. Skaler, boru hattı ve vektör cihazları. Program yürütme hızını, hesaplamaların yerini ve veri kullanımının yerini artırmanın bir yolu olarak bilgisayarlardaki bellek hiyerarşisi. Amdahl yasası ve sonuçları, süper lineer ivme.

    2. Modern paralel hesaplama sistemlerinin ana sınıfları. olan bilgisayarlar paylaşılan hafıza, örnekler, performans düşüşü nedenleri gerçek programlar. SMP mimarileri, NUMA, ccNUMA. Anahtarlama işlemcileri ve bellek modülleri, veri yolu, matris değiştirici, omega ağı. Vektör-taşıyıcı hesaplama sistemleri, örnekler, performans düşüşü nedenleri. Dağıtılmış belleğe sahip bilgisayarlar, örnekler, performans düşüşü nedenleri. İşlemciler arasındaki iletişimin topolojisi: yıldız, kafes, üç boyutlu simit, ikili hiperküp, özellikleri. Hesaplama kümeleri, örnekler, gecikme ve verimçeşitli iletişim teknolojileri. Makine yönergeleri düzeyinde paralelliğe sahip mimariler, VLIW, süper skalar.

    3. Paralel programlama teknolojileri. Geleneksel sıralı diller ve paralelleştirici derleyiciler, problemler. Derleyici, uzantılar için özel yorumlar ve yönergeler mevcut diller. özel diller paralel programlama Kütüphaneleri ve mesaj iletme arayüzlerini kullanarak programlama. Paralel konu kitaplıkları, özel paketler ve yazılım sistemleri yüksek seviye. Paralel programlama teknolojileri MPI, OpenMP, Linda.

    4. Paralel hesaplama sistemlerinin performansı. Bilgisayarların çok yönlülüğü ve uzmanlığı, özel işlemcilerin performansı. Moore yasası. Performans değerlendirme yöntemleri. Tek bir sayısal parametrenin tanıtılması, Mflops, MIPS. En yüksek ve gerçek bilgisayar performansı. Linpack testi ve varyasyonları. tamamlayıcı setleri test programları, AKIŞ ve NPB.

    5. Programların grafik modelleri. Kontrol grafiği ve program bilgi grafiği. Bilgi ve operasyon geçmişi programın uygulanması. Bilgi geçmişi temsilinin kompakt bir parametrik biçimi olarak algoritma grafiği. Operasyonların bilgi bağımsızlığı ve paralel yürütme olasılığı. Paralellik derecesinin bir ölçüsü olarak bir algoritma grafiğinin kritik yolunun uzunluğu. Sonlu ve kütle paralelliği, koordinat ve çarpık paralellik. Programların eşdeğer dönüşümleri, temel dönüşümler döngüler.

    6. Homojen olmayan dağıtılmış bilgi işlem sistemleri. Meta bilgisayarlar ve meta hesaplama, mevcut meta bilgisayar projeleri. Meta bilgisayarların ayırt edici özellikleri. GRID kavramı, temel bileşenler ve hizmetler, GRID segmentlerinin mevcut projeleri, sanal organizasyon kavramı.

    Edebiyat

    1. Voevodin V.V., Voevodin Vl.V. Paralel hesaplama. - St. Petersburg: BHV Petersburg, 2002. - 608 s.

    2. Korolev L.N. Elektronik bilgisayar işlemcilerinin mimarisi. – M.: Ed. VMK MSU Fakültesi, 2003.

    3. VV Korneev. Paralel hesaplama sistemleri. - M.: "Bilgi" yayınevi, 1999. - 320s.

    4. Bilgi ve Analitik Merkezinin Materyalleri paralel hesaplama paralel.ru

    ek literatür

    1. Antonov A.Ş. Teknolojiyi kullanarak paralel programlama

    ÇBYE: Öğretici. - M .: Moskova Devlet Üniversitesi Yayınevi, 2004. - 71 s.

    Uçağın performansını iyileştirmenin yolları, mimarisine yerleştirilmiştir. Bir yandan, bu bir dizi işlemci, bellek bloğu, giriş / çıkış aygıtı ve tabii ki bunları bağlamanın yolları, yani. iletişim ortamı. Öte yandan, bunlar uçağın belirli bir sorunu çözmek için yaptığı fiili eylemlerdir ve bunlar komutlar ve veriler üzerindeki işlemlerdir. Bu aslında paralel işleme için tüm temel temeldir. Aynı anda birkaç eylemi gerçekleştirme fikrini somutlaştıran paralel işlemenin birkaç çeşidi vardır: ardışık düzen,simd– uzantılar,Aşırı diş açma, çok çekirdekli. Temel olarak, bu tür paralel işlemler sezgiseldir, bu nedenle sadece küçük bir açıklama yapacağız. Belirli bir cihaz birim zamanda bir işlem yaparsa, o zaman bin birimde bin işlem gerçekleştirir. Aynı anda çalışabilen bu tür beş bağımsız cihaz olduğunu varsayarsak, aynı bin işlemi beş cihazdan oluşan bir sistem binde değil, iki yüz birim zamanda gerçekleştirebilir. Benzer şekilde, N sayıda cihazdan oluşan bir sistem aynı işi 1000/N birim zamanda yapacaktır. Hayatta benzer benzetmeler bulunabilir: Bir asker 10 saatte bir bahçe kazarsa, aynı yeteneklere sahip elli askerden oluşan bir şirket aynı anda çalışarak aynı işi 12 dakikada (paralel veri işleme) ve hatta şarkılarla (paralel komut işleme) yapacaktır.

    boru hattı . Kayan nokta biçiminde temsil edilen iki gerçek sayıyı toplamak için ne gereklidir? Sıra karşılaştırma, sıra hizalama, mantis ekleme, normalleştirme vb. gibi bir dizi küçük işlem. İlk bilgisayarların işlemcileri, nihai sonuca ulaşana kadar her argüman çifti için tüm bu "mikro işlemleri" sırayla gerçekleştirdi ve ancak bundan sonra sonraki terim çiftini işlemeye geçtiler. Boru hattı işleme fikri, ortak bir işlemin yürütülmesinin ayrı aşamalarını ayırmaktır ve işini tamamlayan her aşama, aynı anda girdi verilerinin yeni bir bölümünü kabul ederken sonucu bir sonraki aşamaya aktarır. Önceden aralıklı işlemlerin kombinasyonu nedeniyle işlem hızında bariz bir kazanç elde ediyoruz.

    süperskalar.Önceki örnekte olduğu gibi, yalnızca bir ardışık düzen oluştururken, örneğin iki veya üç ALU, üç veya dört örnekleme cihazı gibi işlevsel birimlerin çeşitli donanım ve yazılım uygulamaları kullanılır.

    Aşırı diş açma. Çok iş parçacıklı bir mimariye dayalı modern mikroişlemcilerin geliştirilmesinde umut verici bir yön. Fonksiyonel cihazları artırarak verimliliği artırmanın önündeki en büyük engel, bu cihazların verimli bir şekilde yüklenmesinin organizasyonudur. Bugünün programlama kodları tüm fonksiyonel birimleri yükleyemiyorsa, işlemcinin birden fazla görevi (thread) yürütmesine izin vermek mümkündür, böylece ek thread'ler yüklenir - sonuçta tüm FIS (çoklu görev gibi).

    çok çekirdekli. Elbette çoklu işlemeyi çip düzeyinde uygulamak mümkündür, yani. birkaç işlemciyi bir çipe yerleştirin (Güç 4). Ancak mikroişlemciyi bellekle birlikte sistemin çekirdeği olarak alırsak, o zaman bir çip üzerindeki bu tür birkaç çekirdek çok çekirdekli bir yapı oluşturacaktır. Aynı zamanda, genellikle yonga setlerinin kullanıldığı (Motorola MPC8260, Power 4 işlemciler) kristale işlevler (örneğin, ağ ve telekomünikasyon sistemlerinin arayüzleri) entegre edilmiştir.

    Yüksek performanslı bilgi işlem teknolojisinin uygulanması şu anda dört ana yönde ilerlemektedir.

    1. Vektör ardışık düzen bilgisayarları. Ardışık işlevsel birimler ve bir dizi vektör talimatı, bu tür makinelerin iki özelliğidir. Geleneksel yaklaşımın aksine, vektör komutları tüm bağımsız veri dizileri üzerinde çalışır, bu da mevcut işlem hatlarını verimli bir şekilde yüklemeyi mümkün kılar, örn. A=B+C gibi bir komut, iki sayı yerine iki dizi eklemek anlamına gelebilir. Bu eğilimin karakteristik bir temsilcisi, örneğin CRAY EL, CRAY J90, CRAY T90'ı içeren CRAY vektör taşıyıcı bilgisayar ailesidir (Mart 2000'de Amerikan şirketi TERA, CRAY bölümünü Silicon Graphics, Inc.'den satın aldı).

    2. Devasa paralel bilgisayarlar paylaşılan hafıza ile. Bu sınıftan bilgisayarlar oluşturma fikri önemsizdir: seri üretilen mikroişlemcileri alalım, her birine kendi yerel belleğini sağlayalım, onu bir iletişim ortamı aracılığıyla bağlayalım - hepsi bu. Böyle bir mimarinin pek çok avantajı vardır: eğer yüksek performans gerekiyorsa, o zaman daha fazla işlemci eklenebilir, mali durum kısıtlıysa veya gerekliyse işlem gücü, o zaman optimum yapılandırmayı vb. seçmek kolaydır.

    Bununla birlikte, birçok "artıyı" hiçbir şeye indirgeyen belirleyici bir "eksi" de vardır. Gerçek şu ki, bağımsız, ancak önceki üçünün bir kombinasyonu. Birkaç işlemciden (geleneksel veya vektör-işlem hattı) ve onlar için ortak bir bellekten bir bilgi işlem düğümü oluşturacağız. Alınan bilgi işlem gücü yeterli değilse, birkaç düğümü yüksek hızlı kanallarla birleştireceğiz. Bu mimari denir küme SV1, HP Örnek, Güneş Yıldız ateşi, NEC SX-5, en yeni IBM modelleri SP2

    3. Paralelpaylaşılan bellek bilgisayarlar. Tüm Veri deposu bu tür bilgisayarlar birkaç özdeş işlemci tarafından paylaşılır. Bu, önceki sınıfın sorunlarını ortadan kaldırır, ancak yenilerini ekler - paylaşılan belleğe erişimi olan işlemcilerin sayısı, tamamen teknik nedenlerle artırılamaz. Bu yön, birçok modern çok işlemcili SMP bilgisayarını veya örneğin, HP bilgisayarlarının ayrı düğümlerini içerir. Örnek ve güneş Yıldız ateşi.

    4. küme sistemleri. Kesin olarak söylemek gerekirse, son yön bağımsız değildir, daha çok önceki üçünün bir kombinasyonudur. Birkaç işlemciden (geleneksel veya vektör-işlem hattı) ve bunlar için ortak bir bellekten bir bilgi işlem düğümü oluşturacağız. Alınan bilgi işlem gücü yeterli değilse, birkaç düğümü yüksek hızlı kanallarla birleştireceğiz. Bu mimari denir küme ve bu prensibe göre CRAY SV1, HP Örnek, Güneş Yıldız ateşi, NEC SX-5, en yeni IBM modelleri SP2 ve diğerleri. Kayıt performans göstergelerine sahip bilgisayarlar tasarlamak için şu anda en umut verici olan bu yöndür.