IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Enregistrement haut débit de données


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 42
    Par défaut Enregistrement haut débit de données
    Bonjour,

    Je développe à l'heure actuelle un service d'enregistrement de données quelconques pouvant circuler dans un programme. L'enregistrement de ces données s'effectue en temps réel vers un serveur FTP disposant d'une connexion Ethernet Gigabits et censé pouvoir supporté du très haut débit (il faut pouvoir atteindre au moins 60Mo/s pour un flux).

    Ainsi, côté logiciel, je pense qu'il est intéressant d'avoir pour un flux de données l'architecture suivante :
    - 1 tâche qui récupère les données à enregistrer et les stocke dans un buffer tampon de taille à déterminer,
    - 1 tâche qui lit le buffer tampon et écrit les données sur la socket FTP.

    Cette architecture me paraît performante car du coup le deux tâches peuvent travailler à un rythme différent avec la première qui est généralement plus rapide que la deuxième. Et on peut régler la taille du buffer tampon en fonction des performances obtenues.

    N'étant pas normalement un expert de ce type d'application, ma question du coup est de savoir quel type de buffer tampon serait le plus performant pour gérer une telle application ? Buffer circulaire sans protection d'accès ? Double buffer avec une protection d'accès ? ou autres ?

    Merci,

  2. #2
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Je me demande si utiliser une seule tâche ne serait pas plus performant, car la communication inter-process ou inter-thread est couteuse, surtout que dans le 2eme cas, il te faudra probablement des mutex.

    D'une manière général, c'est un producteur-consommateur avec 1 producteur et 1 consommateur. Du coup, tu peux dire que le consommateur ne va pas pouvoir travailler plus vite que le producteur (ou l'inverse). A un moment donné l'un devra attendre l'autre. Par conséquent le temps gagné sera reperdu et il te restera juste la perte du temps à faire communiquer les 2.

    Il n'y a donc pas d'intérêt d'utiliser 2*tâches AMHA.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/10/2014, 09h47
  2. Réponses: 11
    Dernier message: 16/05/2006, 12h34
  3. comment concaténer les enregistrements d'un champ donné ???
    Par c_moi_c_moi dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 23/03/2006, 16h11
  4. nbre enregistrements dans base de données
    Par Chonchon dans le forum JDBC
    Réponses: 3
    Dernier message: 09/01/2006, 20h54
  5. Réponses: 1
    Dernier message: 19/12/2005, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo