Browsing All posts tagged under »Paralelismo«

Exemplo prático de como melhorar a performance de aplicações .NET com paralelismo (TPL)

março 14, 2012

3

Olá pessoal. Tudo certo!? TPL apresenta alternativas interessantes para que possamos melhorar a performance de nossos aplicativos. Reconhecendo algoritmos que podem ser executados paralelamente e, além disso, escolhendo a melhor alternativa de execução, podemos melhorar muito a responsividade de nossos sistemas. No post de hoje, apresento um cenário, muito trivial, inspirado em exemplos do livro… [Leia mais…]

Parallel QuickSort (em C#)

janeiro 4, 2012

0

Olá pessoal. Tudo certo?! No post de hoje, mostro como implementar o famoso “Quicksort” com suporte a paralelismo. Não vou explicar o Quicksort propriamente dito (acho que isso já foi feito milhares de vezes, por gente melhor do que eu). Vou apenas mostrar como escrever o algorítimo usando paralelismo do .net. O código completo está… [Leia mais…]

Async (advanced) – Returning Values, Cancellation, Awaiter pattern

janeiro 3, 2012

3

Olá pessoal. Tudo certo?! No último post, mostrei como programação assíncrona ficou mais fácil (e natural) a partir do Async CTP (que antecipa muitas funcionalidades interessantes do C# 5.0). Nesse post, apresento mais uma série de possibilidades com essa tecnologia. Retornando valores No post anterior, mostrei como implementar uma consulta a Web, retornando a coleção… [Leia mais…]

Parallel/Asyncronous Programming mais fácil com o Async CTP

janeiro 3, 2012

5

Olá pessoal. Tudo certo?! Este é meu primeiro post técnico em 2012. Também é o primeiro post técnico depois de ser reconhecido como MVP em C#. No post de hoje, vou apresentar algumas alternativas para parallel programming. Começo com um exemplo simples e vou evoluindo até demonstrar (basicamente) o uso das palavras chaves async e… [Leia mais…]

Parallel Pipeline Pattern com .NET

setembro 10, 2011

0

Olá pessoal, tudo certo? No post de hoje, mostro como utilizar a Task Parallel Library para implementar o Parallel Pipeline Pattern. Se desejar, há mais posts sobre paralelismo com .net. Um pouco mais sobre o “Parallel Pipeline Pattern” Basicamente, nesse pattern, implementamos uma “Pipeline”, onde cada etapa é executada de forma paralela. Para isso, são… [Leia mais…]

Paralelismo em métodos síncronos

setembro 7, 2011

0

Olá pessoal, tudo certo? No post de hoje mostro como usar paralelismo em sequências de métodos síncronos. O problema Considere o seguinte código: Nesse código, Func1, Func2, Func3, Func4 simulam métodos com processamento intensivo e sem concorrência no acesso a dados. Todos, na prática, consomem aproximadamente 2 segundos para completar execução. Executando esse código, temos:… [Leia mais…]

Parallel Aggregation Pattern com Parallel Loops

setembro 4, 2011

0

Olá pessoal, tudo certo?! No post de hoje, demonstro como executar Parallel Aggregation utilizando Parallel Loops. Importante destacar que essa abordagem é significativamente mais complexa do que aquela que demonstrei outro dia usando PLINQ. Se você gosta do assunto, considere ler o que já escrevi sobre paralelismo. Solução apenas com Parallel Loops (sem PLINQ) Observe… [Leia mais…]

Parallel Aggregation Pattern com PLINQ

agosto 17, 2011

2

Olá pessoal, como estamos? No post de hoje, demonstro como executar Parallel Agregation usando PLINQ. Problema A maioria dos exemplos que encontramos para paralelismo demonstra como executar diversas tarefas independentes de forma paralela. Entretanto, há uma grande diversidade de cenários onde as tarefas não podem ser executadas de forma plenamente independente. Considere, por exemplo, um… [Leia mais…]

Classe Task – Alguns exemplos

agosto 13, 2011

2

Olá pessoal, tudo certo? No post de hoje, mostro como utilizar a classe Task. Saber como essa classe funciona é fundamental para a compreensão dos novos recursos para paralelismo do C# 5 (async e await). Ponto de partida Para mostrar o potencial de Task, comecemos demonstrando um método com “processamento intensivo”. Observe: Tudo que fazemos… [Leia mais…]

Até onde Parallel Programming pode produzir melhoria de performance

dezembro 21, 2010

1

Olá pessoal, tudo certo? Ontem apresentei alguns fundamentos de Parallel Programming. Hoje pretendo falar um pouco sobre como calcular os ganhos de performance que essa prática pode proporcionar. Parallel Programming vale a pena? Odeio usar a mesma resposta de sempre, mas aqui ela cabe perfeitamente… A resposta é depende! Parallel Programming não é fácil. Implica,… [Leia mais…]

Introdução a Parallel Programming

dezembro 20, 2010

4

Olá pessoal, tudo certo? Depois de escrever dois posts consecutivos sobre internals do Azure (um sobre o Hypervisor e outro sobre o Fabric), resolvi olhar para o lado . Vou escrever um pouco sobre paralelismo. Pessoalmente, vejo muita relação entre Azure e Paralelismo. Pois, quando penso em Azure, penso: em aplicações com alta disponibilidade, como serviços… [Leia mais…]

Paralelismo e operações de I/O

setembro 18, 2010

2

Olá pessoal, tudo certin? Depois de uma semana de muito pouca atividade por aqui (TechEd tomou todo o meu tempo), eis que surge mais um “postzinho” técnico. Tema de hoje: Paralelismo e operações de I/O. Se você não “manja” muito do assunto, talvez queira ver um outro post meu: “Como Parallel Linq (PLINQ) funciona?” Importante… [Leia mais…]

Como Parallel LINQ (PLINQ) funciona?

setembro 11, 2010

4

Olá galera, tudo certin? Em um sábado chuvoso em Caxias do Sul, ansioso para iniciar minha jornada rumo ao TechEd (na distante São Paulo [uma horinha e meia de vôo]), escrevo mais um “postizinho”! Que assunto abordo hoje? PLINQ. Importante dizer que este não é, exatamente, um post com material introdutório sobre o assunto. Presumo… [Leia mais…]