Tez No |
İndirme |
Tez Künye |
Durumu |
295408
|
|
Model based parallelization of object oriented software for multicore systems / Çok çekirdekli sistemler için nesneye dayalı yazılımların model tabanlı paralelleştirilmesi
Yazar:TOLGA OVATMAN
Danışman: YRD. DOÇ. DR. FEZA BUZLUCA
Yer Bilgisi: İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:Nesneye dayalı yazılım = Object oriented software ; Paralel programlama = Parallel programs
|
Onaylandı
Doktora
İngilizce
2011
155 s.
|
|
Bu ç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.
|
|
As 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. |