Assignment of aspects in heterogeneous distributed systems
dc.contributor.advisor | Buzluca, Feza | |
dc.contributor.author | Bulu, Samet | |
dc.date.accessioned | 2020-12-07T10:11:42Z | |
dc.date.available | 2020-12-07T10:11:42Z | |
dc.date.submitted | 2011 | |
dc.date.issued | 2018-08-06 | |
dc.identifier.uri | https://acikbilim.yok.gov.tr/handle/20.500.12812/129552 | |
dc.description.abstract | Problemi, nesne adı verilen modüler parçalara ayrıştıran nesneye yönelikprogramlama günümüzde en sık tercih edilen programlama tekniğidir. Nesneyeyönelik programlama her ne kadar ilgilerin ayrıştırılması konusunda büyük imkanlarsağlasa da loglama, performas gözleme, ön bellekleme, kimlik doğrulama veyetkilendirme gibi dik kesen ilgilerin ele alınmasında zorluklar yaşamaktadır.Cepheye yönelik programlama, dik kesen ilgileri cephe adı verilen parçalaraayrıştıran bir çözüm olarak önerilmiştir. Cephe adlı bu parçalar örme adı verilen birişlem ile ana programa birleştirilir.Son yıllarda dağıtılmış sistemlerin kullanımının artmasıyla birlikte dağıltılmışcepheye yönelik programlama da popüler hale gelmiştir. Dağıltılmış cepheye yönelikprogramlamada cepheler, her biri farklı bellek ve işlem gücüne sahip bir dizi düğümeyüklenir. Geleneksel uzak method çağrımına benzer şekilde uzak kesim noktalarıtarafından cephe içinde yer alan method benzeri yapılar uzak düğümler üzerindeçalıştırılır.Cephelerin sistem üzerinde nasıl dağıtıldığı önemlidir ve programın performansınıetkiler. Çünkü nesneler ile cepheler arasında bir ilişki vardır. Nesneden cepheye birçağrı olduğunda arada veri transferi gerçekleşir. Bu işlem bir süre gerektirir ve busüre transfer edilen verinin miktarına ve transfer esnasında kullanılan iletişimyolunun kapasitesine bağlıdır. Dolayısıyla, cepheler dağıtılmış sistem üzerindedüğümlere atanırken düğümlerin işlem kapasiteleri, iletişim yolu parametreleri,transfer edilen veri miktarı gibi sistemin ve programın özellikleri dikkate alınmalıdır.Her ne kadar günümüze kadar çok sayıda iş atama yöntemi tanımlanmış olsabunların hiç biri cephelerin atanması ile ilgilenmemiştir. Tez kapsamında ilk olarak,heterojen dağıtılmış sistemlerde cephe atama problemi gerekli tüm özellikler dikkatealınarak tanımlanmıştır. Sonrasında dağıtılmış cepheye yönelik programlamada yeralan bu problemi çözmek üzere A*, GA ve PSO algoritmaları uygulanmıştır. Ayrıcadağıtılmış cepheye yönelik program performansını arttırmak üzere cepheleridüğümlere atama işlemi esnasında gerekli cephelerin kopyalarını oluşturan yeni biralgoritma önerilmiştir. Son olarak algoritmaların farklı sistemler ve programlarüzerinde etkinlikleri değerlendirilerek, rastgele atama yapan bir algoritmaya göresağlamış oldukları performans artışı karşılaştırılmıştır.Yapılan deneyler çok düğüme sahip büyük sistemlerde GA ve PSO algoritmalarının,daha küçük sistemlerde ise A* algoritmasının tercih edilebileceğini göstermiştir.Diğer taraftan cephelerin kopylarının kullanılması belirli bir seviyeye kadar maliyetdeğerlerini düşürmüş ve performansta artış sağlamıştır. Son olarak cephelerin uygunşekilde atanması dağıtılmış cepheye yönelik program performansını arttırdığıgözlemlenmiştir. | |
dc.description.abstract | Nowadays, object-oriented programming has become the most preferredprogramming paradigm where a problem is decomposed into modular units calledobjects. Although object-oriented programming offers greater ability for separationof concerns, it has difficulty to implement crosscutting concerns like logging,pro ? ling, caching, authentication, and authorization. Aspect oriented programming isproposed as a solution for separation of crosscutting concerns into single units calledaspects. Aspects are then combined with a base program through a process calledweaving.In recent years, with increasing use of distributed systems, distributed AOP hasbecome more popular. In distributed AOP, aspects can be deployed in a set of hostswhere each host has unique memory and processing capabilities. Remote pointcuts,which are similar to traditional remote method calls, invoke the execution of method-like constructs called advices in aspects on remote hosts.The way of distributing aspects over the network is critical and affects theperformance of the program, because there is a relation between objects and aspects.When there is a call from an object to an aspect, data is exchanged between theseobject and aspect. This process consumes time and this time depends on the amountof the data and the capacity of the link, which is used during the data transfer.Therefore, while assigning aspects of an AOP to hosts in a distributed system severalproperties of the physical system and the program must be taken into considerationlike processing capabilities of hosts, parameters of communication links, amount ofdata shared between objects and aspects.Although a large number of task assignment approaches have been identified up tonow, none of them is interested in assignment of aspect. In this thesis, first, theaspect assignment problem in heterogeneous distributed systems is formulated byconsidering all necessary parameters. Then we apply three algorithms namely A*,GA and PSO to solve this problem that occurs in distributed AOPs. Also a newalgorithm which creates clones (copies) of necessary aspects while assigning them tohosts is proposed in order to improve the performance of the distributed AOP.Finally, we evaluate the efficiency of these algorithms for different systems andprograms and compare the increase in the performance of the AOP obtained by thesealgorithms with an algorithm that assigns aspects to hosts randomly.Experimental results show that GA and PSO are more favorable than A* algorithmfor larger systems with many nodes, while for smaller systems A* may be preferable.On the other hand, using copies of aspects decreases the cost values up to a certainlevel and makes improvements in the performance. Finally, it is shown that properassignment of aspects improves performance of the distributed AOPs. | en_US |
dc.language | English | |
dc.language.iso | en | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.rights | Attribution 4.0 United States | tr_TR |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | |
dc.subject | Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol | tr_TR |
dc.subject | Computer Engineering and Computer Science and Control | en_US |
dc.title | Assignment of aspects in heterogeneous distributed systems | |
dc.title.alternative | Heterojen dağıtılmış sistemlerde cephe atama | |
dc.type | masterThesis | |
dc.date.updated | 2018-08-06 | |
dc.contributor.department | Bilgisayar Bilimleri Anabilim Dalı | |
dc.identifier.yokid | 407090 | |
dc.publisher.institute | Bilişim Enstitüsü | |
dc.publisher.university | İSTANBUL TEKNİK ÜNİVERSİTESİ | |
dc.identifier.thesisid | 371507 | |
dc.description.pages | 69 | |
dc.publisher.discipline | Diğer |