← Computers & Automation

Computing and Data Processing Newsletter National Bureau of Standards Scientists

B
Bilinmeyen Yazar
1987 · Computers and Automation

Ulusal Standartlar Bürosu Bilim İnsanları Paralel İşlemcilerin Vaatlerini Uygulamaya Dönüştürüyor

Jan Koska
Ulusal Standartlar Bürosu
Gaithersburg, MD 20899

Teknolojinin göreli zaman ölçeğinde neredeyse bir gecede, yeni bir bilgisayar kuşağı doğmaktadır. Paralel ya da çok işlemcili olarak bilinen bu bilgisayarlar, bir problemin birçok parçasını eşzamanlı olarak çözmek için birden fazla işlemci kullanmalarıyla ayrılır. Vaatleri, yapay zekâ ile görüntü ve konuşma tanıma gibi, hesaplamanın göz alıcı ve iddialı hedeflerini pratik hale getirmektir. Ancak bu hedefler gerçeğe dönüşmeden önce aşılması gereken birçok engel vardır.

Paralel işlemenin ardındaki fikir, süper bilgisayar hızını maliyetin yalnızca bir kısmıyla elde etmektir. Bu daha yüksek performansı elde etmek için algoritma (matematiksel tarifler), programlama dili ve donanım mimarisi uygulamayla kusursuz biçimde örtüşmelidir. Belirli bir bileşimin başarılı olup olmadığını bilmenin tek yolu güvenilir ölçümler yapmaktır.

Ancak Ulusal Standartlar Bürosu (NBS) Bilgisayar Bilimleri ve Teknoloji Enstitüsü’nden Stuart Katzke’ye göre, bilgisayar performansını ölçme konusundaki mevcut durum, tek işlemcili bilgisayarlar için zayıf, çok işlemciler içinse çok daha kötüdür. NBS’deki araştırmacılar, bu yeni bilgisayar mimarilerinin performansını ölçmek için yeni teknikler ve araçlar geliştirerek, farklı işlemci yapılandırmalarının belirli problem türlerini nasıl çözdüğünü değerlendirmektedir.

"Bilgisayar performansını uzunluk, watt ya da joule cinsinden ölçemezsiniz," diye açıklar NBS’de paralel işleme grubunun başındaki elektronik mühendisi Robert Carpenter; "ve ‘saniye başına talimat’ ya da ‘saniye başına mantıksal çıkarım’ gibi mevcut ölçümler bu yeni mimarilerin performansını yeterince ifade etmez."

NBS araştırmacıları paralel işlemcilerin birçok yönünü inceleyecektir. Carpenter, "Performanslarını ölçmek için teknikler geliştirmeden önce, hangi dillerin en iyi olduğu, bu makinelerin nasıl programlanıp kullanılabileceği ve farklı mimarilerin nasıl çalıştığı gibi birçok etmeni anlamamız gerekir," diyor.

Geleneksel bilgisayarlar, bazen seri ya da Von Neumann makineleri olarak adlandırılır; veriler üzerinde toplama gibi işlemleri gerçekleştirmek için tek bir işlemciye sahiptir. (John von Neumann, günümüz bilgisayarlarının çoğunun dayandığı genel tasarımın sahibi olarak sıklıkla anılır.) Günümüzün en hızlı seri bilgisayarları bile bir problemi 1940’lardan beri olduğu gibi adım adım çözer. Ancak adım adım çalışan bilgisayarlar, büyük ölçüde elektronik devrelerdeki temel sınırlamalar nedeniyle, hız sınırlarına yaklaşmaya başlamıştır.

Seri bilgisayarların aksine, paralel işlemciler bir problemin birçok parçasını eşzamanlı olarak çözmek için birden fazla işlemci kullanır. Kuramsal olarak, basit bir bağlantıyla bağlanan iki işlemciden, karmaşık bir iletişim ağıyla bağlanan on binlerce — hatta milyonlarca — işlemciye kadar uzanabilirler.

Von Neumann ve dönemin diğer bilim insanları, bir problem üzerinde birden fazla işlemciyi çalıştırmanın çekiciliğini görmüşlerdi. Ancak erken dönem bilgisayar bileşenlerinin yüksek maliyeti ve düşük güvenilirliği, bu fikri 1970’lerin başlarına kadar bile pratik olmaktan uzak tuttu. Ucuz, kompakt ve güvenilir işlem gücünü tek bir silikon yonga üzerinde sağlayan mikroişlemcilerin ortaya çıkışı, paralel işlemeyi mümkün kıldı. Elbette, bu yeteneğe sahip olmak, teknolojinin iyi anlaşıldığı anlamına gelmez.

