Accélérateur de temps des migrations

  KACCTIME : L’INNOVATION « ACCELERATEUR DE TEMPS » DES MIGRATIONS

ITS Group a développé un module kernel linux d’accélération du temps, appliqué aux missions de migration d’ordonnanceur et appelé « KACCTIME ».

Objectif : réduire les délais et les coûts des phases de correction et de validation.

Le projet a été initié fin 2013, et le développement et les tests se sont déroulés jusqu’à fin 2015. Depuis, le module est fonctionnel et utilisé dans le cadre de tous nos projets de migration.

CONTEXTE
L’ordonnancement consiste à décider dans quel ordre exécuter les tâches, c’est-à-dire quelle tâche se fera avant une autre.
Les logiciels dédiés à cette fonction sont appelés ordonnanceurs. Ils sont structurants pour la production informatique d’une société.
La migration d’ordonnanceur est un projet complexe, long et coûteux…

PROBLEME INITIAL
Le projet de migration contient plusieurs phases.
C’est lors de la phase de test et de correction : RAB - Run à Blanc qu’une problématique évidente se présente.
Cette phase consiste à faire   jouer  les chaînes de l’ordonnanceur (en remplaçant les traitements par de l’attente) et de comparer les résultats avec les « logs » d’exécutions réelles.
Le  défaut  principal  du  RAB est que « pour tester une semaine, il faut une semaine ».

 FONCTIONNEMENT & AVANTAGES

Le fonctionnement repose sur la surcharge des appels systèmes. Le module calcule le nouveau temps (en fonction des paramètres) et le renvoie au processus.
Aucune modification du code source ou binaire des processus n’est nécessaire. Le module peut être contrôlé à l’aide du pseudo système de fichiers /proc.

Kacctime nous permet de tester plus rapidement :

  • En choisissant la période de comparaison,
  • En modifiant la perception du temps des processus pour accélérer la période.

fleche LES CONTRAINTES TECHNIQUES COUVERTES

  • Recherche des pointeurs syscall
  • 32bits/64bits
  • Continuité du temps
  • VDSO
  • SELINUX
  • /proc
  • Crash au déchargement (interruption du sleep)
  • Limitations
  • Timeout
  • Temps chargement (le CPU n’est pas accéléré)

 

 OK RESULTATS & INTEGRATIONS

RÉSULTATS         

  • Le module est opérationnel et déployé en interne, ainsi que chez nos clients (actuellement 3 clients et 10 machines internes).
  • L’utilisation en production a montré des résultats obtenus en RAB et en RAB accéléré équivalents.
  • Le module nous a permis d’augmenter le volume des journées comparées dans les mêmes délais, et donc d’augmenter le degré de confiance pour les mises en production.

INTÉGRATION  
VAT (Virtual Adaptative Time) est une suite d’outils pilotants le module kacctime afin d’adapter les facteurs des espace-temps en fonction des contraintes techniques de l’ordonnancement.
C’est une réponse pour limiter les effets de bord de décalage liés à la durée du fonctionnement du processus.

 contactPour en savoir plus, contactez-nous