
% \chapter{Possíveis Economias com Clusters Computacionais}
% 
% Discussão dos prováveis ganhos com a utilização de Clusters pelo governo.
% A discussão se baseará principalmente nos argumentos usados na contextualização deste Guia.
% Pode ser abordado comparações de escalabilidade da arquitetura baixa, a facilidade de compra desse tipo de equipamento, a facilidade de manutenção entre outras abordagens.
% 
% 
% \chapter{Design de um Cluster}
% 
% Aspectos que devem ser observados no momento de se desenhar um cluster, listagem de algumas estruturas/designs já utilizadas para a criação de cluster com software livre.
% 
% \section{Como Seria um Cluster}
% 
% 
% \subsection{Performance}
% Quais aspectos de performance tem de ser avaliadas para se medir a performance de um cluster dentro dos interesses da APF. Métricas de benchmarks para as diversas características de cluster que podem ser montadas.
% 
% 
% A base de medição para performance dos clusters para APF não pode ser as padrões utilizadas no meio acadêmico, ainda mais quando se observa as métricas para os clusters HPC. A métrica usada não pode ser baseada em algoritmos matemáticos puro, e sim uma métrica na qual se consiga medir as características mais interessantes para cada parte do modelo de cluster proposto para a APF, assim como o seu desempenho completo.
% 
% 
% \subsection{Custos}
% Métricas de calculo de custos para as diversas características de clusters que podem ser montadas. Como por exemplo: custo por transação, custo por gigabyte armazenado, custo para expansão do parque tecnológico.
% 
% \subsection{Middleware}
% 
% Para o desenvolvimento de aplicações, modelagem de sistemas, e de banco de dados, o que deve ser observado, existem Middleware preparados que possam ser usados para o desenvolvimento dessas aplicações.  Várias perguntas nessa parte de infra-estrutura tem de ser respondidas para que se possa ter o caminho inicial, mas não obrigatório para o desenvolvimento de novas aplicações.
% 
% 
% \subsection{Aplicações}
% 
% Nessa camada se preocupa-se principalmente com aplicações já desenvolvidas com a filosofia de clusterização como também aplicações de suporte para ambientes de cluster.





\chapter{Planejando um Cluster}
\label{planejandocluster}
\cutname{planejandocluster.html}

Muitas coisas tem de ser observadas para a construção de um Cluster pois existem muitas arquiteturas e modelos possíveis para a construção destes ambientes. Cada ambiente de cluster e pensado e projetado para trabalhar com demandas bem caracterizadas, que dependeram dos sistemas, modelos e escalabilidade pretendida para o ambiente.

Sendo assim, no instante em que se prepara para fazer o projeto básico de construção de um ambiente de Cluster, tem de se estar atento a variavéis que conduzem o projeto, como também a outras variavéis básicas que muitas vezes são pormenorizadas dentro do processo básico de projeto.

Existem várias questões que têm de serem observadas nesta etapa, como em uma avaliação primária:

	\begin{itemize}
	\item Qual a finalidade do Ambiente que está sendo estruturado;
	\item Qual a escalabilidade necessária;
	\item Qual o desempenho esperado/projetado;
	\item Qual a vida média do equipamento da estrutura;
	\item Qual o nível de segurança necessária;
	\item Qual é a disponibilidade/confiabilidade esperada/projetada para o ambiente;
	\item Qual o middleware e o modelo computacional das aplicações que estarão sendo executadas no ambiente;

	\end{itemize}

Ou em uma avaliação mais detalhada, onde já se tem uma noção de todo o sistema que estará sendo disponibilzado no ambiente em cluster, tais como:

	\begin{itemize}
	\item A arquitetura de hardware e software são compatíveis e terão o desempenho máximo no ambiente de cluster proposto;
	\item Todo o estudo quanto a demandas secundárias do ambiente foram executadas já prevendo uma expansão futura de todo o ambiente. Demandas como:
		\begin{itemize}
		\item Capacidade de suprimento de energia contínuo e redundante,
		\item Capacidade e diversidade da rede lógica,
		\item Capacidade de refrigeração do ambiente,
		\item Segurança física do ambiente.
		\end{itemize}
	\item Qual o nível de disponibilidade. Local ou ``Site failover"
	
	\end{itemize}

