\section{As Novas Demandas Computacionais}
\label{asnovasdemandascomputacionais}
%\cutname{asnovasdemandascomputacionais.html}

As atividades econômicas que utilizam redes eletrônicas como plataforma tecnológica têm sido denominadas negócios eletrônicos (\textit{e-business}). Essa expressão engloba os diversos tipos de transações comerciais, administrativas e contábeis, que envolvem governo, empresas e consumidores. O comércio eletrônico (\textit{e-commerce}) é a principal atividade dessa nova categoria de negócios.

Os atores institucionais envolvidos nos serviços governamentais são o próprio Governo (G), Instituições Externas (B, de \textit{business}), e o Cidadão (C), que interagem entre si de várias maneiras. Há cinco tipos de relações entre esses atores em aplicações governamentais:

\begin{itemize}
\item B2B (\textit{business-to-business}):\\
	transações entre empresas, exemplos: EDI, portais verticais de negócios;
	
\item B2C/C2B (\textit{business-to-consumer}/\textit{consumer-to-business}):\\
	transações entre empresas e consumidores, exemplos: lojas e shoppings virtuais;

\item B2G/G2B (\textit{business-to-government}/\textit{government-to-business}):\\
	transações envolvendo empresas e governo, exemplos: EDI, portais, compras. Corresponde a ações do Governo que envolvem interação com entidades externas. O exemplo mais concreto deste tipo é a condução de compras, contratações, licitações, etc, via meios eletrônicos;

\item C2C (\textit{consumer-to-consumer}):\\
	transações entre consumidores finais (exemplos: sites de leilões, classificados on-line);

\item G2C/C2G (\textit{government-to-consumer}/\textit{consumer-to-government}):\\
	transações envolvendo governo e o cidadão (consumidores finais dos serviços do Governo), exemplos: pagamento de impostos, serviços de comunicação). Corresponde a ações do Governo de prestação (ou recebimento) de informações e serviços ao cidadão via meios eletrônicos. O exemplo mais comum deste tipo é a veiculação de informações em um \textit{website} de um órgão do governo, aberto a todos os interessados;

\item G2G (\textit{government-to-government}): \\
	transações entre instituições do governo em qualquer nível ou esfera do Poder. Corresponde a funções que integram ações do Governo horizontalmente, exemplo: no nível Federal, ou dentro do Executivo; ou verticalmente, exemplo: entre o Governo Federal e um Governo Estadual.
\end{itemize}


A informatização de operações internas e de serviços prestados pelo Governo remete à necessidade de se planejar, implementar e operar grandes aplicações de tecnologias de informação e comunicação, envolvendo o desenvolvimento de pacotes de \textit{software} de grande complexidade, para execução em plataformas usualmente bastante heterogêneas de computadores e redes.

Tais aplicações, especialmente as de escala nacional, que costumam tratar de imensas quantidades de dados, que perpassarão inúmeras gerações tecnológicas, são tão carregadas de variáveis e condicionantes que, tipicamente, são descritos e caracterizados como ``sistemas complexos":
\begin{itemize}
\item têm dimensões gigantescas, tais como milhões de usuários, centenas de funções, etc.;
\item têm especificação dinâmica, isto é, se modifica ao longo do tempo, para acomodar novas necessidades, revisão de prioridades, etc.;
\item nunca terminam de ser implementados, como conseqüência natural das duas características anteriores.
\end{itemize}


Assim os \textit{softwares} desenvolvidos pela administração pública têm de optar pelas tecnologias adequadas e compatíveis, seguindo as diretrizes de Governo Eletrônico e os padrões de interoperabilidade já definidos pela e-PING. A adoção de padrões técnicos e sua institucionalização são fundamentais para assegurar que aplicações governamentais, mesmo resultando de uma miríade de iniciativas descentralizadas e descoordenadas de desenvolvimento, possam interoperar e se integrarem.

A idéia de desenvolvimento em espiral de sistemas é bastante antiga e está na base da estrutura de se ter uma seqüência de versões para um serviço. Muitas vezes, as versões são impostas pela evolução tecnológica. Mas especialmente no caso de \textit{software}, o desenvolvimento em espiral é utilizado como estratégia defensiva para o projeto de sistemas complexos.

Aplicações governamentais, mais do que quaisquer outras, demandam uma abordagem em
espiral. Contudo, com demasiada freqüência, elas são concebidas na forma de processos
lineares com visão demasiadamente simplista, com cronogramas irrealistas e sem um plano de evolução de longo prazo.
%%%%%%%%%%%%%


Os desafios da ``Sociedade da Informação"~ apresentados no Livro Verde, a inserção do Brasil neste processo Global, a disseminação do acesso a Internet e as pesquisas do meio acadêmico, convergiram em novas possibilidades de aplicação da tecnologia da informação na disponibilização de serviços e informações aos cidadãos.

Existe uma percepção no governo e uma pressão da sociedade em torno da melhoria da qualidade dos serviços prestados aos cidadãos, bem como para o aumento substancial da transparência dos processos governamentais e o combate à fraude e à corrupção. Para atender estas demandas se faz necessário atingir um nível maior de integração entre os sistemas governamentais e criar novos sistemas de inteligência capazes de transformar o imenso volume de dados atual em informação útil e agregada, através da utilização de sistemas de \textit{Business Inteligence} (BI) e de \textit{Enterprise Resource Planning} (ERP) \cite{SBAC2006-PARGOV}.

