Este trabalho procura averiguar as dificuldades e os problemas envolvidos na especificação e implementação de uma arquitetura de objetos de serviço para gerenciamento e suporte a aplicações distribuídas em uma plataforma de computadores em configuração tipo cluster, em particular daqueles que devem cumprir requisitos de alta disponibilidade. Tal arquitetura deve apresentar-se como uma infra-estrutura distribuída de serviços e compor uma camada intermediária entre as partes das aplicações distribuídas e os recursos do cluster, compondo desse modo uma camada de middleware. Uma arquitetura de gerenciamento e de suporte a aplicações distribuídas, para que possa atingir plenamente seus objetivos, deve ser projetada como uma infra-estrutura distribuída de serviços de modo a oferecer acesso fácil e eficiente a estes. Neste trabalho, investigamos a possibilidade de se implementar tal infra-estrutura utilizando a arquitetura de objetos distribuídos OMG CORBA, a qual tem por objetivo facilitar a especificação, implementação e o acesso a interfaces de serviços de objetos distribuídos. Uma infra-estrutura de serviços de suporte a aplicações e de gerenciamento de cluster- é composta de dezenas de interfaces dos mais diversos tipos e finalidades, compondo vários sistemas e subsistemas distribuídos cujos serviços devem ser fácil e transparentemente acessíveis através da rede de comunicação que interconecta os nós do cluster. Essa rede tipicamente utiliza os protocolos de comunicação Ethernet IEEE 802.3, IP e TCP/UDP em seus níveis de enlace, rede e transporte, respectivamente. Por essa ótica, CORBA atende de antemão vários dos requisitos necessários, porém em diversos aspectos da arquitetura e dos serviços houve necessidade de se averiguar com mais profundidade a capacidade de CORBA de atendê-los. Como por exemplo, averiguou-se a capacidade de CORBA lidar com problemas ligados à falhas parciais de comunicação, comunicação em grupo, comunicação não-bloqueante e outras. Um dos desafios da abordagem utilizando CORBA reside no fato de que se tem o pré-requisito de alta disponibilidade. A arquitetura proposta deve ser projetada levando-se em conta que certas partes do sistema, tais como subsistemas de armazenamento, processamento, rede, aplicações e outros podem , a qualquer momento, falhar ou tornar-se inoperantes. O grande desafio deste trabalho consiste assim em averiguar quais são as dificuldades de se utilizar CORBA como parte central da arquitetura, uma vez que a infra-estrutura obtida necessita ser ela própria um conjunto de serviços de alta disponibilidade, caso contrário ela não conseguirá cumprir seus objetivos. Investigaremos então possíveis modos de implementação de objetos CORBA que venham a cumprir os requisitos de alta disponibilidade necessários. Por fim, este trabalho procura averiguar a possibilidade de se implementar tal arquitetura em clusters baseados em elementos de hardware e software disponíveis em larga escala e a baixo custo no mercado tais como PCs ou servidores baseados em processador Intel rodando os sistemas operacionais Linux ou FreeBSD e interconectados por redes locais de baixo custo. Tais plataformas são popularmente conhecidas como Beowulf Clusters. Este aspecto da investigação terá influência no projeto da arquitetura proposta, uma vez que procuramos enfocar aspectos de alta escalabilidade para o cluster, uma tendência para o uso desse tipo de cluster em aplicações de alta demanda de processamento e recursos, tais servidores web e de banco de dados de grandes provedores de conteúdo e serviços da Internet / This work intends to investigate for the difficulties and problems involved in the specification and implementation of an object-oriented architecture of services for management and support of distributed applications in a platform of computers in cluster configuration, in particular for those that must fulfill requirements of high availability. Such architecture must present itself as a infrastructure of distributed services and should compose an intermediate layer between the parts of the cluster distributed applications and the cluster resources, composing in this way a middleware layer. In order to reach its objectives, this support and management architecture must be designed as a distributed infrastructure of services. By this way, it can offer easy and efficient access to its services. In this text, we investigate the possibility of implementing such infrastructure of services using the distributed object architecture proposed by OMG, the so-called CORBA architecture. CORBA has many objectives and features as to facilitate the specification, implementation and access to distributed service objects. An infrastructure of services for the support and management of clusters and cluster applications is composed of a set of interfaces of the most diverse types and purposes, composing some distributed systems and subsystems whose services must be easy and transparently accessible through the communication networks that interconnects the cluster computer nodes. Cluster networks typically uses standard communication protocols such as Ethernet IEEE 802.3 at the data-link layer, the Internet Protocol (IP) at the network layer and TCP/UDP at the transport layer. In these aspects CORBA takes care on beforehand of severa1 of these requirements. However, for many service requirements of the proposed architecture it was necessary inquiring in more depth the CORBA capabilities to accomplish them. As an example, it was investigated the CORBA capabilities to deal with problems related to partial communication failures, communication for object groups, non-blocking and asynchronous communication and others. One of the challenges of the CORBA approach for the proposed architecture inhabits in the fact that the system must accomplish the prerequisite of high availability. The architecture proposal must be designed taking in account that certain parts of the system, such as storage subsystems, processors, network, applications and others can, at any time, fail or become inoperative. The great challenge of this proposal work consists thus inquiring the difficulties of adopting CORBA as a central part of the architecture, since the gotten infrastructure needss to be a proper high availability set of services. In contrary case, it will not fulfill its primary objectives. We will investigate possible ways of implementing CORBA objects in such a way that they fulfill the necessary high availability requirements. Finally, this work looks for the possibility of implementing the proposed system in clusters built with wide scale and low cost hardware and software elements available in the market, such as Intel-processor-based PCs and servers running open-source and low-cost operating systems such as Linux or FreeBSD and interconnected by low cost local area networks. Such platforms are popularly known as Beowulf Clusters. This aspect of The inquiry will have influence in the architecture proposal, once we are focusing aspects of high scalability for the cluster since there is a trend for the use of this type of cluster in applications of high demand of processing and resources, such as web servers for great suppliers of content and services on the Internet
Identifer | oai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-18112013-104456 |
Date | 31 March 2003 |
Creators | Claudio Roberto de Vincenzi |
Contributors | Gonzalo Travieso, Attilio Cucchieri, Jan Frans Willem Slaets, Luis Carlos Trevelin, Onofre Trindade Junior |
Publisher | Universidade de São Paulo, Física, USP, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis |
Source | reponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds