Overblog
Suivre ce blog Administration + Créer mon blog

Calcul de la suite de Fibonacci en c# avec parallelFX

26 Février 2009 , Rédigé par Hugues MEUNIER

Pré requis :

Framework 3.5
ParallelFX ctp juin 2008


Principe du programme :

La suite de Fibonacci est classique en math et en programmation car elle permet d'introduire et d'expliquer la récursivité. Cette suite est remarquable dans le sens où elle permet de calculer le nombre d'or = F(n+1)/F(n)

La fonction récursive est très simple en c# :

static int fibonacci(int entree)
        {
            if (entree <= 1)
                return 1;
            else
                return fibonacci(entree - 2) + fibonacci(entree - 1);
        }

Principe de ParallelFX :

1 - Référence sur l'assembly System.Threading
2 - Using System.Threading

3 - Utilisation de Parallel.For (To, From, delegate (int i) pour calculer les 40 premiers nombres de la suite.

Le programme ci-dessous calcule les 40 premiers nombres selon 2 méthodes :
- la méthode classique monothreadée avec une boucle for
- une méthode multithreadée avec une boucle Parallel.For

Les temps de traitement et les threads sont affichés.

 

Télécharger le source Program.cs

Lire la suite

Aperçu de JEE 6

25 Février 2009 , Rédigé par Hugues MEUNIER

On commence à entrevoir le contenu du futur JEE 6.
L'un des points les plus importants est l'abandon du sacro-saint principe de compatibilité éternelle; cette compatibilité ayant conduit à alourdir considérablement JEE. Dans JEE6, certaines API vont être supprimées ou plus exactement ne feront plus partie de la spécification (libre aux serveurs d'applications de les implémenter ou non).
Parmi les API dans le collimateur :
- JAX-RPC

- EJB 2 CMP

- JAXR

- JSR 88 et JSR 77


C'est plutôt une bonne nouvelle car depuis 1999, JEE n'a cessé de grossir. Par contre, il faudra modifier les applications qui utilisaient ces fonctionnalités ou faire pression sur les éditeurs pour les conserver.

Ref :
http://www.theserverside.com/tt/articles/article.tss?l=JavaEE6Overview

Lire la suite

Mythes et réalités sur l'utilisation des CPUs

24 Février 2009 , Rédigé par Hugues MEUNIER

On n'entend souvent (surtout de la part des managers), qu'avoir des processeurs quadcore ne sert à rien car les logiciels actuels ne savent pas utiliser toute la puissance des coeurs. Cela permet souvent de légitimer une faible utilisation des ressources processeurs sur les serveurs x86 x64. Pourtant c'est faux!

Exemple 1 : Un programme de calcul, par exemple, mono threadé consomme 100% d’un cœur (physique ou logique). Si je suis capable d’exécuter n fois le programme en simultané alors je consommerai 100% (ou pas très loin) des n cœurs du serveur. C’est le but des architectures en grille.

Exemple 2 : la virtualisation qui permet de multiplier les environnements sur un même serveur physique et qui permet de mieux utiliser les ressources CPU (et RAM).

Exemple 3 : la programmation multi-threadée classique. Par exemple en c#, comment calculer la suite de Fibonacci via un pool de threads. Notons que cette méthode permet d’accélérer le traitement du calcul.

Exemple 4 : Parallel FX l’API de Microsoft qui permet de paralléliser les traitements dans un programme. Elle fournit un ensemble de fonctions et outils pour permettre d’utiliser toute la puissance des processeurs d’une machine. Les développeurs Microsoft ont mis en œuvre les fonctions de System.Threading dans un programme de calcul et d’affichage de l’ensemble de Mandelbrot.

Autant d’exemples qui montrent que la faible utilisation des ressources CPU dans le monde x86 n’est pas une fatalité...

 

Références PFX

http://blogs.msdn.com/pfxteam/archive/2008/06/06/8579067.aspx

http://en.wikipedia.org/wiki/Parallel_FX_Library
Lire la suite

Outil d'aide au prototypage

23 Février 2009 , Rédigé par Hugues MEUNIER

La phase de prototypage est nécessaire dans tout projet d'envergure. Elle sert souvent de support à la validation
du projet et des éléments financiers. Un projet bien présenté est un projet à demi accepté !

Fabrice Marguerie a construit une liste recensant ces outils.

A consulter d'urgence sur son blog !

Lire la suite