Além da iminente necessidade de integração e atribuição de valor agregado aos dados transformando-os em informação, é importante salientar que a quantidade de serviços e portais agregadores destas informações e de interação com os cidadãos também deverá crescer conjuntamente com a democratização do acesso à Internet, e sua conseqüente utilização como meio de comunicação entre governo e cidadãos, no contexto de desenvolvimento do Governo Eletrônico.

A ampliação e a melhoria da qualidade dos processos internos e dos serviços prestados pelo governo refletem-se na necessidade de aumento da capacidade computacional do setor público e, por se tratarem de serviços críticos, possuem como características principais de demandas computacionais:
\begin{itemize}
	\item alta disponibilidade;
	\item suporte a milhões de usuários simultâneos;
	\item alta capacidade de processamento;
	\item capacidade de trabalhar com bancos de dados da ordem de milhões de registros;
	\item tolerância a falhas de \textit{hardware} e \textit{software};
	\item facilidade de integração e interoperabilidade;
	\item adoção de padrões abertos de \textit{hardware} e \textit{software};
	\item armazenamento massivo da ordem de TeraBytes de dados;
\end{itemize}

A necessidade de ampliação da malha computacional, atendendo as características expostas acima, deve superar um conjunto de restrições ou problemas que estão relacionados com a utilização de computação de grande porte para o efetivo atendimento das novas demandas, sendo eles:
\begin{itemize}
	\item Limitação financeira dos investimentos públicos e a crescente necessidade de racionalização do uso de recursos públicos em TI, que muitas vezes impossibilitam o desenvolvimento ou implementação de um novo sistema diante do custo total de propriedade envolvido na aquisição de \textit{hardware} e \textit{software} para computação de grande porte.
	\item Dificuldade de aumentar ou diminuir a capacidade computacional de acordo com a demanda atual de cada instituição. Normalmente, servidores de computação de grande porte possuem uma capacidade máxima de expansão limitada por série ou modelo do equipamento. Quando uma instituição atinge a capacidade máxima do modelo que é utilizado, torna-se necessário realizar a troca do equipamento em operação por um modelo de capacidade maior. Geralmente, os custos para a troca de modelo de equipamento por um de maior capacidade são elevados.
	\item Dependência tecnológica e de fornecedor devido à utilização de \textit{hardware} altamente especializado no modelo da ``computação de grande porte", os quais somente a empresa que comercializa o equipamento ou o \textit{software} é capaz de prestar suporte, realizar manutenção ou a venda de novos componentes. Isso leva ao controle do preço do mercado e enfraquece as relações de negociação entre governo e empresas para a obtenção da melhor solução pelo menor custo possível, influenciada pela redução da competição entre empresas no mercado.
	\item Sistemas e \textit{hardwares} heterogêneos: existe no governo um parque computacional extremamente heterogêneo. Encontram-se em uso \textit{hardwares} e \textit{softwares} dos mais variados fornecedores, muitas vezes incompatíveis entre si, devido ao emprego de padrões fechados ou arquiteturas proprietárias.
	\item Dificuldade de integração e interoperabilidade entre os sistemas devido à abundância de padrões proprietários, segmentados e divergentes, conjugados com a falta de padrões abertos. A Administração Pública é obrigada a construir ou adquirir \textit{brokers}\footnote{Midlerware de integração e comunicação.}, que funcionam como pontes entre tecnologias incompatíveis, envolvendo muitas vezes o pagamento de licenças para desenvolvimento das arquiteturas proprietárias utilizadas. Estes fatores dificultam e muitas vezes retardam o processo de integração nas arquiteturas computacionais baseadas em \textit{mainframe} e computadores de grande porte.

\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5


Neste cenário o Governo Brasileiro tem desenvolvido diversos projetos objetivando maior transparência nas ações governamentais, otimização do uso de recursos públicos, construção de processos democráticos entre governo, empresas e cidadãos. Alguns exemplos são:
 

\begin{itemize}
	\item Sistema eleitoral com votação e apuração através da utilização de urnas eletrônicas;

	\item Portal de Compras Governamentais\footnote{http://www.comprasnet.gov.br} e o Sistema Integrado de Administração de Serviços Gerais - SIASG, que são um conjunto de ferramentas para operacionalizar internamente o funcionamento sistêmico das atividades inerentes ao Sistema de Serviços Gerais\footnote{O Sistema Integrado de Administração de Serviços Gerais - SIASG, é um conjunto informatizado de ferramentas para operacionalizar internamente o funcionamento sistêmico das atividades inerentes ao Sistema de Serviços Gerais - SISG, quais sejam: gestão de materiais, edificações públicas, veículos oficiais, comunicações administrativas, licitações e contratos, do qual o Ministério do Planejamento, Orçamento e Gestão - MP é o órgão central normativo.}, responsáveis pelas  compras governamentais\footnote{O Governo Federal economizou R\$ 637,8 milhões com a utilização do pregão eletrônico de janeiro a julho de  2006. Esta modalidade foi responsável por 47,3\% do total de bens e serviços adquiridos pelo governo durante este período. Um estudo recente realizado pelo Banco Mundial na área de compras públicas eletrônicas demonstra a eficiência do sistema de aquisições eletrônicas do Governo Federal Brasileiro.
	Segundo a avaliação do Banco Mundial, o Comprasnet obteve pontuação máxima nos indicadores que avaliaram a transparência na divulgação das licitações e de seus respectivos resultados e na utilização de métodos competitivos conforme recomendado pela lei.}.
