FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Slides:



Advertisements
Benzer bir sunumlar
BENZETİM Prof.Dr.Berna Dengiz 10. Ders.
Advertisements

Unsupervised Learning (Kümeleme)
Bölüm 6: CPU Planlama Temel Kavramlar Planlama Kriteri
ALPER LAÇİN SERDAR TAŞAN
KONU :GÖRÜNTÜNÜN GEOMETRİK MODELLERİNİN KURULMASI
KESİKLİ ÜRETİMDE SÜREÇ YÖNETİMİ VE ÜRETİM PLANLAMANIN YAZILIM DESTEĞİ İLE YAPILMASI Tuğrul Tamtürk –Tekstil Yük. Müh. İbrahim Büket – Tekstil Müh.
MIT503 Veri Yapıları ve algoritmalar Algoritma Oluşturma – Açgözlü algoritmalar ve buluşsallar Y. Doç. Yuriy Mishchenko.
MALZEME İHTİYAÇ PLANLAMASI
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
StraTEJİK PROJE YÖNETİMİ
YAPAY ZEKA ÖDEV - 3 Kenan KILIÇASLAN Trakya Üniversitesi Fen Bilimleri Enstitüsü Makina Mühendisliği Doktora Programı.
İŞ SIRALAMA VE ÇİZELGELEME
Dağıtık Simülasyon Sistemlerinde Sanal Global Zaman Hesaplamaları
CLUSTERING USING REPRESENTATIVES Hazırlayan: Arzu ÇOLAK
İnsan Kaynakları Planlaması
Standart Normal Dağılım
MIT503 Veri Yapıları ve algoritmalar Algoritmalara giriş
Bellek Tabanlı Sınıflandırma
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
LEKIN Ar. Gör. Pelin ALCAN.
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
Çok Etmenli Sistemlerde Yük Dengeleme ve Yük Paylaşımı
S OYUT M ODELLER (A BSTRACT M ODELS ) Murat Olcay ÖZCAN Trakya Üniversitesi Bilgisayar Mühendisliği Anabilim Dalı.
Hakan Öktem Orta Doğu Teknik Üniversitesi
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgelerin bilgisayarda gösterimine ilişkin iki standart yaklaşımı inceleyeceğiz.
Prof. Dr. Hüseyin BAŞLIGİL
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
SÜREKLİ ŞANS DEĞİŞKENLERİNİN OLASILIK YOĞUNLUK FONKSİYONLARI
GEOMETRİK PROGRAMLAMA
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
ASİMETRİK ŞİFRELEME ALGORİTMALARINDA ANAHTAR DEĞİŞİM SİSTEMLERİ
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
Şahin BAYZAN Kocaeli Üniversitesi Teknik Eğitim Fakültesi
GENELLEŞTİRİLMİŞ POISSON
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
DOĞRUSAL PROGRAMLAMA Doğrusal Programlama
MKM 311 Sistem Dinamiği ve Kontrol
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
Karşılaştırıcı ve Aritmetik İşlem Devreleri
Stok Yönetimi Planlı Sonradan Siparişli EOQ veya
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
Ahmet ÖZSOY Gökhan ÇAKMAK
Sayısal Analiz Sayısal İntegral 3. Hafta
HAVAYOLU UÇUŞ PLANLAMADA UÇUŞ ROTASYON OPTİMİZASYONU
END 457 Sezgisel Arama ve Yapay Zeka
BÖLÜM 3 AKIŞ DİYAGRAMI.
T.C BEYKENT ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ENDÜSTRİ MÜHENDİSLİĞİ A.B.D Optimizasyon Teknikleri – Yrd.Doç.Dr Ümit Terzi Solar Panel Üretimi Yapan.
Bir başka ifade biçimi: Blok Diyagramları
OTOMOTİV YAN SANAYİ FİRMASINDA İYİLEŞTİRME
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
OTOMOTİV YAN SANAYİ FİRMASINDA İYİLEŞTİRME
Algoritmalar II Ders 13 Çizgelerde tüm ikililer arasında en kısa yollar.
Sinir Hücresi McCulloch-Pitts x1 w1 x2 w2 v y wm xm wm+1 1 '
Hopfield Ağı Ayrık zaman Sürekli zaman
OTOMOTİV YAN SANAYİ FİRMASINDA İYİLEŞTİRME
Filiz MUTLU Gr: 1 Pelin GÖK Gr: 2 Uğur EŞKAZAN Gr: 2
9. Ders Tüm ikililer arasında en kısa yollar
Optimizasyon Teknikleri
SONLU ELEMANLAR YÖNTEMİ
FONKSİYONLAR.
İleri Algoritma Analizi
Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Müh.
YER DEĞİŞTİRME VE DEĞER DÖNÜŞTÜRME ÖZELLİĞİNE SAHİP GÖRÜNTÜ ŞİFRELEME ALGORİTMALARININ ANALİZİ Erdal GÜVENOĞLU Nurşen SUÇSUZ 
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Problem Çözme Süreci-3.
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Sunum transkripti:

FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ   Ödev Konusu : Scheduling and Task Allocation    (Zaman Planlaması ve Görev Tahsisatı) Oğuz ATA

Zaman Planlama Problemi Bir hesaplama işi, görevler dizisi olarak tasarlanıp gerçeklendikten sonra, bu görevlerin belirlenen mimarideki işlemciye ideal bir atamasına karar verilmelidir. Ortaya çıkan bu problem “Zaman Planlama Problemi” (scheduling problem) olarak adlandırılır.

Zaman Planlaması Problemi Eş zamanlı program parçalarının veya eş zamanlı program grubunun zamana göre düzenlenme gerekliliği (Öncelik ilişkisi) Programı oluşturan görevler arasında bir öncelik ilişkisi yoksa: “Görev Tahsisatı Problemi” (Task Allocation)

Amaç Zaman planlamasının amacı, görevlerin işlemciye atanmasını, belirlenen performans değerini (kriterini) en iyi hale getirecek şekilde gerçekleştirmektir.

Değerlendirme Kriterleri Performans, verimlilik (Kriterler) Yapılan görev atamasının başarımı (Optimize edilmek istenen performans kriteri) Zaman Planlaması Algoritmasının Etkinliği (Algoritmanın Karmaşıklığı) İki farklı zaman planlama algoritması aynı kalitede ise; Daha az karmaşık olan daha iyi

Algoritmalar İdeal algoritmalar ancak programı ve dağınık sistemi temsil eden modeller üzerinde bazı sınırlandırmalar kabul edildiğinde elde edilebilir. Problemi makul bir zaman içerisinde çözmek için sezgisel algoritmaların kullanımına ihtiyaç duyulur. Bu algoritmalar optimum sonucu vermeyi garanti etmemekle birlikte optimuma çok yakın sonuçlar verirler.

Zaman Planlaması Teknikleri Belirleyici (Deterministic) zaman planlaması : Görevlerin tüm bilgisi ve diğerleriyle olan ilişkileri, programın çalışmasından önce bütünüyle bilinir Belirleyici olmayan (Nondeterministic) zaman planlaması : Bazı bilgiler programın çalışmasından önce bilinmeyebilir.

Belirleyici Olmayan Zaman Planlaması Metodlar Statik Metot: Bilgi önceden belirlenir Dinamik Metot: Görevler için anlık zaman planlaması yapılır. Dezavantajı: Program koşarken zaman planlaması yapma zorluğu Hibrid Metodu: Dinamik ve statik metotların birleşiminden teşekkül eder.

Zaman Planlaması Modeli Program Görevleri (Program Tasks) Hedef Makine (Target Machine) Zaman Planı (Schedule) Programın Çalışma Zamanı ve İletişim Zamanı

Program Görevleri “T = {t1,…,tn}” => Çalıştırılacak görevler kümesi. “ti<tj” => tj başlamadan önce ti tamamlanmalı. “D” => n x n iletişim veri matrisi. “Dij>=0” ti den tj ye aktarılması gereken veri miktarını belirtir. “A” => yapılan işlem miktarını belirtir. “Ai>0” ti görevinde ne kadar hesap işlemi yapıldığı gösterir.

Hedef Makine Keyfi bir ara bağlantı iletişim ağını kullanarak birbirine bağlanan heterojen işlemcilerden oluşur. İşlemcilerin bağlantısı “İletişim Ağı Diyagramı” adlı yönlendirilmemiş tablo kullanılarak gösterilebilir.

Zaman Planı m tane işlemcili bir sistemdeki görev diyagramının zaman planı, f fonksiyonunun her bir görevi bir işlemciye ve bir başlangıç zamanına yönlendirmesi demektir. f: T → {1,2,…,m} x [0,∞). F(v) = (i,t) ise; ‘v görevi, i işlemcisi tarafından t anında başlayarak işleme tabi tutulur’ deriz. f fonksiyonu her bir görevin başlangıç ve bitiş zamanlarının kolaylıkla gösterilebileceği “Gannt chart” ile gösterilebilir.

Programın Çalışma Zamanı ve İletişim Zamanı Görev diyagramının ve hedef makinenin parametreleri bilindiği andan itibaren programın çalışma zamanı ve iletişim zamanı kolaylıkla elde edilebilir. ti görevi Pj işlemcisinde çalıştırılıyorsa; çalışma zamanı = Ai / Sj Görevler bitişik veya komşu olan Pk ve Pl işlemcilerinde çalıştırılıyorsa; ti ve tj görevleri arasındaki iletişim gecikmesi = Dij / Rkl

İletişim Gözardı Edilerek Yapılan Zaman Planlaması Bu bölümde zaman planlaması probleminin bazı koşullu modelleri için çok terimli zaman optimizasyonu algoritmaları kullanacağız. En uygun üç algoritma şunlardır: (1) Görev diyagramının in-forest veya out-forest olduğu; (2) Görev diyagramının interval order olduğu; (3) Sadece iki işlemcinin mümkün olduğu.

