Sistemas Distribuídos Visão Geral de Sistemas Distribuídos I Prof. MSc. Hugo Souza
Voltando ao tempo, em meados da década de quarenta, os Estados Unidos buscavam desenvolver estratégias militares de comunicação durante a guerra, de maneira que seus soldados se comunicassem através de pontos distintos com segurança e confiabilidade; Na mesma época eram desenvolvidos os primeiros sistemas de posição legados para as arquiteturas de computação lógica de grande porte que surgiam para armazenar vários tipos de dados; Só que o propósito almejado era descentralizar uma ou mais bases de apoio para evitar que os inimigos eliminassem o ponto inteligente do país;
Considerando a evolução tecnológica da época, analisou-se a dificuldade em projetar, desenvolver e dar suporte a ferramentas tecnológicas para prover um funcionamento dito distribuído com operações complexas; Para isso, a partir da década de cinquenta, o surgimento de novos modelos desencadeou o avanço acelerado da divisão de tarefas em uma mesma unidade autônoma; Um dos primeiros equipamentos a utilizarem o paradigma de dividir esforço nas operações foi o ENIAC* através de canais compartilhados de E/S;
A ideia era utilizar o modelo da arquitetura de Von Neuman*, baseado em uma distribuição de tarefas ainda local, através da alocação da seguinte organização: Vamos ver um breve vídeo?
Se analisarmos brevemente a distribuição das operações do ENIAC, veremos tamanha complexidade: Célula de processamento mecânico E/S Cada célula representa uma parte do processamento central do computador, dividido em várias partes;
A partir do final da década de sessenta, com o apogeu do desenvolvimento e uso das Redes de Computadores, as pesquisas e investimentos ascenderam uma nova perspectiva que já era possível de ser utilizada; Operações ao invés de serem divididas fisicamente para um mesmo equipamento, seriam distribuídas em ambientes físicos de curta ou longa distância com a possibilidade de agregação contínua; Esse fato ocorreu, por exemplo com a proposição dos Modelos de Computação Distribuída; Semelhante as redes de acesso, a distribuição era baseada em camadas;
A fixação do modelo citado só foi possível a partir da década de oitenta com o surgimento dos microprocessadores; Até então, na época o custo x performance era inviável tanto pelos aspectos de hardware/software quanto pelos padrões de interconexão das redes; Os supercomputadores eram organizados esteticamente em formatos de Grid, posteriormente ficando conhecidos como clusters computacionais mais avançados; O foco buscado era a expansão de serviços para grandes órgãos do governo, universidades e aplicações comerciais;
Na década de noventa vários países já possuíam projetos com grandes mainframe espalhados pelo mundo, principalmente por empresas de tecnologia; O surgimento das redes locais e a adequação das diversas arquiteturas de rede às arquiteturas de processamento compartilhado também incentivaram essa perspectiva de crescimento; Outra contribuição, das mais importantes, foi a evolução dos sistemas operacionais, dentre eles, principalmente o Unix, Windows e vários outros; Computadores menores e crescimento expansível;
IBMCDC6600 Apogeudadistribuiçãode1964;
Já nos anos dois mil, um largo salto foi dado com a popularização da internet, o que na verdade constitui um macro sistema distribuído; Grandes empresas como Microsoft e Google formulavam grandes parques tecnológicos com sistemas de presença virtuais e de acesso fácil com distribuição geográfica sobre demanda; A divisão dos equipamentos ficam até os dias atuais tanto na sede principal quanto nas subsedes espalhadas pelo mundo; Interconexões de alta velocidades, geralmente providas por fibras oceânicas e satélites privados;
Infraestrutura de hardware e software e redes metropolitanas; Sede do Google na Califórnia Estados Unidos;
Segundo fontes da internet, a empresa divulga de forma não-oficial cerca de 1.000.0000 de servidores espalhados pelo mundo com uma arquitetura all-inbox formando Datacenters em containers;
Pra quem pensa que os servidores são parrudos está enganado. São máquinas simples, mas que reorganizadas formam um avançado parque de comunicação;
Dois artigos interessantes para obter uma visão básica sobre esse modelo de clusters são: MapReduce: Simplified Data Processing on Large Cl usters; Bigtable: A Distributed Storage System for Structured Data; *Vídeo instrucional: Google container data center tour. *Disponível no site
Ao final da década de dois mil, meados dos anos de 2009 e 2010, um novo conceito de computação distribuída surgiu Google OS Chrome; Plataformas empresariais que vendem soluções e uma fatia desconhecida de armazenamento, processamento e memória para os usuários finais; Cada usuário/empresa compra computadores virtuais epagaporc$(centavosdedólar)otempodeuso; Seus arquivos podem estar em 20 a 50 países diferentes e serem acessados de qualquer computador com internet; ASalesforceeaAmazonAWSsedestacamnestecampo por vender serviços. SaaS, HaaS...(pesquisar);
Google OS Chrome Apresentação em 2010;
Em 2011, um avanço na mobilidade [+ portabilidade] dos dados possibilitou o avanço de duas gigantes no aspecto de popularização + informaticidade de serviços. O negócio agora é puxar e repassar informação e maisinformação,deumparaum,oudeumparamuitos á todo momento e de maneira gratuita, com vários MB, GBPTB,eetc.,tudoGRÁTIS! Samsung Scloud e o icloud são exemplos ao integraram processamento, memória e armazenamento em massa através de plataformas simples e multiconectadas para efetuar operações entre seus usuários;
Algunsfatosimportantes... Para finalizar nossa volta ao passado com uma breve visão do futuro, destacamos algumas das datas mais importantes dos últimos 60 anos para a computação distribuída; 1946: Surgimento dos Mainframes nos EUA; 1959: Criação COmmon Business Oriented Language; 1960: Idealização e criação dos clusters pela IBM; 1964: A IBM apresenta o Mainframe System/360; 1965:NasceoMultics,paidoUnix; 1969/1970: Surge um dos primeiros sistema operacionais com multitarefa, multiprogramação e sistematização: Unix;
Algunsfatosimportantes... 1970: Surge o conceito de processo para software e projeção paralela para o desenvolvimento Engenharia de Software para SDiS; 1972: Explode a Crise do Software destacada por Edsger Dijkstra em:"the Humble Programmer ; 1973: A Arpanet desenvolve as primeiras pesquisas com computação paralela e arquiteturas de redes locais; 1974: Criado o SNA, protocolo responsável pela comunicação das camadas de um cluster; 1975: A partir deste ano, o processamento computacional é realizado com circuitos integrados;
Algunsfatosimportantes... 1976-1980: A evolução dos sistemas acompanhou a evolução das redes com o compartilhamento de recursos locais (arquivos, impressoras, rotinas de código,etc.); 1981-1990: Desenvolvidos os primeiros sistemas operacionais com interconexões de operações concorrentes distribuídas; 1991: São implementados os principais escalonadores de balanceamento de carga para serviços; 1991/1992: É implementada a versão 1.0 do Common Object Request Broker Architecture; 1995: É lançado a plataforma BOINC, maior projeto de processamento distribuído da época(pesquisar);
Algunsfatosimportantes... 1997:ÉlançadaaversãoJDK1.1dalinguagemJavacom a Remote Method Invocation para distribuição de código; 1999: O antigo BOINC é fundido em um novo projeto denominado SETI@home para processamento distribuído. Neste mesmo ano é fundado o SETI@home Brasil- http://www.setibr.org/; 2000: A orientação a serviço para software distribuído (SOA-SDiS) é lançada e várias empresas adotam este modelo, dentre eles o Walmart; 2010: As Redes Sociais e afins, invadem e expandem a tecnologia de distribuição ao longo dos anos;
Algunsfatosimportantes... 2012: As mídias sociais compartilham dados, e mais dados, com pequenos sistemas móveis, que utilizam processamento local e distribuído integrado, tais como compartilhamento de fotos, vídeos, currículos, e compras...
Algunsfatosimportantes... e no futuro?