% 	O levantamento também mostrou que o percentual das licitações eletrônicas do Governo Federal anuladas antes da assinatura do contrato com o fornecedor vencedor da disputa é de apenas 0,89\%, enquanto o limiar satisfatório estabelecido pelo Banco Mundial é de até 5\%. O tempo de resposta aos recursos encaminhados por concorrentes também é em média de 5,07 dias, um número muito inferior ao tempo máximo recomendado, que é de até  21 dias. O estudo do Banco Mundial avaliou o desempenho do Comprasnet no ano de 2005 e nos três primeiros meses de 2006.}

	\item Arrecadação Fazendária: esta é uma das áreas mais avançadas em serviços de governo eletrônico no Brasil. A maioria dos serviços e sistemas de arrecadação fazendária estão disponíveis na Internet. A declaração de imposto de renda de pessoa física disponibilizada por meio eletrônico através da Internet e por disquete foi responsável por 98,2\% \cite{impostorenda} do total de declarações no ano de 2005.

% 	\item Disponibilização para a sociedade de soluções desenvolvidas internamente no governo como \textit{softwares} público\cite{SPB}. Alguns exemplos destas soluções são: i) o Configurador Automático e Coletor de Informações Computacionais (CACIC), ii) o sistema de ensino a distância E-Proinfo e iii) sistema de atendimento a usuários SISAU.



% 	\item Arrecadação Fazendária: \\ 
% 		Está em funcionamento, na Secretaria de Receita do Estado de São Paulo, o Posto Fiscal Eletrônico (PPE), que é a reprodução de um posto fiscal físico disponível na Internet e acrescido de facilidades e benefícios, como a prestação de serviços com qualidade e precisão impossíveis pelos meios tradicionais. O PPE mantém informações atualizadas, procedimentos, legislação, orientações e serviços ao contribuinte de modo geral.
% 
% 		Diversas outras ações foram desenvolvidas pela Arrecadação Fazendária, tais como: O sistema integrado de informações sobre operações interestaduais com mercadorias (SINTEGRA), Declaração do Imposto de Renda de Pessoa Física via Internet, Criação do software de declaração de imposto de renda em linguagem multiplataforma(java), entre outros.
% 	\item ComprasNet: \\
% 		O Comprasnet é um marco na história das licitações do Brasil porque desenvolve formas inovadoras de relacionamento do poder público com a sociedade e fornecedores.
% 
% 		Nesse portal são realizadas todas as compras eletrônicas do governo federal, com destaque para o pregão na forma eletrônica e a cotação eletrônica. Também estão disponíveis a legislação da área de compras, normas e manuais, informações e dados gerenciais, entre outros.
% 
% 		O Comprasnet traz mais transparência às compras públicas porque a sociedade pode acompanhar, no Acesso Livre disponibilizado pelo portal, todos os procedimentos relativos às compras eletrônicas: lances efetuados e propostas vencedoras, entre outros. Permite acessar informações como pregões em andamento, agendados e encerrados. Os editais das aquisições realizadas por modalidades licitatórias tradicionais como carta-convite, concorrência e tomada de preços também são registrados pelo portal.
% 
% 		As compras do governo federal são feitas de forma descentralizada, por meio de unidades existentes em todos os estados.
% 
% 		Órgãos e entidades da administração pública não integrantes do Sistema de Serviços Gerais (Sisg), no âmbito da União, estados, Distrito Federal e municípios podem utilizar o Comprasnet com um termo de adesão junto ao sistema.
% 
% 		As pessoas físicas ou jurídicas interessadas em participar de licitações devem se cadastrar no Sistema Integrado de Administração de Serviços Gerais (Siasg). Essa é a ferramenta informatizada de apoio à gestão, modernização e transparência das atividades associadas às aquisições e contratações de bens e serviços pela administração pública.  
% 

	\item Projeto I3-Gov\footnote{Integração e Inteligência em Informações de Governo}: \\ O Projeto I3-Gov é uma implementação da arquitetura referencial de interoperação de sistemas - e-PING, através dele é possível acessar os Sistemas Estruturadores de Governo, obtendo informações de forma automática e interoperável.
	São disponibilizadas as seguintes informações e serviços: i) Em Informação, é possível ver, por exemplo, o resultado dos gastos públicos com Saúde, Educação e outros, sob a ótica dos Programas e Ações de Governo\footnote{O PPA, plano Plurianual estabelece, de forma regionalizada, as diretrizes, os objetivos e as metas da Administração Pública Federal, e é o principal instrumento de planejamento, por conseguinte, de mudança econômica e social com vistas ao desenvolvimento do País. O PPA organiza a atuação governamental em programas e ações, inserindo na administração pública a orientação do gasto público para resultados na sociedade.}, ii) Em Inteligência, estão registrados, de maneira padronizada, os macroprocessos de gestão administrativa de Governo. Um exemplo é o fluxo de aquisição de bens e de serviços, iii) Em Integração, ao implementar a Arquitetura Referencial de Interoperação, são organizados os serviços dos Sistemas Estruturadores de Governo. O acesso às informações utiliza metodologia e arquitetura padronizadas que garantem a interoperação transparente e automática\footnote{Ligação máquina a máquina sem interferência de um operador (pessoa), com periodicidades programadas e, se for o caso, com latência zero. Rotinas administrativas de cadastro e habilitação em serviços disponibilizados máquina a máquina sem interferência de um operador (pessoa), com periodicidades programadas e, se for o caso, com latência zero.}.
	
	Neste projeto estão envolvidas tecnologias de webservices, \textit{data warehouse}, OLAP, ETL e integração de dados/sistemas.
	
	\item Projeto de Qualidade de Informações Sociais: 
	O \textit{software} de gestão de qualidade de dados permite limpar, padronizar e cruzar os cadastros que utilizam dados como nome, data de nascimento, nome de pai e mãe e número de documento de identificação.Também possibilita identificar erros de digitação e fazer comparações por similaridade. Reconhece, por exemplo, a existência de dois cadastros para uma única pessoa que possui um registro com o nome completo e outro com apenas o último sobrenome. Ou no caso de uma mulher que se registrou no sistema com o nome de solteira e, depois, com o nome de casada.  As rotinas atuais não consideram essas diferenças e permitem que uma pessoa receba duas vezes o mesmo benefício.
 
	\item Projeto Interlegis: O Interlegis é um programa desenvolvido pelo Senado Federal, em parceria com o Banco Interamericano de Desenvolvimento (BID), de modernização e integração do Poder Legislativo nos seus níveis federal, estadual e municipal e de promoção da maior transparência e interação desse Poder com a sociedade. Os meios utilizados são as novas tecnologias de informação (Internet, videoconferência e transmissão de dados) que permitem a comunicação e a troca de experiências entre as Casas Legislativas e os legisladores e entre o Poder Legislativo e o público, visando aumentar a participação da população. Em função das finalidades do Programa o cadastro no Portal Interlegis é aberto a qualquer pessoa, dando a oportunidade a essas pessoas adicionarem conteúdo ao sítio (páginas, imagens, links,notícias, ...), que serão avaliados pelos administradores de conteúdo do Portal, para depois serem divulgados. O link ``Ajuda do Portal" foi feito para facilitar a compreensão de como uma pessoa pode se cadastrar, acessar e manusear os conteúdos que o Portal disponibiliza para ela.
