+ Problema Típico de Big Data

Tamanho: px
Começar a partir da página:

Download "+ Problema Típico de Big Data"

Transcrição

1 + + Problema Típico de Big Data niterar sobre um grande número de registros nextrair algo de interesse de cada registro (MAP) ndistribuir e ordenar resultados intermediários nagregar resultados intermediários (REDUCE) Tecnologia Web Edição /01 Edição Big Data Prof. Altigran Soares da Sila MapReduce e Hadoop Básico Baseado nos Slides do Professor Jimmy Lin 1 ngerar a saída final (Dean and Ghemawat, OSDI 2004) Ideia geral: proer um abstração funcional destas duas operações. + MapReduce nprogramador especifica duas funções: ( 1, 1 ) [< 2, 2 >] reduce ( 2, [ 2 ]) [< 3, 3 >] n Todos os alores com a mesta chae são eniados ao mesmo reducer no arcabouço de execução cuida de todo o resto Distribui e organiza alores agregados a 1 b 2 c 3 c 6 a 5 c 2 b 7 c 8 a 1 5 b 2 7 c reduce reduce reduce r 1 s 1 r 2 s 2 r 3 s 3

2 + MapReduce Runtime + MapReduce n Escalonador: Atribui tarefas e reduce aos nodos worers n Distribuição : Moe tarefas para os nodos onde estão os dados n Sincronização: Reúne, organiza e ordena dados intermediários n Erros e Falhas: Detecta falhas nos worers e os re-ininicia n Tudo ocorre em cima de um sistema de arquios distribuído n Eentualmente, pode-se especificar: partition (, no. de partições) partição para n Diide o espaço de chaes para operações reduce paralelas n Ex: hash( ) mod n combine (, ) <, >* n Mini-reducers que rodam em memória depois de uma fase de n Otimização para reduzir o tráfego na rede + MapReduce com Partition & Combine n Programadores deem specificar: n (, ) <, >* n reduce (, ) <, >* n Todos os alores com a mesma chae são reduzidos juntos n Opcionalmente, pode-se também especificar: n partition (, número de partições partição para n Geralmente é um simples hash sobre a chae: hash( ) mod n n Diide o espaço de chaes para reduces paralelos n combine (, ) <, >* n Mini-reducers que rodam em memória depois da fase n Usados como otimização para reduzir o trafégo na rede n O framewor de execução cuida do resto combine combine combine a 1 b 2 c 3 c 6 a 5 c 2 b 7 c 8 combine a 1 b 2 c 9 a 5 c 2 b 7 c 8 partition partition partition partition Shuffle and Sort: aggregate alues by eys a 1 5 b 2 7 c reduc e reduc e reduc e r 1 s 1 r 2 s 2 r 3 s 3

3 + O "Resto + Sincronização 10 n O framewor de execução cuida de todo o resto n Escalonamento: atribuir tarefas de e reduce aos worers n Distribuição de Dados : moer os processos para os dados n Sincronização: agrupa, ordena e distribui dados intermediários n Erros e falhas: Detecta falhas dos worers e reinicia n Controle limitado sobre o fluxo de dados e execução n Todo o algoritmo dee estar expresso em m,r,c,p n Não se sabe nem se controla: n Onde os pers e reducers rodam n Quando um per ou reducer inicia e termina n Que entrada um per em particular está processando n Que chae intermediária um reducer em particular está processando nem MR a sincronização é conseguida atraés de uma barreira ente as fases e reduce. npares intermediários de chae-alor deem ser agrupados pela chae nshuffle & Sort: n Grande processo distribuído de ordenação n Enole todos os nodos do cluster que executam tarefas e todos os que executam tarefas reduce. n Enole copia de dados intermediários pela rede + Sincronização npara garantir que todos os alores associados a uma chae serão reunidos, computação no reduce só pode iniciar depois que n (1) Todos os pers tenham emitido os pares desta chae n (2) Todos os pares tenham sido ordenados e distribuídos no reducer recebe todos os alores associados a uma mesma chae ao mesmo tempo. nno entanto, os pers podem copiar os pares intermediários assim que possíel. Barreira de Sincronização combine combine combine a 1 b 2 c 3 c 6 a 5 c 2 b 7 c 8 combine a 1 b 2 c 9 a 5 c 2 b 7 c 8 partition partition partition partition Shuffle and Sort: aggregate alues by eys a 1 5 b 2 7 c reduce reduce reduce r 1 s 1 r 2 s 2 r 3 s 3

4 + Contador de Palaras + Implementações MapReduce Map(String docid, String text): for each word w in text: Emit(w, 1); Reduce(String term, Iterator<Int> alues): int sum = 0; for each in alues: sum += ; Emit(term, sum); n Google: implementação proprietária em C++ n Bindings em Jaa, Python n Hadoop: implementação open-source em Jaa n Desenolida pela Yahoo, agora um projeto Apache n Usado em produção: Yahoo, FB, Twitter, LinedIn, Netflix, n Plataforma de facto para processamento de big data n Ecosystema de sofware amplo e em expansão + Sistema de Arquios Distribuído User Program Master (1) submit ngfs (Google File System): n Google MapReduce split 0 split 1 split 2 split 3 split 4 (3) read worer worer (2) schedule (2) schedule reduce (4) local write (5) remote read worer worer (6) write output file 0 output file 1 nhdfs (Hadoop Distributed File System) nhadoop worer Input files Map phase Intermediate files (on local dis) Reduce phase Output files Adapted from (Dean and Ghemawat, OSDI 2004)

5 + Sistema de Arquios Distribuído + GFS: Hipóteses nworers moidos para onde estão os dados n Dados são armazenados nos discos locais dos nodos do cluster n Inicia o worers no nó que contém o dado local nporque? n Dados possielmente não cabem RAM n Acesso ao disco é lento, mas o dis throughput é razoáel n Commodity hardware ao inés hardware caro: Scale out, not up n Altas taxas de falhas de componentes: Componentes baratos falham com frequência n Existe um número pequeno de grandes arquios a serem processados. n Arquios são para escrita, principalmente append n Dados são lidos de longas streams n Não há acessos aleatórios a disco GFS slides adapted from material by (Ghemawat et al., SOSP 2003) + GFS: Decisões de Projeto + GFS s. HDFS narquios armazenados em chuns n Tamanho fixo (64MB) nconfiabilidade por replicação n Cada chun replicado em 3+ chunserers nnó master único: coordena acesso e mantém meta-dados nmesmas características básicas ndiferenças na terminologia: n GFS master = Hadoop namenode n GFS chunserers = Hadoop datanodes nmodelo de consistência para appends em arquio n Implementação n Performance

6 + Arquitetura HDFS + Responsabilidades dos Namenodes n Gerenciamento do sistema de arquio Application HDFS Client (file name, bloc id) (bloc id, bloc location) HDFS namenode /foo/bar File namespace bloc 3df2 n Guarda a estutura de arquios/diretórios, metadados, eamento arquiobloco, permissão de acesso, etc. n Coordena as operações de arquio n Direciona clientes para os datanodes para leituras e escritas instructions to datanode n Não há moimento de dados atraés do namenode! (bloc id, byte range) bloc data datanode state HDFS datanode HDFS datanode Linux file system Linux file system n Manutenção geral: n Comunicação periódica com os datanodes n Replicação e rebalanceamento de blocos n Garbage collection Adapted from (Ghemawat et al., SOSP 2003) + Em resumo + RDBMS s. MapReduce 24 namenode job submission node RDBMS MapReduce namenode daemon jobtracer n Giga a Terabytes n Tera a Petabytes n Interatio e Batch n Batch tastracer tastracer tastracer n Muitos updates e reads n Poucos updates, muitos reads datanode daemon Linux file system datanode daemon Linux file system datanode daemon Linux file system n Esquema estático n Esquema irregular e dinâmico n Alto grau de integridade n Baixo grau de integridade slae node slae node slae node n ACID n Sem ACID Alternatia: YARN eremos depois

7 + Exemplo: Contador de Palaras + Contador de Palaras (2) n Considere um grande arquio de palaras, sendo que cada palara ocorre em um linha n Deseja-se contar o número de ezes em que cada palaa distinta ocorre no arquio n Exemplo de aplicação: analisar o log de um seridor Web para determinar URLs populares n Caso 1: O arquio inteiro cabe na memória n Caso 2: O arquio não cabe na memória, mas todos os pares <palara, contador> cabem n Case 3: O arquio está em disco, mas a memória não é suficiente para armazenar os pares nsort datafile uniq c + Contador de Palaras (3) + MapReduce: Passo Map n Para dificultar um pouco, suponha que temos uma grande coleção de documentos n Contar o número de ezes que cada palara distinta ocorre na coleção n words(docs/*) sort uniq c n words : dado um arquio, gera uma lista das palaras nele contidas, uma por linha Entrada Pares chae-alor Intermediário Pares chae-alor n Considerando a arquitetura de nodos, o problema pode ser resolido usando MapReduce n O problema e naturalmente paralelizáel Chaes não são chaes únicas

8 + MapReduce: Passo Reduce + MapReduce Intermediário Pares chae-alor group Grupos chae-alor Saída Pares chae-alor reduce reduce n Entrada: um conjunto de pares chae-alor n O programador fornece duas funções n (,) à list(1,1) n reduce(1, list(1)) à 2 n (1,1) para chae-alor intermediário n A saída é um conjunto de pares chae-alor (1,2) reduce + Contador de Palaras + Execução Distribuída User Program Map(String docid, String text): for each word w in text: Emit(w, 1); Reduce(String term, Iterator<Int> alues): int sum = 0; for each in alues: sum += ; Emit(term, sum); Input Data Split 0 Split 1 Split 2 read Worer Worer Worer for for for assign local write Master remote read, sort assign reduce Worer Worer write Output File 0 Output File 1

9 + Fluxo de Dados + Coordenação n A entrada e a saída final são armazenadas no sistema de arquios distribuído n O escalonador tende escalonar tarefas nodos próximos ao local de armazenamento físico dos dados de entrada. n Resultados intermediários são armazenados no sistema de arquios locais onde rodam os worers de e reduce. n Muitas ezes, a saída sere de entrada para outra tarefa MapReduce nestruturas de dados do Master n Estado da tarefa: (lire, em execução, completada) n Tarefas lires são escalonadas quando os Wores ficam disponíeis n Quando a tarefa termina, o Master recebe o tamanho e a localização de seus arquios intermediários. n Essa informação é eniada aos reducers no Master pinga os worers periodicamente para detectar falhas. + Falhas + Quantas tarefas Map e Reduce? n Falha em um Map worer n Tarefa Map completada ou em execução no worer é re-setada para lire n Worers Reduce são notificados quando a tarefa é re-escalonada para outro worer n Falha em um Reduce worer n Somente tarefas em execução são re-setadas para lire n Falha no Master n A tarefa MapReduce é abortada e o cliente notificado nm tarefas, R tarefas reduce nregra prática: n Usar M e R muito maior que o número de nós no cluster n Um chun de arquio por tarefa é comum n Melhor o balanceamento dinâmico da carga e acelera a recuperação em caso de falha ngeramente, R é menor que M, porque a saída é distribuída entre R arquios

10 + + Combinadores Função de Partição This is the final output: the maximum global temperature recorded in each year. n Em geral, uma tarefa produzirá muitos pares (,1), (,2), para a mesma chae n n As entradas para são criadas a At partir de ofdiisões no The whole datao flow is illustrated in Figure 2-1. the bottom the diagramcontíguas is a Unix which mimics the whole MapReduce flow and which we will see again later in arquio pipeline, de entrada Ex., palaras frequentes no contador de palaras n Para né possíel economizar tráfego na rede fazendo uma pré-agregação no per n n n this chapter when we loo at Hadoop Streaming. o reduce, é necessário garantir que os pares com a mesma chae intermediária serão processados pelo mesmo worer no sistema usa um função default de particionamento ex., hash(ey) mod R combine(1, list(1)) à 2 Em geral é a mesma combinação usada no reduce Funciona apelas se a função reduce é comutatia e associatia n Às n ezesfigure pode ser útil substituí-la por uma função específica 2-1. MapReduce logical data flow Ex. hash(hostname(url)) mod R garante que todas as URLs de um mesmo host estarãojaa na mesma saída MapReduce Haing run through how the MapReduce program wors, the next step is to express it in code. We need three things: a function, a reduce function, and some code to run the job. The function is represented by the class, which declares an abstract () method. Example 2-3 shows the implementation of our function. Example 2-3. for the maximum temperature example jaa.io.ioexception; org.apache.hadoop.io.intwritable; org.apache.hadoop.io.longwritable; org.apache.hadoop.io.text; org.apache.hadoop.reduce.; 40 Classe declara um método asbstrato public class MaxTemperature extends <LongWritable, Text, Text, IntWritable> { priate static final int MISSING = public oid (LongWritable ey, Text alue, Context context) throws IOException, InterruptedException { + String line = alue.tostring(); String year = line.substring(15, 19); int airtemperature; if (line.charat(87) == '+') { // parseint doesn't lie leading plus signs airtemperature = Integer.parseInt(line.substring(88, 92)); else { airtemperature = Integer.parseInt(line.substring(87, 92)); String quality = line.substring(92, 93); Hadoop Básico if (airtemperature!= MISSING && quality.matches("[01459]")) { context.write(new Text(year), new IntWritable(airTemperature)); Chapter 2: MapReduce The class is a generic type, with four formal type parameters that specify the input ey, input alue, output ey, and output alue types of the function. For the present example, the input ey is a long integer offset, the input alue is a line of text, the output ey is a year, and the output alue is an air temperature (an integer). Rather than using built-in Jaa types, Hadoop proides its own set of basic types that are op timized for networ serialization. These are found in the org.apache.hadoop.io pac

11 Jaa MapReduce Haing run through how the MapReduce program wors, the next step is to express it in code. We need three things: a function, a reduce function, and some code to run the job. The function is represented by the class, which declares an abstract () method. Example 2-3 shows the implementation of our function. Example 2-3. for the maximum temperature example jaa.io.ioexception; 41 org.apache.hadoop.io.intwritable; org.apache.hadoop.io.longwritable; org.apache.hadoop.io.text; This is org.apache.hadoop.reduce.; the final output: the maximum global temperature recorded in each year. alue input ey output alue public oid (LongWritable ey, Text alue, Context context) throws IOException, InterruptedException { String line = alue.tostring(); String year = line.substring(15, 19); int airtemperature; if (line.charat(87) == '+') { // parseint doesn't lie leading plus signs = Integer.parseInt(line.substring(88, 92)); FigureairTemperature 2-1. MapReduce logical data flow else { airtemperature = Integer.parseInt(line.substring(87, 92)); String quality = line.substring(92, 93); Classes concretas para diferentes tipos IntWritable The () method is passed a eydeand a alue. We conert the Text alue containing dados. LongWritable the line of input into a Jaa String, then use its substring() method to extract the Text columns we are interested in. Jaa MapReduce The () method also proides an instance of Context to write the output to. In this case, we writesequencefiles the year as a Text object (since we para are just using it as a ey), and the Codificação binária uma sequência temperature is wrapped in an IntWritable. We write an output record only if the tem de pares chaes/alor perature is present and the quality code indicates the temperature reading is OK. Haing run through how MapReduce program wors, the next{ step is to express it if (airtemperature!= the MISSING && quality.matches("[01459]")) in code. We need three things: a new function, a reduce function, and some code to run context.write(new Text(year), IntWritable(airTemperature)); the The function is represented by the class, which declares an abstract 24 job. Chapter 2: MapReduce () method. Example 2-3 shows the implementation of our function. Example 2-3. for the maximum temperature example The class is a generic type, with four formal type parameters that specify the jaa.io.ioexception; input ey, input alue, output ey, and output alue types of the function. For the present example, the input ey is a long integer offset, the input alue is a line of text, org.apache.hadoop.io.intwritable; the output ey is a year, and the output alue is an air temperature (an integer). Rather org.apache.hadoop.io.longwritable; using org.apache.hadoop.io.text; than built-in Jaa types, Hadoop proides its own set of basic types that are op org.apache.hadoop.reduce.; timized for networ serialization. These are found in the org.apache.hadoop.io pac age. Here wemaxtemperature use LongWritable, which corresponds to a Jaa Long, Text (lie Jaa public class String ), and<longwritable, IntWritable (lie Jaa Integer extends Text, Text, ).IntWritable> { The ()static method is passed a ey and a alue. We conert the Text alue containing priate final int MISSING = 9999; output ey input alue the line of input into a Jaa String, then useinput its substring() method to extract columns we are interested in. public oid (LongWritable ey, Text alue, Context context) throws IOException, InterruptedException The () method also proides an instance of {Context to write the output to. In this Tipos de Dados Hadoop The class is a generic type,define with um four formal de type parameters that specify the Writable protocolo (de)serialização. tipo dados Hadoop umthe Writable. input ey, input alue, output ey, Todo and output alue typesé of function. For the present example, the input ey is a long integer offset, the input alue is a line of text, the outputwritablecomprable ey is a year, and the output is an air temperature (an integer). Rather Definealue uma ordem. Todas as chaes tem than using built-in Jaa types, Hadoop proides ownnão setosofalores) basic types that are op que ser deste tipoits(mas timized for networ serialization. These are found in the org.apache.hadoop.io pac age. Here we use LongWritable, which corresponds to a Jaa Long, Text (lie Jaa String), and IntWritable (lie Jaa Integer). public class MaxTemperature The whole data flow is illustrated in Figure 2-1. At the bottom of the diagram is a Unix extends <LongWritable, Text, IntWritable> { we will see again later in pipeline, which mimics the whole Text, MapReduce flow and which this chapter when we loo at Hadoop Streaming. priate static final int MISSING = 9999; ey input + if (airtemperature!= MISSING && quality.matches("[01459]")) { context.write(new Text(year), new IntWritable(airTemperature)); 43 The reduce function is similarly defined using a Reducer, as illustrated in Example 2-4. Example 2-4. Reducer for the maximum temperature example jaa.io.ioexception; org.apache.hadoop.io.intwritable; org.apache.hadoop.io.text; org.apache.hadoop.reduce.reducer; ey input alue public oid reduce(text ey, Iterable<IntWritable> alues, Context context) throws IOException, InterruptedException { if (line.charat(87) == '+') { // parseint doesn't lie leading plus signs The reduce function is= similarly defined using a Reducer, as illustrated in Example 2-4. airtemperature Integer.parseInt(line.substring(88, 92)); int maxvalue = Integer.MIN_VALUE; for (IntWritable alue : alues) { maxvalue = Math.max(maxValue, alue.get()); context.write(ey, new IntWritable(maxValue)); else { Example 2-4. Reducer=for the maximum temperature example92)); airtemperature Integer.parseInt(line.substring(87, jaa.io.ioexception; String quality output = line.substring(92, 93); The class is a generic type, with four formal type parameters that specify input ey, input alue, output ey, and output alue types of the function. For the public oid reduce(text ey, Iterable<IntWritable> alues, Context context) present example, the input ey is a long integer offset, the input alue is a line of text, throws IOException, InterruptedException { the output ey is a year, and the output alue is an air temperature (an integer). Rather maxvalue = Integer.MIN_VALUE; thanint using built-in Jaa types, Hadoop proides its own set of basic types that are op for for (IntWritable alue : alues) { are found in the org.apache.hadoop.io pac timized networ serialization. These maxvalue = Math.max(maxValue, alue.get()); alue output public class MaxTemperatureReducer extends Reducer<Text, IntWritable, Text, IntWritable> { case, we write the year as a Text object (since we are just using it as a ey), and the String line = alue.tostring(); temperature is wrapped in an IntWritable String year = line.substring(15, 19);. We write an output record only if the tem perature is present and the quality code indicates the temperature reading is OK. int airtemperature; if (airtemperature!= MISSING && quality.matches("[01459]")) { org.apache.hadoop.io.intwritable; Text(year), new IntWritable(airTemperature)); context.write(new org.apache.hadoop.io.text; org.apache.hadoop.reduce.reducer; 24 Chapter 2: MapReduce public class MaxTemperatureReducer extends Reducer<Text, IntWritable, Text, IntWritable> { ey output Analyzing the Data with Hadoop 25 44

12 + Job n Um objeto Job contém a especificação de uma tarefa e nos permite controlar sua execução n Para rodar o job em um cluster Hadoop, amos empacotar o código em um arquio JAR, que será distribuído pelo Hadoop entre os nodos do cluster. n Ao inés de explicitamente especificar o nome do JAR, podemos uma classe no método setjarbyclass(). O Hadoop usa essa informação para localizar o JAR. 45 org.apache.hadoop.fs.path; org.apache.hadoop.io.intwritable; org.apache.hadoop.io.text; org.apache.hadoop.reduce.job; org.apache.hadoop.reduce.lib.input.fileinputformat; org.apache.hadoop.reduce.lib.output.fileoutputformat; 46 public class MaxTemperature { public static oid main(string[] args) throws Exception { if (args.length!= 2) { System.err.println("Usage: MaxTemperature <input path> <output path>"); System.exit(-1); Criação/Definição do Job Job job = new Job(); job.setjarbyclass(maxtemperature.class); job.setjobname("max temperature"); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setclass(maxtemperature.class); job.setreducerclass(maxtemperaturereducer.class); Entrada:Arquio, Diretório ou Pattern Saída: Arquio único Classes Map e Reduce job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); System.exit(job.waitForCompletion(true)? 0 : 1); Submete o Job e espera pelo término true: mensagens de progresso eniadas pro console 47 + public class DemoWordCount extends Configured implements Tool { priate static final Logger LOG = Logger.getLogger(DemoWordCount.class); hadoop MaxTemperature input/ncdc/sample.txt output // : emits (toen, 1) for eery word occurrence. priate static class My extends <LongWritable,Text,Text,IntWritable> { // Reuse objects to sae oerhead of object creation. priate final static IntWritable ONE = new IntWritable(1); priate final static Text WORD = new public oid (LongWritable ey, Text alue, Context context) throws IOException, InterruptedException { String line = ((Text) alue).tostring(); StringToenizer itr = new StringToenizer(line); while (itr.hasmoretoens()) { WORD.set(itr.nextToen()); context.write(word, ONE);

13 + Reducer + JOB public DemoWordCount() { // Reducer: sums up all the counts. priate static class MyReducer extends Reducer<Text,IntWritable,Text,IntWritable> { // Reuse objects. priate final static IntWritable SUM = new public oid reduce(text ey, Iterable<IntWritable> alues, Context context) throws IOException, InterruptedException { // Sum up alues. Iterator<IntWritable> iter = alues.iterator(); int sum = 0; while (iter.hasnext()) { sum += iter.next().get(); SUM.set(sum); context.write(ey, SUM);... Configuration conf = getconf(); Job job = Job.getInstance(conf); job.setjobname( Word Count"); job.setjarbyclass(demowordcount.class); FileInputFormat.setInputPaths(job, new Path(inputPath)); FileOutputFormat.setOutputPath(job, new Path(outputPath)); job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); job.setclass(my.class); job.setcombinerclass(myreducer.class); job.setreducerclass(myreducer.class); job.waitforcompletion(true); + Dados Complexos in Hadoop + Componentes Básicos do Cluster n Jeito Fácil: n Codificar como texto, e.x., (a, b) = a:b n Usar expressões regulares para ler e extrair os dados n Funciona, mas é meio gambiarra n Jeito Difícil: n Definir formalmente uma implementação de Writable(Comprable) n Dee implmentar: readfields, write, (compareto) n Computacionalmente eficiente, mas complicado n Implementação de WritableComparator dee ser eficiente n Um de cada: n Namenode (NN): Nó principal (master) do HDFS n Jobtracer (JT): Nó principal para submissão de tarefas n Conjunto de máquinas escraas: n Tastracer (TT): contêm múltiplos slots de tarefas n Datanode (DN): sere blocos de dados HDFS n No meio do do caminho: n Bibliotecas como Cloud9 e Bespin tem suporte para JSON e ários tipos úteis para usar com Hadoop * Not quite leaing aside YARN for now

14 + Componentes Básicos - Cluster namenode namenode daemon job submission node jobtracer tastracer datanode daemon Linux file system slae node tastracer datanode daemon Linux file system slae node tastracer datanode daemon Linux file system slae node + Anatomia de um Job + Anatomia de um Job n Programa MapReduce em Hadoop = Job Hadoop n Jobs são diidos em tarefas Map e tarefas reduce n Uma instância de uma tarefa em execução ocupa um slot n Chamade de "tas attempt n Múltiplos Jobs podem ser executados em um worflow n Submissão de Jobs: n Um cliente cria um Job, configura, e submete para o jobtracer n Pronto! O cluster Hadoop toma conta n Nos bastidores: n As diisões da entrada são computadas, no lado do cliente n Informações do job (jar, conf. XML) são eniadas ao JobTracer n JobTracer coloca essa informação em um local compartilhado em enfileira as tarefas n Os TasTracers retiram as tarefas das suas filas n O job entra em execução

15 Input File Input File Client InputFormat InputSplit InputSplit InputSplit InputSplit InputSplit RecordReader RecordReader RecordReader RecordReader RecordReader Records InputSplit InputSplit InputSplit RecordReader RecordReader RecordReader Intermediates Intermediates Intermediates Intermediates Intermediates Source: redrawn from a slide by Cloduera by Jimmy lin, cc-licensed Source: redrawn from a slide by Cloduera by Jimmy lin, cc-licensed Intermediates Intermediates Intermediates Intermediates Intermediates Reducer Reducer Reduce Partitioner Partitioner Partitioner Partitioner Partitioner OutputFormat RecordWriter RecordWriter RecordWriter (combiners omitted here) Output File Output File Output File Intermediates Intermediates Intermediates Reducer Reducer Reduce Source: redrawn from a slide by Cloduera by Jimmy lin, cc-licensed Source: redrawn from a slide by Cloduera by Jimmy lin, cc-licensed

16 + Input e Output + Distribuição e Ordenação n InputFormat: n TextInputFormat n KeyValueTextInputFormat n SequenceFileInputFormat n n OutputFormat: n TextOutputFormat n SequenceFileOutputFormat n n Proaelmente o aspecto mais complexo do MapReduce n No Map n Saídas do Map são colocadas na memória em um buffer circular n Quando o buffer enche, o conteúdo é ejetado para o disco n O "jatos" sofrem merge em um único arquio particionado, que é ordenado dentro de cada partição. O combiner roda durante os merges n No Reduce n Primeiro, as saídas dos s são copiadas nas máquinas dos reduces. n A ordenação é um merge de ários passos destas saídas. Pode ser executada na memória e no disco. n O combiner roda durantes os merges n O passo final do merge ai diretamente para o reducer + Distribuição e Ordenação merged spills (on dis) intermediate files (on dis) Combiner Reducer circular buffer (in memory) Combiner spills (on dis) other reducers other pers

Bruno Antunes da Silva UFSCar - Sorocaba

Bruno Antunes da Silva UFSCar - Sorocaba Bruno Antunes da Silva UFSCar - Sorocaba Introdução HDFS Arquitetura Leitura e escrita Distribuição de nós Controle de réplicas Balancer MapReduce Conclusão Aplicações web com grandes quantidades de dados

Leia mais

Aula 21 Ordenação externa

Aula 21 Ordenação externa MC3305 Algoritmos e Estruturas de Dados II Aula 21 Ordenação externa Slides adaptados de Brian Cooper (Yahoo Research) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann

Leia mais

Arquiteturas Java Pragmá1cas para usar Big Data na Nuvem. Fabiane Bizinella Nardon (@fabianenardon) Fernando Babadopulos (@babadopulos)

Arquiteturas Java Pragmá1cas para usar Big Data na Nuvem. Fabiane Bizinella Nardon (@fabianenardon) Fernando Babadopulos (@babadopulos) Arquiteturas Java Pragmá1cas para usar Big Data na Nuvem Fabiane Bizinella Nardon (@fabianenardon) Fernando Babadopulos (@babadopulos) Nós e Big Data BigDataTailTargetDataScienceMachineLearningHiveHadoopCrunchMongoDBRedisAWS

Leia mais

Desenvolvimento de Software no Contexto Big Data

Desenvolvimento de Software no Contexto Big Data Universidade de Brasília - UnB Faculdade UnB Gama - FGA Engenharia de Software Desenvolvimento de Software no Contexto Big Data Autor: Guilherme de Lima Bernardes Orientador: Prof. Dr. Fernando William

Leia mais

Funcionamento e Recursos

Funcionamento e Recursos hadoop_ MapReduce Detalhado MapReduce Detalhado Funcionamento e Recursos Na edição anterior da MundoJ, foi apresentado um artigo introdutório sobre o Hadoop, explicando de forma básica os seus principais

Leia mais

Hadoop - HDFS. Universidade Federal de Goiás Ciência da Computação

Hadoop - HDFS. Universidade Federal de Goiás Ciência da Computação Hadoop - HDFS Universidade Federal de Goiás Ciência da Computação O que é Hadoop? Um framework para lidar com aplicações distribuídas que fazem uso massivo de dados Originalmente construído para a distribuição

Leia mais

Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O.

Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O. TRABALHANDO COM ARQUIVOS E DIRETÓRIOS Capítulo 9 Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O. ARQUIVOS TEXTO (File of Text) Os Arquivos

Leia mais

Processamento de Dados Massivos (Big-Data) com Spark. Vinícius Dias Orientador: Dorgival Guedes

Processamento de Dados Massivos (Big-Data) com Spark. Vinícius Dias Orientador: Dorgival Guedes Processamento de Dados Massivos (Big-Data) com Spark Vinícius Dias Orientador: Dorgival Guedes Vivemos em um mundo de dados 2 De que volume de dados estamos falando? Domo Data Never Sleeps 3.0 3 Mas não

Leia mais

Big Data Open Source com Hadoop

Big Data Open Source com Hadoop Big Data Open Source com Hadoop Palestrante: Marcio Junior Vieira marcio@ambientelivre.com.br Realização: Marcio Junior Vieira 14 anos de experiência em informática, vivência em desenvolvimento e análise

Leia mais

Desenvolvimento de Software no Contexto Big Data

Desenvolvimento de Software no Contexto Big Data Universidade de Brasília - UnB Faculdade UnB Gama - FGA Engenharia de Software Desenvolvimento de Software no Contexto Big Data Autor: Guilherme de Lima Bernardes Orientador: Prof. Dr. Fernando William

Leia mais

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES Alex Travagin Chatalov¹, Ricardo Ribeiro Rufino ¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil alex_tr1992@hotmail.com ricardo@unipar.br

Leia mais

Sistemas de arquivos

Sistemas de arquivos Todos os programas precisam armazenar e recuperar dados. Os processos não podem armazenar grande quantidade de dados no seu espaço de endereçamento. Quando o processo chega ao final os dados no seu espaço

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Java Collections Framework (JCF) Uma coleção (collection) é um objeto que agrupa vários elementos. A JCF consiste numa arquitetura para representação e manipulação de coleções. Contém: - Um conjunto de

Leia mais

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Teste de Software Engenharia de Software 2o. Semestre de 2006 Slide

Leia mais

Armazenando grandes quantidades de dados

Armazenando grandes quantidades de dados Armazenando grandes quantidades de dados Universidade Federal de Campina Grande UFCG Centro de Engenharia Elétrica e Informática CEEI Departamento de Sistemas e Computação DSC Disciplina: TECC Analise

Leia mais

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco GSI018 Sistemas Operacionais 31/10/2016 Implementação de Sistemas de Arquivos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Memória

Leia mais

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação

Leia mais

Sistemas Distribuídos Aula 3

Sistemas Distribuídos Aula 3 Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor

Leia mais

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Introdução Memória Compartilhada e Distribuída _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Um sistema de memória compartilhada faz a memória física global de um sistema igualmente

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução

Leia mais

Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos

Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Nesta unidade vamos ver os últimos assuntos de interesse em java. O primeiro deles, bem simples, é o tratamento

Leia mais

Sistemas de Ficheiros Distribuídos. Pedro Ferreira DI - FCUL

Sistemas de Ficheiros Distribuídos. Pedro Ferreira DI - FCUL Sistemas de Ficheiros Distribuídos Pedro Ferreira DI - FCUL Serviços do Sistema de Ficheiros Revisão de alguns aspectos do serviço de ficheiros O que é um ficheiro? uma sequência não interpretada de bytes

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se

Leia mais

Fazendo Data Science em Tempo Real. Fabiane Bizinella Nardon @fabianenardon

Fazendo Data Science em Tempo Real. Fabiane Bizinella Nardon @fabianenardon Fazendo Data Science em Tempo Real Fabiane Bizinella Nardon @fabianenardon BIG DATA + ESTATÍSTICA + = DATA SCIENCE PROGRAMAÇÃO Data Science na era do batch Dados do Passado Processador Batch (Ex: Hadoop)

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL MEMÓRIA Componente de um sistema de computação cuja função é armazenar informações que são manipuladas pelo sistema para que possam ser recuperadas

Leia mais

Pipelines ETL. Aplicação de conceitos de DW para a construção de pipelines de extração, transformação e carregamento de dados.

Pipelines ETL. Aplicação de conceitos de DW para a construção de pipelines de extração, transformação e carregamento de dados. Pipelines ETL Aplicação de conceitos de DW para a construção de pipelines de extração, transformação e carregamento de dados Carlos Baqueta Contextualização Contextualização Quem sou eu? (momento filosófico)

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade 2 Componente de um sistema

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada

Leia mais

Árvores B (Parte III)

Árvores B (Parte III) Árvores B (Parte III) Profa. Dra. Cristina Dutra de Aguiar Ciferri Algoritmos Estrutura de dados determina cada página de disco pode ser implementada de diferentes formas Implementação adotada contador

Leia mais

Sistemas Operacionais: O quê? Por quê? Quando?

Sistemas Operacionais: O quê? Por quê? Quando? Sistemas Operacionais: O quê? Por quê? Quando? Prof. Marcio Seiji Oyamada moyamada@unioeste.br Msoyamada@gmail.com http://www.inf.unioeste.br/~marcio Sistemas Operacionais: O quê? Definição: Um programa

Leia mais

Capítulo 11 Sistemas de Arquivos

Capítulo 11 Sistemas de Arquivos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo Sistemas de s Introdução O armazenamento e a recuperação de informações

Leia mais

NoSQL como suporte à análise de dados nãonormalizados. volume

NoSQL como suporte à análise de dados nãonormalizados. volume NoSQL como suporte à análise de dados nãonormalizados e de grande volume Joel Alexandre Orientador: Professor Luís Cavique Motivação Grande quantidade de registos Tudo é registado Internet of things tudo

Leia mais

Ambientes de Execução

Ambientes de Execução KERNEL Conceitos Conceitos POSIX Portable Operating System Interface for UNIX. Um conjunto de padrões da IEEE e ISO que definem como programas e sistemas operacionais de interface com os outros. Sistemas

Leia mais

Capítulo 6 Nível do Sistema Operacional

Capítulo 6 Nível do Sistema Operacional Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas

Leia mais

Introdução a Computação

Introdução a Computação O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução

Leia mais

Processando Big Data com Java: Receitas para resolver problemas comuns. Fabiane Bizinella Nardon (@fabianenardon)

Processando Big Data com Java: Receitas para resolver problemas comuns. Fabiane Bizinella Nardon (@fabianenardon) Processando Big Data com Java: Receitas para resolver problemas comuns Fabiane Bizinella Nardon (@fabianenardon) The best minds of my genera3on are thinking about how to make people click ads. That sucks.

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

Conceitos de Sistemas de Banco de Dados INE 5323

Conceitos de Sistemas de Banco de Dados INE 5323 Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação

Leia mais

Ordenação Externa. Profa. Graça Nunes

Ordenação Externa. Profa. Graça Nunes Ordenação Externa Profa. Graça Nunes Ordenação Externa Ordenar arquivos de tamanho maior que a memória interna disponível Algoritmos devem diminuir o número de acessos às unidades de memória externa Custo

Leia mais

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

Leia mais

Lista de Linguagens de Programação 16

Lista de Linguagens de Programação 16 Lista de Linguagens de Programação 16 Nome: Matrícula: Os exercícios desta lista devem ser todos implementados em Python. 1. Este exercício faz referência às classes implementadas em Python disponíveis

Leia mais

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Sistemas Operacionais Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Inicializando o Sistema BIOS verifica os componentes instalados (RAM, teclado etc.) e verifica se dispositivos estão

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

Leia mais

Armazenamento Secundário. Endereços no disco. Organização da informação no disco. Organização da informação no disco

Armazenamento Secundário. Endereços no disco. Organização da informação no disco. Organização da informação no disco Organização da informação no disco Armazenamento Secundário Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Disco: conjunto de pratos empilhados Dados são gravados nas superfícies

Leia mais

Computação Eletrônica. Arquivo

Computação Eletrônica. Arquivo Computação Eletrônica Arquivo Memória RAM (1 Giga Byte) Processador (Intel Pentium) Disco ou (100 Giga Bytes) Por que temos 2 memórias? : permanente (pode desligar o computador), barato e lento O é representado

Leia mais

Processamento de Produtos ( X )

Processamento de Produtos ( X ) Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A: laço aninhado com índice ( indexed nestedloop ) A: merge-junção ( balanced-line ou sortmerge

Leia mais

Canais de Comunicação

Canais de Comunicação Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Escalonamento de processos Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas

Leia mais

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim 2011 Baseado no materiais de Leandro C. Cintra e M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Organização da informação no disco

Leia mais

A Cloud Computing Architecture for Large Scale Video Data Processing

A Cloud Computing Architecture for Large Scale Video Data Processing Marcello de Lima Azambuja A Cloud Computing Architecture for Large Scale Video Data Processing Dissertação de Mestrado Dissertation presented to the Postgraduate Program in Informatics of the Departamento

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Professora Jeane Melo

Professora Jeane Melo Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros

Leia mais

Programming in C# Conteúdo Programático. Área de formação Plataforma e Tecnologias de Informação

Programming in C# Conteúdo Programático. Área de formação Plataforma e Tecnologias de Informação Destinatários Programadores experientes com algum conhecimento de C, C++, JavaScript, Objective-C, Microsoft Visual Basic, ou Java e conheçam os conceitos de programação orientada por objetos. Nº mínimo

Leia mais

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos Infra Estruturas Computacionais Professor: André Ferreira andre.ferreira@ifba.edu.br Material baseado: Prof.ª Renata Vilas e outros Estados dos processos novo admissão condição satisfeita pronto carga

Leia mais

Estruturas de Dados Pilhas, Filas, Listas

Estruturas de Dados Pilhas, Filas, Listas PMR2300 Escola Politécnica da Universidade de São Paulo Introdução Estruturas de dados são objetos que armazenam dados de forma eficiente, oferecendo certos serviços para o usuário (ordenação eficiente

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Suporte ao Sistema Operacional Prof. Helcio

Leia mais

Errors and exceptions

Errors and exceptions Errors and exceptions Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 14-1 Overview Introdução Testes e Testes unitários Noção de Exceção A hierarquia

Leia mais

Python: Entrada e Saída. Claudio Esperança

Python: Entrada e Saída. Claudio Esperança Python: Entrada e Saída Claudio Esperança Arquivos Entrada e saída são operações de comunicação de um programa com o mundo externo Essa comunicação se dá usualmente através de arquivos Arquivos estão associados

Leia mais

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company www.iportalmais.pt. Manual

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company www.iportalmais.pt. Manual IPortalMais: a «brainware» company FUNAMBOL FOR IPBRICK MANUAL Easy Linux! Title: Subject: Client: Reference: Funambol Client for Mozilla Thunderbird Doc.: Jose Lopes Author: N/Ref.: Date: 2009-04-17 Rev.:

Leia mais

Sistemas de Arquivos

Sistemas de Arquivos Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Sistemas de Arquivos Macilon Araújo Costa Neto macilon@ufac.br Capítulo 6 do livro do Tanenbaum

Leia mais

DISTRIBUINDO SUA APLICAÇÃO

DISTRIBUINDO SUA APLICAÇÃO DISTRIBUINDO SUA APLICAÇÃO Depois de pronta sua aplicação precisa ser distribuida para todos que querem ou precisam usá-la. Para usar a sua aplicação, o único requisito para o computador do cliente é que

Leia mais

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento

Leia mais

FTD: Como permitir a configuração do desvio do estado TCP usando a política de FlexConfig

FTD: Como permitir a configuração do desvio do estado TCP usando a política de FlexConfig FTD: Como permitir a configuração do desvio do estado TCP usando a política de FlexConfig Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Informações de Apoio Configuração Etapa 1. Configurar

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

Teste de Sistemas de Operação 30 de Maio de 2009

Teste de Sistemas de Operação 30 de Maio de 2009 Teste de Sistemas de Operação 30 de Maio de 2009 Duração: 30 min B NOME: Indique apenas uma das alternativas. Respostas erradas descontam na nota. 1. Um pedido de entrada e saída sem buffering: (letra

Leia mais

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings

Leia mais

O Modelo Síncrono BSP para Computação Paralela

O Modelo Síncrono BSP para Computação Paralela O Modelo Síncrono BSP para Computação Paralela Raphael Y. de Camargo Ricardo Andrade Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo, Brasil São Paulo,

Leia mais

Escalonamento de Processos Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham

Leia mais

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos Conceito de Processo Módulo 4: Processos Um Sistema Operacional executa uma variedade de programas: Sistemas de processamento em lotes (batch) processa jobs Sistemas de tempo partilhado (time shared) roda

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

Sistemas de Computação. Processos e escalonamento

Sistemas de Computação. Processos e escalonamento Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas

Leia mais

Seminário: Google File System (GFS)

Seminário: Google File System (GFS) UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC Disciplina: Sistemas Operacionais I INE5355 Alunos: Armando Fracalossi 06132008 Maurílio Tiago Brüning Schmitt 06132033 Ricardo Vieira Fritsche 06132044 Seminário:

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

Aula Anterior. Decomposição algorítmica (continuação)

Aula Anterior. Decomposição algorítmica (continuação) Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre

Leia mais

Pragmática das Linguagens de

Pragmática das Linguagens de Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Primeiro Exame/Segundo Teste 17/12/2004 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das

Leia mais

Gerenciamento de memória

Gerenciamento de memória Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade

Leia mais

O que faz? De tudo um pouco.

O que faz? De tudo um pouco. Sistema de arquivos O que faz? De tudo um pouco. Principalmente faz o controle dos arquivos armazenados em disco tanto do SO como dos usuários (abertura, acesso, consistência, etc.) Mas também inclui funções

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização de arquivos Operações de E/S Estrutura de diretórios Gerência de espaço livre Gerência de alocação de espaços

Leia mais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io) SO: Escalonamento Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Aonde Estamos Processos Chapt 3 Threads Chapt 4 Vamos pular o Chapt 5 brevemente Sincronização e comunicação

Leia mais

OTIMIZAÇÃO DE DESEMPENHO DO HADOOP MAPREDUCE: UM CASO PRÁTICO

OTIMIZAÇÃO DE DESEMPENHO DO HADOOP MAPREDUCE: UM CASO PRÁTICO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO ELDER LUCAS KUSS OTIMIZAÇÃO DE DESEMPENHO DO HADOOP MAPREDUCE: UM CASO PRÁTICO TRABALHO

Leia mais

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Técnicas de Big Data e Projeção de Medidas de Risco para de Negociação em Alta Frequência

Técnicas de Big Data e Projeção de Medidas de Risco para de Negociação em Alta Frequência 12º CONTECSI Conferência Internacional sobre Sistemas de Informação e Gestão de Tecnologia Técnicas de Big Data e Projeção de Medidas de Risco para de Negociação em Alta Frequência Alcides Carlos de Araújo

Leia mais