İletişim Gözardı Edilerek Yapılan Zaman Planlaması Bu üç durum için bu bölümde; Bir görev diyagramının n adet görevi içerdiğini; Hedef makinenin m adet işlemciye sahip olduğunu; Her bir görev için çalışma zamanının bir birim zaman olduğunu; Görevler arası iletişimin olmadığını; Amacımızın toplam çalışma zamanının minimize edilerek ideal zaman planlaması yapmak olduğunu; varsayarak hareket edeceğiz.

In-Forests/Out-Forests Görev Diyagramı için Zaman Planlaması In-forest: Her bir düğümün en fazla bir tane doğrudan ardıla sahip olduğu görev diyagramı Out-forest: Her bir düğümün en fazla bir tane doğrudan öncele sahip olduğu görev diyagramı Algoritma 1 Görev diyagramındaki her bir düğümün seviyesi düğümün öncelik belirleyicisi olarak atanır. Bir işlemci kullanılabilir hale geldiğinde yüksek öncelikli olan sıradaki göreve tahsis edilir.

In-forest Örneği

Interval Ordered Görevler İçin Zaman Planlaması Algoritma 2 Her bir düğüm için tüm ardıllarının sayısı düğümlerin önceliğini belirlemek için kullanılır. Bir işlemci kullanılabilir hale geldiğinde yüksek öncelikli olan sıradaki göreve tahsis edilir.

Interval Ordered Örneği

İki İşlemcili Zaman Planlaması

İki İşlemci Örneği

İletişim Modelleri Programın tamamlanma süresine etki eden iki bileşen bulunmaktadır: Hesaplama zamanı İletişim gecikmesi

İki Bileşen Olarak Tamamlanma Zamanı Program tamamlanma zamanının çalışma zamanı bileşenleri Gannt chart üzerinden herhangi bir görevin maksimum bitiş zamanı olarak saptanabilir ve buna Zaman Planlaması Uzunluğu denir. Eğer toplam iletişim gecikmesini hesaplayabiliyorsak, programın tamamlanma süresini de şu şekilde hesaplayabiliriz: Program Tamamlanma Süresi = Çalışma Zamanı + Toplam İletişim Gecikmesi Toplam iletişim gecikmesi şu şekilde hesaplanabilir: Toplam İletişim Gecikmesi = Toplam Mesaj Sayısı * Mesaj Başına İletişim Gecikmesi

İki Bileşen Olarak Tamamlanma Zamanı Toplam mesaj sayısı iki model ile elde edilebilir: Model A Toplam mesaj sayısı (u,v) şeklinde tanımlanan bir düğüm çifti olarak tanımlanır, öyle ki (u,v) ε E ve proc(u) ≠ proc(v) Model B Toplam mesaj sayısı (P,v) şeklinde bir işlemci görev çifti olarak tanımlanır, öyle ki P işlemcisi v görevini hesaplamaz fakat en azından v nin ardıllarınden birini hesaplar.

Gantt Chart Üzerinden Tamamlanma Süresinin Hesaplanması İletişim gecikmesi, zaman planlamasını temsil eden Gantt chart içinde ifade edilir. Bundan dolayı programın tamamlanma süresi Gantt chart üzerinden direk olarak saptanabilir: Program Tamamlanma Süresi = Zaman planlaması uzunluğu

Model C Bu model I/O işlemcisinin sistemdeki her bir işlemci ile ilişkili olduğunu varsayar. İşlemci iletişim halinde iken bir görevi bir işlemciye atamak mümkündür. Aynı işlemciye paylaştırılan iki görev arasındaki iletişim gecikmesi göz ardı edilebilir. Farklı iki işlemciye paylaştırılan iki görev arasındaki iletişim gecikmesi ise mesaj büyüklüğünün, hattın ve iletişim hızının bir fonksiyonudur.

Örnek

Örnek Açıklama A ve B modelleri için a,b,d görevlerinin P1 işlemcisine, c ve e görevlerinin P2 işlemcisine tahsis edildiğini düşünelim. A modelini kullanırsak toplam mesaj sayısı = |(a,c),(a,e)| = 2. B modelini kullanırsak toplam mesaj sayısı = |(a,P2)| = 1. Her bir mesajın bir birim zaman tuttuğunu varsayarsak, program bitirme zamanı şu şekilde bulunur: Model A kullanılarak program tamamlanma zamanı = 3 + 2 = 5 birim zaman Model B kullanılarak program tamamlanma zamanı = 3 + 1 = 4 birim zaman

Örnek Açıklama Model C de ise iki ayrı işlemciye tahsis edilen iki iletişim görevi arasındaki iletişim gecikmesini bir birim zaman kabul edelim. 10.4c şekli göstermektedir ki b görevi a görevi gibi aynı işlemcilere tahsis edilmiştir, ki bu gecikme olmadığı anlamına gelir. a dan mesajı gelmeden evvel d görevi P2 de başlayamaz. Bu yüzden program tamamlanma zamanı: Program Tamamlanma Zamanı = Zaman Planlaması Uzunluğu = 4 birim zaman