Marshalling/demarshalling performance analysis of sun'JAVA IDL by using static invocation interface
Sun'ın JAVA IDL derleyicisinin statik çağrı arayüzü kullanılarak hizalama/geri hizalama başarımının incelenmesi
- Tez No: 143039
- Danışmanlar: PROF. DR. MEHMET BÜLENT ÖRENCİK
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2003
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 138
Özet
Tezimiz, da t İm sistemlere genel bir bak la ba lamaktad r. Da t İm sistemler a a daki evreleri izleyerek geli mi lerdir :. Ana çat lar için yaz İm tek parçal yaz I mlar kullanan Tek Parçalı Sistemler.. Hizmetler sa layan bir sunucu ve sunucudan hizmetler isteyen bir istemciden olu an İstemci/Sunucu Sistemleri.. Sistemi, kullan c arayüzü katman, i kurallar katman ve veritaban eri im katman olmak üzere parçalara ayran Çok Parçalı İstemci/Sunucu Sistemleri.. Uygulaman n tüm i levselli ini, sistemdeki veya di er sistemlerdeki di er nesnelerin sa lad hizmetleri kullanabilecek nesneler olarak sunan Dağıtılmış Sistemler. Bundan sonra, da t İm nesneleri ve bile enleri tan tt k. Da t İm nesneler a üzerinde herhangi bir yerde bulunabilecek geni letilmi nesnelerdir. Bile enler, de i ik ortamlarda çal an, sistemin en küçük kendi kendini yönetebilen, ba ms z ve kullan I parçalar d r. Bir i nesnesi üç ana parçadan olu maktad r :. İş Mantığı Nesnesi, nesnenin belirli olaylara kar nas I davranaca n tan mlar.. İş İşleme Nesnesi tüm sistem için i mant n n sa lanmas na yard mc olur.. Sunum Nesneleri kullan c ya bile enin bir gösterilimini sa lar. Genel Nesne stek Araç s Mimarisi (ÇORBA), nesne sistemlerinin geni çe itlilikleri araş nda entegrasyona izin vermesi için Nesne Yönetim Grubu (OMG) taraf ndan yap land r İm t r. ÇORBA istemci/sunucu etkile imini kolayla t rmak için gerekli olan ve istemci ve sunucu taraflar n ikisinde birden ko an bir da t İm yaz I md r, yani bir araç birimdir. OMG nin Nesne Yönetim Mimarisi dört ana bile enden olu maktad r :. A/esne İstek Aracısı (ORB), ÇORBA nesne yolunu tan mlar.. ÇORBA Hizmetleri, yolu (ORB) geni leten sistem-düzeyi nesne çal ma çerçeveleri tan mlar.. ÇORBA Kolaylıkları, i nesneleri taraf ndan do rudan kullan lan yatay ve dikey uygulama çal ma çerçeveleri tan mlar.. Uygulama Nesneleri, i nesneleri ve uygulamalar d r. Bir ORB a a daki parçalardan olu ur :. İstemci kütükleri veya statik çağrı arayüzü (Sil), bir nesnenin OMG IDL tan mi i lemlerine eri imi sunacakt r.. Dinamik çağrı arayüzü (Dil), nesne ça r lar n n dinamik in as na izin verir.. Gerçekleme iskeleti, nesnenin her tipini gerçekleyen metotlara bir arayüzdür.. Dinamik iskelet arayüzü (DSİ), nesne ça r lar n n dinamik i lenmesine izin verir.. Bir nesne bağdaştırıcısı, bir nesne gerçeklemesinin, ORB taraf ndan sa lanan hizmetlere eri iminin temel yoludur.. ORB arayüzü, ORB a do rudan giden arayüzdür.. IDL derleyicisi, arayüz tan mlamalar n yüksek-düzey dil yap lar na dönü türür. Arayüz tan mlamalar OMG Arayüz Tan mlama Dili (OMG IDL) ile belirtilir.. Arayüz ambarı ko ma an nda bulunabilir bir biçimde, IDL bilgisini temsil eden kal c nesneler sa layan bir hizmettir. ÇORBA Hizmetleri, IDL taraf ndan belirtilini arayüzlerle paketlenmi, sistem düzeyi hizmetlerin koleksiyonlar d r. OMG onbe nesne hizmeti için standartlar yay nlam t r : yaşam çevrimi, kalıcılık (kalıcı durum), adlandırma, olay, eşanlılık, bölünmez işlem, ilişki, dışarılama, sorgu, lisanslama, özellikler, zaman, güvenlik, tacir ve koleksiyon hizmetleri. Genel ORB Arası Protokol (GIOP), ORBIar araş ndaki ileti im için bir standart iletim sentaks ve bir mesaj biçimleri kümesi belirtir. Her ÇORBA 2.0 ORB un desteklemek zorunda oldu u Internet ORB Arası Protokolü (HOP), GIOP mesajlar n n TCP/IP ba lant lar kullan larak nas I kar I ki de i tirilece ini belirtir. OMG ayr ca, Ortama Özel ORB Arası Protokollerin (ESIOP) açk sonlu bir kümesi için öngörümde bulunur. Alanlar sistemlerin, genel karakteristiklere sahip olan bile enlerin koleksiyonlar na ayr İmalar na izin verir. Alanlar araş nda kar I ki ortakla ma, iki köprüleme mekanizmas ile sa lan r :. Aracılı köprülemede tüm alanlar bir genel protokole köprülenir.. Aracısız köprülemede ise iki alan, mesaj n gerekli parçalar n çeviren bir köprü üzerinden birbirleriyle do rudan konu ur. Tezimiz ÇORBA ba arm analizinin yalnzca hizalama/geri hizalama yönüyle ilgilenmi tir. ÇORBA n n yaln zca statik yönlerini kapsad k, dinamik yönlerini de il.ÇORBA ba arm ölçümüyle ilgili birçok yüksek lisans çal mas ve yayn bulunmaktad r. Ayr ca OMG taraf ndan, ÇORBA n n ba ar m ölçümü için kurulmu bir özel ilgi grubu da bulunmaktad r. Ba I m z n da yans tt gibi hizalama/geri hizalama ba ar m n inceledik. Hizalama/geri hizalama, tiplendirilmi veri nesnelerinin yüksek düzey gösterimlerden dü ük düzey gösterimlere çevrilmesini (hizalama) ve tersi i lemi (geri hizalama) anlat r. Dü ük düzey gösterimler, Genel Veri Gösterimi (CDR) kurallar izlenerek elde edilir. Ölçüt tak m m z üç oyuncudan olu maktad r :. Değer Hizmetlisi, istemciden istekleri kabul eder ve tepkileri geri gönderir.. Zaman Hizmetlisi zaman i lemleriyle ilgilenir.. İstemci, sunucudan ça r lar yapar. Ölçüt ortam m z a a daki ölçüler ele al narak in a edilmi tir :. Ölçütümüzü Dünya çap nda en yayg n bulunabilen CORBA/Java ORBu üzerinde uygulad k. Yani Sun n Java IDL derleyicisini kulland k.. Sunucular m z ve istemcimiz ayn makinede (yerel ça r lar) veya iki kesim farkl makinelerde (uzak ça r lar) konumland r İd.. Metotlar m z tekyönlü veya çiftyönlü olarak tan mland.. Hiçbir parametre almayan ve hiçbir ey geri döndürmeyen bir fonksiyonumuz var. Ayr ca parametrelerimiz istemciden sunucuya, sunucudan istemciye, ve her iki yönde ak yapt.. Tiplerimiz üç grup olarak s n fland r İd :. İlkel Tipler boolean, char, wchar, long, unsigned long, long long, unsigned long long, short, unsigned short, float, double, octet ve long double IDL tiplerini içermektedir.. İnşa Edilmiş Tipler yap lar, arayüzleri, birle ikleri ve söylenmi leri içermektedir.. İçeren Tipler dizileri, s ralar ve katarlar içermektedir, n a etti imiz ölçütü ko turduk. Genel sonuçlar m za göre :. Yerel ça r lar uzak ça r lardan daha h zl d r.. Tekyönlü uyarmalar ikiyönlü uyarmalardan daha h zl d r. Ancak, tekyönlüler güvenilir de ildir ve baz lar testi tamamlayamam t r. Di er taraftan, tüm ikiyönlü ça r lar ölçümleri ba ar yla tamamlam t r.. Küçük boyutlu verilerin her ak için hemen hemen ayn sonuçlar aid k. Ancak daha büyük boyutlar için azalan s rada zamanlar u ekildedir : iki yönde, istemciden sunucuya, sunucudan istemciye ak. XVII. Ikel tipler için dü ük boyutta parametreler için yakn sonuçlar elde ettik. Yüksek boyutlu parametreler için sonuçlar tiplerin boyutlar na göre s ralanm t r.. n a Edilmi Tipler için :. Yap lar için ilkellerle ayn sonuçlar aid k.. Söylenmi ler için unsigned long tipi ile ayn sonucu aid k.. Arayüzlerle parametreler yava geçmektedir.. Bir birle ik içinde octet geçirmek, bir double geçirmekten daha ksa sürmektedir.. çeren tipler için :. S ralar ve dizilerle ayn sonuçlar elde ettik.. Katarlarla karakter içerenler için ayn sonuçlar elde ettik.. Geni katarlarla geni karakter içerenler için ayn sonuçlar elde ettik. Sonuç olarak, hemen hemen tüm statik IDL yap lar n bu tezde test ettik. Birçok ham verimiz var ve kar la t rmalar bu veriler üzerinde yap labilir. Yaln zca bunlar n baz lar için sonuçlar veriyoruz, steyen herkes verilerimizden gereksinim duydu u sonuçlar ç karabilir.
Özet (Çeviri)
Our thesis begin with an overview of the distributed systems. Distributed systems evolved by following the following eras :. Monolithic Systems uses monolithic software written for mainframes.. Client/server Systems are comprised of a server that provides services and a client that requests services of the server.. Multitier Client/server Systems partitions the system into a user interface layer, a business rules layer, and a database access layer.. Distributed Systems expose all functionality of the application as objects, each of which can use any of the services provided by other objects in the system or in other systems. After that, we introduced the distributed objects and components. Distributed objects are extended objects that can reside anywhere on a network. Components are the smallest self-managing, independent, and useful parts of a system that works in multiple environments. A business object consists of three main parts :. Business Logic Object (BLO) defines how the object reacts to certain events.. Business Process Obect (BPO) helps maintain the business logic for the entire system.. Presentation Objects provide the user with a representation of the component. The Common Object Request Broker Architecture (CORBA) is structured by Object Management Group (OMG) to allow integration of a wide variety of object systems. CORBA is a middleware which is a distributed software required to facilitate client/server interaction and runs on both the client and server ends of a transaction. OMG s Object Management Architecture (OMA) is composed of four main elements:. Object Request Broker (ORB) defines the CORBA object bus.. CORBA Services define the system-level object frameworks that extend the bus.. CORBA Facilities define horizontal and vertical application frameworks that are used directly by business objects. Application Objects are the business objects and applications. An ORB consisted of following parts :. The client stubs, or static invocation interface (Sll), will present access to the OMG IDL-defined operations on an object.. The dynamic invocation interface (Dll) allows the dynamic construction of object invocations.. The implementation skeleton is an interface to the methods that implement each type of object.. The dynamic skeleton interface (DSI) allows dynamic handling of object invocations. An object adapter is the primary way that an object implementation accesses services provided by the ORB.. The ORB Interface is the interface that goes directly to the ORB.. The IDL compiler brings the interface definitions to high-level language constructs. Interface definitions are specified by OMG Interface Definition Language (OMG IDL).. The Interface Repository is a service that provides persistent objects that represent the IDL information in a form available at run-time. CORBA services are collections of system-level services packaged with IDL- specified interfaces. OMG has published standards for fifteen object services : life cycle, persistence (persistent state), naming, event, concurrency, transaction, relationship, externalization, query, licensing, properties, time, security, trader and collection services. The General Inter-ORB Protocol (GIOP) specifies a standard transfer syntax and a set of message formats for communications between ORBs. Internet Inter-ORB Protocol (HOP), to which every CORBA 2.0-compliant ORB must supply, specifies how GIOP messages are exchanged using TCP/IP connections. OMG also makes provision for an open-ended set of Environment-Specific Inter-ORB Protocols (ESIOPs). Domains allow partitioning of systems into collections of components which have some characteristic in common. Interoperability between domains is achieved by using two bridging mechanisms :. In mediated bridging all domains bridge to a single common protocol. In immediate bridging two domains talk directly to each other over a single bridge that translates whatever parts of the message require it.Our thesis only concerned the marshalling/demarshalling aspects of performance analysis of CORBA. We only covered the static aspects of CORBA and not the dynamic aspects. There are a lot of master studies and publications related with performance analysis of CORBA. Also there is a special interest group founded by OMG on the benchmarking of CORBA. As our title reflects, we analyzed the marshalling/demarshalling performance. The marshalling/demarshalling refers to the transformations of typed data objects from higher-level representations to lower-level representations (marshalling) and vice versa (demarshalling). The low-level representations are created by following the rules of Common Data Representation (CDR). We have three players constitutes our benchmarking team :. Value Server accepts requests from the client and sends responses back.. Time Server handles the time operations.. Client makes calls from server. Our benchmarking environment is constructed by considering the following criterias :. We applied the benchmark to most commonly available CORBA/Java ORB worldwide, Sun s Java IDL compiler.. We have the servers and the client at the same computer (local calls) or two sides are located at different computers (remote calls). Our methods are defined as oneway and twoway.. We have a function which takes no parameters and returns nothing. Also our parameters flow from client to server, from server to client and in both directions.. Our types are classified into three groups :. Primitive types include the IDL types boolean, char, wchar, long, unsigned long, long long, unsigned long long, short, unsigned short, float, double, octet and long double.. Constructed types include structs, interfaces, unions and enums.. Container types include arrays, sequences and strings. We run the benchmark constructed. Our general results show that :. Local calls are faster than remote calls for big-sized data. For small-sized data, remote calls perform better.. Oneway invocations are faster than twoway invocations. But oneways are unreliable and some of them could not completed the test. On the other hand, all the twoway calls successfully completed the measurements.. We see the nearly same results for small sized data for all the flows of data. But for the larger sizes the descending order is from server to client and client to server back, from client to server and from server to client.. For the primitive types we have the close results for small-sized parameters and results are ordered with sizes of types for larg-sized parameters.. For constructed types :. We have the same results for primitives with structs for small sizes. For big sizes, structs perform worse.. We have the same results for unsigned long with enums.. We have slow passing of parameters with interfaces.. Passing an octet within a union takes less time than passing a double.. For the container types :. We have the same results with sequences and arrays.. We have the same results for strings with char containers.. We have the same results for wstrings with wchar containers. As a conclusion we tested nearly all static IDL constructs in this thesis. We have a bulk of raw data, and comparisons can be made on these data. We only give conclusions for some of them. Whoever wants can deduce the conclusions he/she needs from our data.
Benzer Tezler
- Demiryolu çalışanlarında denetim odağı ve iş güvenliği algısı
Locus of control and perception of occupational safety i̇nrailway staff
CEVHER SARIYILDIZ
Yüksek Lisans
Türkçe
2020
Endüstri ve Endüstri MühendisliğiÜsküdar Üniversitesiİş Sağlığı ve Güvenliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ MÜGE ENSARİ ÖZAY
- Distributed discrete event simulation architecture with connectors
Bağlayıcıları kullanan dağıtık kesikli olay benzetim mimarisi
İSMET ÖZGÜR ÇOLPANKAN
Yüksek Lisans
İngilizce
2014
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. MEHMET HALİT SEYFULLAH OĞUZTÜZÜN
DR. AHMET KARA
- Improving efficiency and safety of program generation
Başlık çevirisi yok
TANKUT BARIŞ AKTEMUR
Doktora
İngilizce
2009
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolUniversity of Illinois at Urbana-ChampaignBilgisayar Bilimleri Ana Bilim Dalı
DOÇ. DR. SAMUEL KAMİN
- Demiryolu yük taşımacılığında optimum katar yükü probleminin incelenmesi
Determination of the optimum train load in railway freight transportation
SADETTİN ÖZEN
- Functionality of virtual signals in marshaling yard and workshop area signaling systems
Manevra bölgesi ve atölye alanlarında kullanılan sinyalizasyon sisteminde sanal sinyallerin işlevselliği
HASAN EFE
Yüksek Lisans
İngilizce
2022
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiRaylı Sistemler Mühendisliği Ana Bilim Dalı
PROF. DR. MEHMET TURAN SÖYLEMEZ