Sloan em seu artigo\cite{tentips} cita 10 variavéis que devem sempre ser observadas e se possível estarem na função objetivo do planejamento do ambiente de cluster. Ele cita:
	\begin{itemize}
	\item Estabeleçer metas realísticas:\\
		O primeiro passo para construir um cluster de alto-desempenho é decidir qual o tipo de aplicação irá rodar nele. Você precisará selecionar o hardware apropriado para as necessidades das aplicações que irão rodar no ambiente. Claramente, estas decisões afetarão o desenho. Por exemplo, para cálculos dados-intensivos, você precisará de um subsistema de ``I/O" de grande capacidade.
		O melhor modo para evitar enganos caros é iniciar pequeno. A construção de um sistema de teste com um número pequeno de máquinas para que se possa testar e comprovar a eficiência da arquitetura de cluster escolhida. Além de facilitar a escolha da arquitetura esse passo permite que se evite gastos de tempo e dinheiro corrigindo enganos.

	\item Utilização de Hardware identico:\\
		A utilização do mesmo tipo de hardware para cada máquina do cluster simplificará a instalação e configuração do clusters. Simplificará a mantenção, pois todos os sistemas têm a mesma configuração básica. Você precisará prover ter uma menor quantidade de peças sobressalente e poderá trocar sistemas dentro e fora de seu cluster quando for necessário. Mas a ocorrerá realmente uma grande economia quando você for programar para o cluster; você não terá que codificar por causa de maquinas de diferentes tipos de desempenho.
		Está regra não é obrigatória, ela facilita muito em ambientes de grande capacidade de processamento, em ambientes mais complexos pode-se se utilizar de mais segmentações. Criando-se ``Cluster de Cluster" dentro do ambiente para poder suprir as difenrentes necessidades. Um exemplo seria a utilização de um grupo de hardware para o Cluster de Aplicações e um outro grupo de hardware distinto para o Cluster de Armazenamento e assim por diante. A segmentação do cluster em partes distintas de hardware aumenta a complexidade de manutenção do mesmo, mas se no mesmo tempo o ambiente também não for homogeneo para a utilização a segmentação será necessária.
		Dentro das necessidades da esfera pública, a existência de cluster homogêmos pode ser muito pequena.

	\item Sistemas sem Disco rigido (Diskless Systems):\\
		Em ambientes que se tem um número muito grande de nós a ser configurados e mantidos, a utilização de tecnológias como Diskless e Etherboot pode ser interessante, pois se torna um grande facilitador para a manutenção do parque de máquinas.

	\item Não esqueça a rede de comunicação:\\
		Muito frequentemente a rede de comunicação entre os nós do cluster não recebe a atenção necessária, e na prática geralmente está é o gargalo de desempenho do cluster.

	\item Minimize o Hardware:\\
		Quando na especificação do hardware para os nós do cluster pode se despresar alguns itens que dificilmente serão necessários no ambiente. Mas não se deve exagerar nesse item, muitas vezes um adaptador de video é importante no nó, mas não existe a necessidade de se ter uma placa aceleradora 3D neste. A existência de CD-Rom também pode ser considerada, em cluster de menor porte a existencia deste pode facilitar a manutenção do ambiente, quanto que em ambientes de maior porte a existencia de placas de rede com suporte a PXE\footnote{PXE é o protocolo de boot via rede desenvolvido pela Intel e utilizado em tecnólogias como diskless} pode ser extremamente necessária.

	\item Isolar o Cluster:\\
		Não só por motivo de segurança, mas o isolamento do cluster em uma rede própria facilita em muito a manutenção e melhora o desempenho do ambiente.

	\item Clusters Kits:\\
		A utilização de Kits Cluster facilitam em muito a configuração e a manutenção do ambiente. Kits como por exemplo o Oscar\footnote{\www{http://www.csm.ornl.gov/oscar/}}, o Rocks\footnote{\www{http://www.rocksclusters.org/}} e RHCS\footnote{\www{https://www.redhat.com/solutions/clustersuite/}}.
		A utilização desses Kits provêem um sistemta de trabalho básico com um esforço menor, mas não resolvem todas os problemas. Esses kits em compensação lhe permitirá uma certa economia de tempo para a execução de muitas tarefas.

	\item Supere a necessidade de usar o que há de mais recente:\\
		É muito improvável que você precise do mais recente lançamento de sua distribuição de Linux favorita. Ou seja, manter o cluster em funcionamento que satisfaz suas necessidades. Em ambientes de produção a estabilidade da solução é mais interessante do que o quão atualizado está os softwares.

	\item Planeje a expansão e a reposição desde o inicio:\\
		%``Se puderem me permitir fazer uma predição, você vai estar satisfeito com o desempenho que seu cluster provê, mas você vai querer mais" (Sloan \cite{tentips}.
		 O ciclo de vida útil de um computador é inacreditavelmente curto, e isto aplica também ao clusters.  Há várias coisas que você pode fazer para tornar a vida mais fácil. Tenha certeza você tem espaço adequado para poder expandir, que as máquinas novas são compatíveis com o sistema em operação, ao comprar equipamento de rede, olhar para equipamento que pode ser ampliado ou pode ser encadeado/cascateado. %Claro que, você pode reciclar algum equipamento, como monitores, etc. Mas a melhor coisa que você pode fazer é juntar informação que você precisa para projetar seu próximo cluster.
	
	\item Documente seu Cluster:\\
		Uma boa documentação é a chave para tanto otimizar o uso do cluster, como facilitar a manutenção, expanção e monitoramento do mesmo. Outra grande vantagem da documentação e que ela te gera subsidios para o projeto de um novo cluster para a seu ambiente.
	\end{itemize}






% \chapter{Casos de Utilização na APF}
% 
% Este capítulo descreve casos de utilização de cluster, que já ocorrem dentro do governo, onde se pretende obter um relato com a motivação para a utilização e os retornos tragos pela a utilização.
% 
% Casos que já é sabido da ocorrência de experiencias com cluster em SL:
% 
% 	\begin{itemize}
% 	\item CELEPAR - vários
% 	\item CONAB - HA e banco de dados
% 
% 	\end{itemize}
% 
% 
% \chapter{A Migração de Ambiente}
% 
% Caso exista algum caso de migração de aplicação/estrutura de arquiteturas de grande porte para arquitetura baixa, descrever os motivos pelos quais ocorreram essa migração, retornos e a possibilidade de se pesar os custos envolvidos no processo.