% 	\item Portal Rede Governo
% 	\item Portal Brasil.gov
% 	\item Portal Inclusaodigital.gov.br
% 	\item o Sistema Integrado de Administração de Recursos Humanos (SIAPE\footnote{http://www.siapenet.gov.br}): Sistema responsável pela geração e processamento da folha de pagamentos dos funcionários da administração pública federal. Atualmente, este sistema funciona em um computador de grande porte que centraliza o processamento de todas as folhas de pagamento da administração pública federal. Teoricamente, o processamento de uma folha de pagamento de dois funcionários distintos não possui interdependência entre si e poderia ser realizado de forma distribuída utilizando-se tecnologias de processamento paralelo ou ``Grid Computing"~ do tipo \textit{bag-of-tasks}. Esta abordagem poderia utilizar equipamentos dedicados distribuídos ou até mesmo aproveitar os recursos ociosos das estações de trabalho do governo federal, eliminando a necessidade e os custos envolvidos na aquisição e manutenção do \textit{mainfraime} utilizado atualmente por este sistema.
% 	
% 	\item Sistema Integrado de Administração Financeira do Governo Federal - SIAFI\footnote{http://www.tesouro.fazenda.gov.br/SIAFI/}:
% 	O SIAFI é o principal instrumento utilizado para registro, acompanhamento e controle da execução orçamentária, financeira e patrimonial do Governo Federal. Atualmente, este sistema é executado em \textit{mainfraime} e encontra-se em andamento no Serviço Federal de Processamento de Dados (Serpro) um projeto\cite{migrasiafi} de migração para baixa plataforma, adoção de \textit{software livre} e tecnologia de Cluster de balanceamento de carga.
% 
% 
\end{itemize}
% 
Estes projetos desenvolvidos pelo governo possuem uma ou mais das seguintes características:

\begin{itemize}
	\item Necessidade de Alta Capacidade de Processamento;
	\item Suporte a Milhares de Usuários Simultâneos;
	\item Alta Capacidade de Armazenamento;
	\item Alta Disponibilidade;
	\item Segurança;
	\item Utilização de padrões abertos;
	\item Necessidade de integração de sistemas e bases de dados.
\end{itemize}
%Apresentar alguns exemplo de novas demandas computacionais do governo, como por exemplo as advindas
%da contextualização do governo brasileiro na sociedade da informação descritas no livro verde no capítulo 6 - Governo ao alalcance de todos.
%sobre a computação didistribuídaao final fazer as contextualizações com o governo eletrônico

Os ``grandes" sistemas utilizados pelo governo em sua  maioria, como alguns dos descritos anteriormente, são desenvolvidos para a utilização em sistemas baseados em ``Computação de Grande Porte". A seção \ref{doisparadigmascomputacionais} apresenta uma descrição sobre o paradigma computacional atualmente utilizado e a defesa de utilização do paradigma computacional de cluster e grid para atingir os mesmos resultados com maiores vantagens para a Administração Pública.


%%%Artigo

\subsection{Computação sob Demanda}
\label{computacaosobdemanda}
Vários sistemas de governo possuem demandas flutuantes, ou seja, durante um momento convivem com pouca ou nenhuma carga de processamento e em outro momento específico possuem uma elevada carga de processamento.

Um exemplo deste perfil é o sistema de declaração de imposto de renda. Durante um período do ano é ativada a entrada de dados no sistema para a realização de declarações de imposto de renda. Quanto mais se aproxima o final deste período, maior a quantidade de declarações e, conseqüentemente, a capacidade computacional necessária para o funcionamento do sistema. O mesmo ocorre com o SIAPE, só que neste caso a utilização para processamento e entrada de dados no sistema ocorre com maior concentração durante alguns dias do mês.

A arquitetura da computação de grande porte não possui capacidade para que facilmente se aumente ou diminua seu poder computacional, sem esbarrar nas barreiras impostas por seu \textit{hardware}  especializado e proprietário, por conta de seu alto custo total de propriedade e a dificuldade de aquisição destes equipamentos. Em função desta relação de dependência, a administração pública é obrigada a adquirir um \textit{hardware} com maior capacidade de processamento para atender a demanda de pico de processamento do sistema. Durante quase toda a sua vida útil, o equipamento adquirido possuirá capacidade de processamento ociosa, devido às características de demandas flutuantes de processamento desses sistemas governamentais.

Em resumo, a administração alocará na maior parte do tempo recursos financeiros em um equipamento subutilizado, quando este recurso poderia ser utilizado em áreas com demandas mais urgentes.

Para equacionar questões como essas, a administração pública está em busca de alternativas computacionais baseadas em Cluster e Grid que auxiliem na resolução desse desafio de computação sob demanda, minimizando a capacidade de processamento ociosa existente dentro da administração pública, bem como a alocação de recursos financeiros desnecessários.


\subsection{Aproveitamento de Ciclos Ociosos}
\label{ciclosociosos}
Estima-se que a administração pública direta possua um parque computacional em torno de 300 mil estações de trabalho, que adotam um padrão de uso comum. Este padrão consiste numa maior utilização destes equipamentos durante os horários de expediente comercial de trabalho. Entretanto, até mesmo durante os horários de maior utilização destes equipamentos existem grandes períodos de ociosidade do uso de processamento dos mesmos. 
Este imenso recurso computacional ocioso poderia ser amplamente aproveitado através do emprego de paradigmas de computação probabilística e \textit{Grid Computing}. Alguns possíveis usuários desta capacidade de processamento seriam: o governo através do processamento e execução de sistemas internos, e as universidades e centros de pesquisa através de projetos de pesquisa científica \cite{SBAC2006-PARGOV}.

Existem diversos projetos mundiais de aproveitamento de recursos ociosos de processamento que demonstram o poder da computação probabilística. Alguns exemplos são:  SETI@home, que posteriormente deu origem ao BOINC\footnote{\textit{Berkeley Open Infrastructure for Network Computing}\\ http://boinc.berkeley.edu/}, uma infra-estrutura aberta de computação em rede; e o distributted.net\footnote{http://distributted.net}, um projeto de computação distribuída para finalidades genéricas criado em 1997. Nestes projetos são utilizados os ciclos ociosos de processamento de máquinas interligadas na internet, não dedicadas exclusivamente à rede de processamento e dispersas mundialmente.

Uma lista extensa porém incompleta de projetos de aproveitamento de ciclos de processamento ociosos pode ser encontrada na página: \\ ``http://en.wikipedia.org/wiki/List\_of\_distributed\_computing\_projects"

Existem no Brasil diversas atividades de pesquisa em andamento e soluções desenvolvidas em universidades brasileiras que poderiam ser utilizadas para aproveitar a capacidade de processamento ocioso das milhares de estações de trabalho do governo brasileiro. Algumas dessas soluções são: o vCluster\cite{vcluster} e o Ourgrid\cite{ourgrid}, desenvolvidos respectivamente pela Pontifícia Universidade Católica do Rio Grande do Sul e pela Universidade Federal de Campina Grande.


%fim copia artigo :P


\section{Dois Paradigmas Computacionais}
\label{doisparadigmascomputacionais}
%\cutname{doisparadigmascomputacionais.html}

O modelo atualmente adotado pelas empresas de informática governamentais e por muitas grandes empresas, para resolver o paradigma exposto na sessão anterior, é caracterizado principalmente pelos sistemas heterogêneos de grande porte, com a utilização de \textit{mainframes} e supercomputadores.

A evolução das soluções de Cluster e Grid vem criando uma nova alternativa para os ambientes computacionais de grande porte. A utilização de ambientes clusterizados para computação de alta performance vem crescendo rapidamente e já é quase predominante para as grandes máquinas utilizadas nos dias de hoje.% Segundo a lista Top500\footnote{ Top500\cite{top500} é uma lista dos 500 maiores sistemas computacionais do mundo, que é gerada a cada 6 (seis) meses, essa lista é mantida por causa dos interesses, tanto de pesquisadores, como de vendedores de sistemas, mas principalmente para os usuários e futuros usuários de sistemas de alta performance. A lista é classificada pela performance computacional do sistema realizada pelo \textit{benchmark} LINPACK.}, em sua publicação de número 27 (06/2006), sistemas de Cluster já são responsáveis por 72,80\% dos sistemas integrantes da lista, com 364 sistemas.



\subsection{Computação de Grande Porte}

A computação de grande porte é definida como sistema de alta capacidade de computação, também conhecida como ``Alta plataforma", esta é caracterizada pela utilização de \textit{Mainframes} e supercomputadores.

\textit{Mainframes} são sistemas de computação, dedicados normalmente ao processamento de um volume grande de informações e transações. Os \textit{mainframes} são capazes de oferecer serviços de processamento a milhares de usuários através de milhares de terminais conectados diretamente ou através de uma rede distribuída. São computadores que geralmente ocupam um grande espaço físico e necessitam de ambiente especial para seu funcionamento. Os \textit{mainframes} são capazes de realizar operações em grande velocidade e sobre um volume muito grande de dados. Os \textit{mainframes} nasceram em 1946 e foram constantemente aperfeiçoados. Em 7 de abril de 1964, a IBM apresentou o ``System/360", \textit{mainframe} que, na época, foi o maior projeto de uma empresa. Desde então, outras empresas, como a HP e a Burroughs (atual Unisys) lançaram seus modelos de \textit{mainframe}.

Supercomputador é um computador com altíssima velocidade de processamento e grande capacidade de memória, empregado em pesquisas científicas e militares. Este termo é geralmente confundido com cluster, um tipo de supercomputador criado a partir da cooperação de vários computadores convencionais. Os primeiros supercomputadores foram criados na década de 1960 por Seymour Cray. Seymour Cray fundou sua própria empresa, a Cray Research, em 1970 e dominou o mercado da supercomputação durante 25 anos (1965-1990).

A distinção entre supercomputadores e \textit{mainframes} não é clara e direta, mas genericamente são diferenciados pelas tarefas submetidas, os supercomputadores são utilizados na solução de problemas em que o tempo de cálculo é um limite (processamento), enquanto os \textit{mainframes} são utilizados em tarefas que exigem alta disponibilidade, envolvem alta taxa de transferência de dados (internos ou externos ao sistema) e acessos simultâneos (WikiPedia\cite{wikiMainframe}).

% \figuragirada{graf_supercomputador}{grafico01}{0.40}{270}{Evolução da carga de processamento e a utilização da computação de grande porte.}

A Figura \ref{graf_supercomputador}, representa o problema de escalabilidade e dimensionamento decorrente da utilização da computação de grande porte. A área mais escura reflete uma possível evolução da carga\footnote{A palavra carga é utilizada nesta seção para representar o uso de recurso computacional, seja de processamento, rede e armazenamento.} de processamento em um período de tempo.

\begin{figure}[!htb]
	\centering
	\insimg{0.6}{imagens/grafico01.png}
% grafico01.png: 72dpi, width=29.70cm, height=20.99cm, bb=0 0 842 595
	\caption{Evolução da carga de processamento e a utilização da computação de grande porte.}
	\label{graf_supercomputador}
\end{figure}
\newpage

Inicialmente, para responder à uma demanda de carga de processamento C\_1  é necessário que a Administração adquira uma solução com capacidade de processamento superior à exigência inicial. Essa medida justifica-se pelo já citado alto custo do equipamento envolvido: uma vez que recursos financeiros serão empregados na utilização de máquinas multiprocessadas, é interessante que essas máquinas operem no maior tempo possível. Dessa forma, para satisfazer a demanda de processamento destacada em C\_1, adquire-se uma solução com capacidade C\_2, superior, que irá garantir o funcionamento do ambiente até que a exigência de processamento atinja seu limite máximo. Na figura \ref{graf_supercomputador}, a área mais clara representa a capacidade ociosa
de processamento do equipamento utilizado em função do tempo.

Quando o limite de processamento do equipamento for alcançado, torna-se necessário a realização de um \emph{upgrade}, que geralmente caracteriza-se pela substituição do equipamento original por um novo, ou pela incorporação de novo \emph{hardware} ao equipamento original. Qualquer uma das alternativas exigirá elevado custo financeiro. Assim, passa-se à utilização de um equipamento com capacidade de processamento C\_3, para novamente garantir a operacionalização do ambiente por mais um período de tempo (T1 até T2), inaugurando um ciclo constante de atualizações determinado pela carga de processamento a ser suportada.

No caso da utilização da computação de grande porte, percebe-se que as soluções adquiridas operam a maior parte do tempo com carga de processamento inferior à sua capacidade, devido ao alto custo de \emph{hardware} associado à dificuldade de dimensionamento do ambiente,  conforme representado pela área mais clara na Figura \ref{graf_supercomputador} e normalmente quando atingem a carga máxima, sofrem dificuldades de expansão do \textit{hardware}(capacidade de processamento).

Portanto, em última instância, a Administração aloca recursos financeiros em uma solução cuja capacidade de processamento não será plenamente exigida na fase inicial de alocação de recursos computacionais.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
\subsection{Computação Distribuída}
% \figuragirada{graf_cluster}{grafico002}{0.40}{270}{Evolução da carga de processamento e a utilização de solução de processamento distribuído.}

Por utilizar componentes físicos comuns em sua arquitetura, um ambiente \emph{cluster} apresenta  facilidade de dimensionamento da capacidade de processamento. O ambiente pode ser concebido de acordo com a exigência inicial da carga de processamento do ambiente. À medida que a carga aumenta, novos componentes físicos podem ser facilmente alocados no ambiente para suprir a necessidade de processamento. Como nestes ambientes podem ser empregados \emph{hardwares} mais abertos, ou utilizados pelo mercado, consegue-se realizar um rápido dimensionamento com custo reduzido, maximizando a capacidade de processamento do ambiente.

\begin{figure}[!htb]
	\centering
	\insimg{0.60}{imagens/grafico002.png}
% grafico01.png: 72dpi, width=29.70cm, height=20.99cm, bb=0 0 842 595
	\caption{Evolução da carga de processamento e a utilização da solução de processamento distribuído.}
	\label{graf_cluster}
\end{figure}


A Figura \ref{graf_cluster} apresenta o resultado da utilização do ambiente \emph{cluster}. Para efeito de ilustração foram utilizados os mesmos parâmetros da Figura \ref{graf_supercomputador} (relativa à adoção da computação de grande porte). As linhas em vermelho representam a evolução do dimensionamento da carga de processamento
do ambiente \emph{cluster}.

\subsection{Comparação: Grande Porte e Distribuída}

Existem similaridades e diferenças entre os ambientes de grande porte e os de computação distribuída. Embora os ambientes de computação distribuída sejam mais recentes e tenham arquitetura computacional mais moderna, alguns especialistas cogitam uma volta ao passado do grande porte.

Existem grandes similaridades entre as arquiteturas de computação de grande porte e a computação distribuída. Por exemplo, os dois ambientes precisam de uma estrutura física complexa, no que tange a: segurança e controles de acesso ao ambiente, de refrigeração do ambiente e a organização semelhante do espaço.

Algumas dessas similaridades são:

	\begin{itemize}
	\item Alto Poder de Processamento;
	\item Alta Disponibilidade;
	\item Suporte a Milhares de Transações e Usuários simultâneos;
	\item Contingenciamento de recursos;
	\item Administração do ambiente operacional;
	\item Grande Capacidade de Armazenamento.
	\end{itemize}

	
Informações detalhadas sobre como implementar estas funcionalidades em arquiteturas distribuídas podem ser encontradas nos capítulos: Cluster de Armazenamento (capítulo \ref{clusterarmazenamento}), Cluster de Aplicação (capítulo \ref{clusteraplicacao}),  Cluster de Banco de Dados (capítulo \ref{clusterdados}), Cluster de processamento (capítulo \ref{clusterprocessamento}), \textit{Grid computing} (capítulo \ref{grids}) e Virtualização de Recursos (capítulo \ref{virtualizacao}).

% \begin{center}

% 	\begin{small}
% 	\begin{table}[!htb]
% 	\centering
% 	\begin{tabular}{ | p{12cm} | }
% 	\hline
% %	\begin{small}
% 	\textbf{Similaridades entre computação de grande porte e distribuída} \\ \hline
% 	Alto Poder de Processamento \\ \hline
% 	Alta Disponibilidade \\ \hline
% 	Suporte a Milhares de Transações e Usuários simultâneos \\ \hline
% 	Grande Capacidade de Armazenamento \\ \hline
% %	\end{small}
% %	\begin{scriptsize}
% 	\textbf{*}: Informações detalhadas sobre como implementar estas funcionalidades em arquiteturas distribuídas podem ser encontradas nos capítulos: Cluster de processamento, Cluster de Aplicação, Cluster de Banco de Dados, Cluster de Armazenamento, Grid computing e Virtualização de Recursos neste documento. \\ \hline
% 	%\end{scriptsize} 
% 	\end{tabular}
% 	\caption{Similaridades entre a computação de grande porte e a distribuída}
% 	\label{tab_similaridades}
% 	\end{table}

% 	\end{small}
% \end{center}
% \newpage

A tabela \ref{tab_comparacao} apresenta as principais diferenças entre
as duas abordagens tecnológicas tratadas na seção \ref{doisparadigmascomputacionais}.

\begin{table}[!htb]
\centering
\begin{tabular}{| p{7cm} |  p{7cm} |}
  \hline
  \multicolumn{1}{c}{\textbf{Grande Porte}} &
  \multicolumn{1}{c}{\textbf{\emph{Cluster} e \emph{Grid}}} \\\hline
  \begin{itemize}
  \item[-] Alto custo de implantação;
  \item[-] Dependência de fornecedor único;
  \item[-] Utilização de \emph{hardware} específico;
  \item[-] Alto custo de manutenção;
  \item[-] Dificuldade de redimensionamento do ambiente;
  \item[-] Utilização parcial da capacidade de processamento;
  \item[-] Grande custo total de propriedade;
  \item[-] Tecnologia estabelecida no mercado.
  \end{itemize}
  &
  \begin{itemize}
  \item[-] Baixo custo de implantação;
  \item[-] Independência de fornecedores -- facilidade de negociação;
  \item[-] Utilização de \emph{hardware} comum -- padrão PC;
  \item[-] Baixo custo de manutenção;
  \item[-] Facilidade de redimensionamento do ambiente;
  \item[-] Maximização da capacidade de processamento;
  \item[-] Baixo custo total de propriedade;
  \item[-] Tecnologia inovadora.
  \end{itemize} \\ \hline
  \end{tabular}
\caption{Diferenças entre computação de grande porte e distribuída }
\label{tab_comparacao}
\end{table}
\newpage

\subsection{As Gerações da Computação Distribuída}
\label{evolucaoarquiteturas}

Durante os últimos 20 anos, a computação distribuída passou por um processo intenso de mudanças e revoluções. Este processo foi marcado por 5 gerações computacionais descritas a seguir:

\begin{itemize}
	\item Primeira Geração de Computação distribuída: \\
	A primeira geração, também conhecida como \textit{host-based computting}, é baseada na utilização de terminais burros que servem apenas como meio de visualização de aplicações, \textit{softwares} e dados que encontram-se no computador central. Os recursos computacionais de processamento e armazenamento utilizados nesta geração são exclusivamente do computador que hospeda as aplicações.

	\item Segunda Geração de Computação distribuída: \\
	Na segunda geração, passam a ser utilizados computadores clientes com pequena capacidade de processamento, capazes de suportar a emulação de terminal, entretanto, as aplicações continuam sendo  armazenadas e executadas em um servidor remoto. 

	\item Terceira Geração de Computação distribuída: \\
	A terceira geração é caracterizada pelo utilização do paradigma de cliente e servidor, as aplicações são desenvolvidas para serem parcialmente executadas em um computador cliente, terem uma interface com o usuário e  interagirem com servidores de aplicação. 

	\item Quarta Geração de computação distribuída: \\
	A quarta geração é caracterizada pela utilização de aplicações multi-camadas com regras de negócio, interface de usuários e dados separadas entre ambiente de interação do usuário e várias camadas de servidores.

	\item Quinta geração de computação distribuída: \\
	A quinta geração, também conhecida como \textit{grid computing}, é caracterizada pela existência e pela utilização por parte do cliente de recursos computacionais alocados em um ''pool virtual'', de forma que o cliente utiliza capacidade computacional de acordo com a sua necessidade, sem precisar ter maiores detalhes ou controle de onde estão os recursos utilizados.
\end{itemize}


% \subsection{Tabela Resumo das gerações de computação distribuída}
% A tabela \ref{tabela:cincogeracoescomputacao} apresenta um resumo das cinco gerações da computação distribuída.
% 
% \begin{table}
% \begin{center}
% \begin{footnotesize}
% % use packages: array
% \begin{tabular}{|p{7.0cm}|p{7.0cm}|}
% \hline
% 
% \multicolumn{2}{|c|}{\textbf{Cinco Gerações de Computação Distribuída}}\\ \hline
% 
% Geração  &   Características \\ \hline
% 
% Primeira (Computação baseada em Host) & \begin{itemize} \item Terminal Burro  \item Um servidor \item Aplicações Monolíticas \end{itemize} \\ \hline
% 
% Segunda (Acesso Remoto)  & \begin{itemize}  \item Um cliente suportando somente funções de emulação de terminal \item Um Servidor  \end{itemize} \\ \hline
% 
% Terceira (Cliente/Servidor)  &  \begin{itemize} \item   Um cliente suportando regras de processamento, bem como interfaces de usuário \item Até dois servidores \end{itemize} \\ \hline
% 
% Quarta (Multi-camadas)     &   \begin{itemize}  \item Um cliente suportando regras, bem como interfaces de usuário \item Mais de duas camadas de servidores \end{itemize} \\ \hline
% 
% Quinta (Grid)  &  \begin{itemize} \item  Ambiente virtual onde todos os sistemas são considerados um pool de recursos  \item  N-camadas \item Arquiteturas orientadas a serviço \end{itemize} \\ \hline
% 
% \end{tabular}
% \end{footnotesize}
% \end{center}
% \caption{Tabela de resumo das cinco gerações de computação distribuída}
% \label{tabela:cincogeracoescomputacao}
% \end{table}


Da mesma forma que em cada uma destas inovações aconteceu mudanças estruturais nas relações entre as pessoas (usuárias ou desenvolvedores de tecnologias) e os sistemas computacionais, bem como nas concepções de desenvolvimento e aplicação de sistemas informatizados, o mesmo irá ocorrer na adoção de tecnologias em Cluster e Grid. Não existe tecnologia pior ou melhor do ponto de vista global, cada tecnologia possui seu nicho de utilização e aplicação.
Caberá aos gestores dos sistemas realizar as devidas análises para verificar quais procedimentos deverão ser tomados, tanto para a migração ou desenvolvimento de aplicações, quanto para evitar gastos dispendiosos e criar um ambiente propício para a utilização destas tecnologias.

% Mudanças tecnológicas, sejam transparente para o usuário do sistema ou não, como em todas as mudanças poderá vir a ser necessário realizar alterações nos sistemas, treinamento e capacitação dos usuários e desenvolvedores, desenvolvimento de novas aplicações baseadas no novo paradigma.

%omplicados, em algumas áreas e aplicações é possível realizar a mudança de tecnologia computacional para 
