Çok Çekirdekli Sistemler İçin Nesneye Dayalı Yazılımların Model Tabanlı Paralelleştirilmesi

dc.contributor.advisorBuzluca, Feza
dc.contributor.authorOvatman, Tolga
dc.contributor.authorID410003
dc.contributor.departmentBilgisayar Mühendisliği
dc.contributor.departmentComputer Engineering
dc.date2011
dc.date.accessioned2011-08-04
dc.date.accessioned2015-04-08T11:49:58Z
dc.date.available2015-04-08T11:49:58Z
dc.date.issued2011-09-05
dc.descriptionTez (Doktora) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2011
dc.descriptionThesis (PhD) -- İstanbul Technical University, Institute of Science and Technology, 2011
dc.description.abstractBu çalışmada sınıf bağımlılıkları arasında sıkça ortaya çıkan örüntüler ve bu örüntülerin yazılıma özgü gösterdiği karakteristikler, örüntülerin bir takım özellikleri incelenerek ortaya çıkarılmıştır. Bu örüntülerin sınıf çizeneklerinde ortaya çıkma biçimleri, örüntülerden çeşitli örnekler sunularak ve bu örneklerin çalışma zamanında gösterdiği davranışlar incelenerek açıklanmıştır. Bu şekilde bağımlılık örüntülerinin nesneye dayalı yazılımların paralelleştirilmesine olan etkisi incelenmiştir. Bağımlılık kalıplarının yazılımda gösterdiği özellikleri detaylandırmak amacıyla bir ölçüt kümesi tez çalışmalarında önerilmiştir. Tez çalışmalarında bağımlılık örüntülerinin otomatik olarak yazılım tasarımlarında algılanılmasına da odaklanılmıştır. Bu amaçla yazılım tasarımlarından edinilen çizgeler üzerinde öbekleme algoritmaları uygulanmış ve sonuçta bu algoritmaların özellikle “köprü” adı verilen örüntüleri algılamakta yetersiz kaldığı görülmüştür. Bu sorunu çözmeye yönelik tanımlanan algoritma ile hem “körprü”lerin algılanması sağlanmış hem de böylece öbekleme tekniklerinin bağımlılık kalıbı algılama amacıyla başarımı arttırılmıştır. Tez çalışmalarında son olarak çok çekirdekli işlemcilerde ortak kullanılan cep belleklerin paylaşılmasından sağlanan faydanın model tabanlı tekniklerle arttırılması üzerine yoğunlaşılmıştır. Tez çalışmaları sonucunda iki farklı alanda katkılar sağlanmıştır. Bunlardan ilki yazılım tasarımları kullanılarak yazılımın genelinde gizli bulunan paralelliğin ortaya çıkartılması ve model tabanlı bilgiler ışığında nesneye dayalı yazılımların iş sıralamasının yönlendirilmesidir. Sunulan deneyler, önerilen model tabanlı tekniklerin kullanımı ile %30 a varan başarım artışının sağlanabileceğini göstermektedir.
dc.description.abstractAs multicore processors are becoming more wide-spread, leveraging of parallelism is once again becoming an important concern during the software development process. This thesis starts with definitions of often occurring patterns of class-dependencies are defined and their characteristics in class diagrams are demonstrated by investigating their properties. This investigation led to understand how they impact the parallelization of object oriented software. A metric suite is proposed to elaborate the dependency pattern definitions allowing the developer/designer to further identify characteristics of each pattern. Later in the studies, automatically detecting dependency patterns in software designs is focused. After applying graph clustering techniques to dependency graphs extracted from class diagrams it has been found that these techniques were not able to detect key dependency patterns that relied on characteristic relationships of classes within a cluster to classes outside of that cluster. An algorithm is proposed to detect such dependencies. In the last part of the thesis, leveraging utilization of the shared caches of multicore processors is explored. A different approach is applied by using software models to guide operating system to effectively map software’s objects onto processor cores. The two main contributions of this thesis are the use of static object oriented software designs in detecting impilict parallelism in software and using this model based information during scheduling of object oriented parallel software. The experiments show that performance improvements up to 30% can be achieved using model based techniques.
dc.description.degreeDoktora
dc.description.degreePhD
dc.identifier.urihttp://hdl.handle.net/11527/530
dc.publisherFen Bilimleri Enstitüsü
dc.publisherInstitute of Science and Technology
dc.rightsİTÜ tezleri telif hakkı ile korunmaktadır. Bunlar, bu kaynak üzerinden herhangi bir amaçla görüntülenebilir, ancak yazılı izin alınmadan herhangi bir biçimde yeniden oluşturulması veya dağıtılması yasaklanmıştır.
dc.rightsİTÜ theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission.
dc.subjectNesneye dayalı yazılım paralelleştirme
dc.subjectmodel tabanlı paralelleştirme
dc.subjectmodel tabanlı iş sıralama
dc.subjectObject oriented software parallelization
dc.subjectmodel based parallelization
dc.subjectmodel based scheduling
dc.titleÇok Çekirdekli Sistemler İçin Nesneye Dayalı Yazılımların Model Tabanlı Paralelleştirilmesi
dc.title.alternativeModel Based Parallelization Of Object Oriented Software For Multicore Systems
dc.typeDoctoral Thesis

Dosyalar

Orijinal seri

Şimdi gösteriliyor 1 - 1 / 1
Yükleniyor...
Küçük Resim
Ad:
12008.pdf
Boyut:
7.57 MB
Format:
Adobe Portable Document Format

Lisanslı seri

Şimdi gösteriliyor 1 - 1 / 1
Yükleniyor...
Küçük Resim
Ad:
license.txt
Boyut:
3.14 KB
Format:
Plain Text
Açıklama