[riscosfr] Posté sur la liste Armada

  • From: dfeugey@xxxxxxxxx
  • To: RISC OS FR <riscosfr@xxxxxxxxxxxxx>
  • Date: Mon, 02 Feb 2015 10:50:42 +0100

Et relayé ici, car je pense que c'est une discussion intéressante.

"
La question du multithread est une bonne question.

Trois solutions existent.

1/ faire de RISC OS un système compatible SMP. C'est ce que préconise certains, mais c'est irréalisable en l'état actuel. Malheureusement, tout le monde se focalise là dessus.

2/ mettre en place un mode AMP. Techniquement, il suffit de quelques lignes de code ARM pour démarrer en mode AMP. Chaque coeur est vu comme un processeur complet avec sa propre mémoire. Sur le premier on met un RISC OS classique. Sur les autres un RISC OS sans entrées/sorties. C'est l'approche AmigaOS. Cela suppose toutefois qu'un dev système se penche enfin sur la question.

3/ faire fonctionner RISC OS en mode virtualisé, puis faire parler les 4 sessions de l'OS entre elles (une pilote, les trois autres servent d'esclaves). C'est un dérivé du mode AMP, en moins rapide, plus facile à mettre en place. Un hyperviseur de bas niveau (Linux + KVM) est toutefois nécessaire. Ca permettrait aussi de faire tourner RISC OS sur plus de machines.

Le point 3 est en cours de mise au point (voir liste RISC OS FR). Le 2 serait faisable assez facilement pour un expert kernel (quelques jours de code)... si un se décide à ne pas bouder cette approche. C'est moins flexible que le SMP, mais compatible avec les applications actuelles et - dans un sens - plus enthousiasmant et mieux adapté au futur, car on pilote alors les tâches comme sur un cluster (ce qui veut dire que ce procédé serait extensible en ajoutant tout simplement des Pi 2).
"

Le point 3 est en cours d'approche par Bruno. Soit dit en passant, ce que tu fais permettra de simuler 4 Pi 1 sur un Pi 2, ce qui va intéresser du monde :) Si des soucis demeurent, peut-être qu'il sera bon de proposer un bounty pour le résoudre. Le point 2 mériterait clairement un bounty AMP+Cluster afin d'avoir définitivement de quoi répondre au problème du multicoeur, en natif, en virtualisation ou même en cluster. Cela nécessite un serveur FTP+CLI pour piloter des tâches à distance (cluster, virtualisation) + une version sans I/O de RISC OS pour la version multicoeur.

A+, David


Other related posts:

  • » [riscosfr] Posté sur la liste Armada - dfeugey