Paralel işlemciler veri işlemesini hızlandırabilse de, düzensiz bilgi akışı ve iletişim darboğazlarının artan olasılığı da dahil olmak üzere, kullanıcılar için farklı bir dizi sorun ortaya koyar.

Paralel işlemede bellek, ortak bir erişim ağı üzerinden birçok işlemci tarafından paylaşılır ya da her işlemciye kendi belleği verilir; bu durumda ağ, işlemciden işlemciye mesajlar ve bilgiler iletir.

"Her iki biçim de tam doğru miktarda veri akışına ihtiyaç duyar; aksi halde bazı işlemciler boşta kalırken diğerleri aşırı veriyle tıkanır," diye açıklar NBS bilgisayar bilimcisi Gordon Lyon.

NBS ekibi, bilgisayarın ne yaptığını ve darboğazlar gibi sorunların nerede ortaya çıktığını belirlemek için özel donanımlar geliştiriyor.

Katzke, "Amacımız, çok çeşitli paralel işlemci mimarileriyle kullanılabilecek ölçüm donanımı geliştirmektir," diyor. "Bu donanım, makinenin nerede takıldığını ve işin büyük bölümünü nerede yaptığını bulmaya yardımcı olacak. Bu bilgilerle tasarımcılar ve üreticiler, mimariyi daha verimli hale getirmek için değiştirebilir."

Bu makinelerin daha verimli çalışmasını sağlamanın bir diğer anahtarı, onları nasıl programlayacağımızı anlamaktır.

Katzke, "Ancak paralel işlemcileri programlama konusunda çok iyi bir kavrayışa sahip değiliz," diyor. "Birden fazla işlemciye sahip olmak, bir programlama dili aracılığıyla bir makineye bir görevi nasıl yaptırmanız gerektiğini kökten değiştirir. Fakat bunu tam olarak anlamış değiliz."

Programlama dilleri hâlâ seri ya da Von Neumann makinelerine yöneliktir. Katzke ekliyor: "Bir problem ardışık olarak ele alınırsa, paralel bir makineden hiçbir verim artışı elde edemezsiniz."

Ya dil, programcının problemi paralel olarak yürütülebilecek şekilde ayrıştırmasına olanak tanımalıdır ya da derleyici, hesaplama problemini bölümlere ayırmanın en iyi yaklaşımını tanıyacak kadar akıllı olmalıdır. (Bir derleyici, daha üst düzey bir programlama dilini makinenin anlayabileceği talimatlara çevirir.)

Her bilgisayar mimarisi problem çözmek için yeni bir fırsat sunsa da, hangi mimarinin hangi uygulamalar için en iyi olduğunu bilmek çoğu zaman zordur. Farklı paralel işleme mimarilerine sahip makinelerin performansını karşılaştırmaya yardımcı olmak için NBS bilim insanları, kıyaslama yazılımları olarak bilinen geniş bir test yazılımı yelpazesi oluşturmakta, toplamaktadır ve değerlendirmektedir. Bu kıyaslamalar, çok işlemciler üzerinde çalıştırılabilecek çeşitli uygulamaları temsil edecektir.

Günümüzde mevcut kıyaslamaların çoğu, Linpack kodları gibi (yoğun doğrusal denklem sistemlerini çözmek için yaklaşık 400 Fortran alt yordamından oluşan bir paket), yalnızca belirli bir problem sınıfı için performansı ölçer ve paralel işlemeyi özellikle gözeterek geliştirilmemiştir. NBS koleksiyonu şu ana kadar, akışkanlar dinamiği, yapay zekâ, görüntü işleme ve genel bilimsel hesaplama gibi alanlarda performansı ölçmeyi amaçlayan programlar içermektedir.

NBS araştırmacıları, rutinleri Savunma Bakanlığı’nın ARPANET’i gibi ağlar üzerinden ücretsiz olarak erişime açacaktır. Bu, kullanıcılara belirli bir uygulama için hangi makinelerin en uygun olabileceğine karar vermede yardımcı olmalıdır; çünkü çeşitli problem türlerine özgü kıyaslama programları sunacaktır.

Nasıl ki tek bir otomobil herkes için en iyisi değilse, tek bir paralel işlemci tasarımı da tüm problemler için en iyisi değildir; “en iyi” paralel işlemci için hiçbir zaman bir standart olmayacaktır. Ancak önümüzdeki birkaç yıl içinde bu makinelerin performansını ölçmenin yolları geliştirilecektir; böylece biri, “Gereksinimlerim göz önüne alındığında ne aramalıyım?” diye sorduğunda, bir yanıt bulabilmesi mümkün olacaktır.