Multi-threading

Archi & techno

Multitâche sans thread 4/5 – Pipeline/composition

Le modèle réactif propose de n’utiliser que des hard-threads (exploitant les cœurs  des processeurs) à la place des soft-threads (simulant des traitements parallèles). Nous avons regardé comment les langages de développement évoluent pour proposer différents modèles permettant de proposer des traitements concurrents, sans pour autant utiliser des soft-threads. Nous continuons notre exploration avec l’approche que l’on peut appeler pipeline ou composition.

Lire la suite
Archi & techno

Multitâche sans thread 3/5 – Coroutine

Pour faciliter le développement d’application réactive, les langages de développement proposent différentes technologies. Dans les chapitres précédents, nous avons parcouru les générateurs et le pattern Continuation. Nous continuons notre analyse des techniques permettant de gérer du multitâche sans threads, avec les coroutines.

Lire la suite
Archi & techno

Multitâche sans thread 2/5 – Continuation

Le modèle réactif propose de ne plus utiliser des soft-threads (simulation d’un multitâche réel) mais uniquement des hard-threads (multitâche réel exploitant les différents cœurs des processeurs). Les langages évoluent pour proposer différents modèles permettant de s’affranchir des threads sans pour autant rédiger avec une cascade de call-backs. Dans un article précédent, nous avons cherché des solutions pour éviter l'empilement de callback et nous avons regardé les générateurs. Nous allons maintenant étudier le pattern continuation.

Lire la suite
Archi & techno

La genèse du modèle réactif

Dans un précédent article, nous avons introduit un nouveau modèle de développement qui émerge de plus en plus : le modèle réactif. C’est un modèle fondé sur la réaction à des événements déclenchés par les périphériques hardware (disque ou réseau essentiellement). Pourquoi seulement maintenant ?

Lire la suite
Archi & techno

Le multithreading zen

La mémoire transactionnelle (ou STM) est un mécanisme de concurrence alternatif au locking classique. Ce mécanisme permet de réaliser en mémoire des transactions atomiques, cohérentes et isolées. Ces transactions ne sont évidemment pas durables. Par nature, la STM ne connait ni deadlock ni race condition. Elle ouvre la porte au multithreading zen.   STM is to shared-memory concurrency as Garbage Collection is to memory management. -- Dan Grossman

Lire la suite