Ordinateur de cluster Raspberry Pi


13

J'ai récemment acheté une Porta Pi Arcade, qui est essentiellement une machine d'arcade alimentée par RPi exécutant une station d'émulation et une rétro pi. J'utilise actuellement mame, Sega genesis, etc. En utilisant le Pi 2, j'ai réussi à jouer à certains jeux N64, mais tous ne fonctionnent pas aussi bien que je le souhaiterais. Je voulais donc assembler 2 Pi 2 ou mettre à niveau les performances du processeur et le ram pour essayer d'exécuter des jeux PSX et N64. Donc, en substance, est-il possible de mettre à niveau le processeur et le ram sur le RPi 2? si c'est le cas, comment?

Serait-il plus facile de créer un cluster RPi pour réaliser la même chose, j'ai vu des vidéos sur YouTube sur la façon d'en créer un, mais aucune n'explique vraiment si cela fonctionne comme un gros ordinateur ou seulement les tâches de partage de 2 Pi, et si c'est le cas diviser les tâches ça va marcher dans mon cas?


11
L'informatique en cluster ne partage pas la puissance du processeur et ne la fournit pas à un seul processus. C'est l'informatique distribuée d'une tâche vraiment complexe (qui peut être décomposée) sur plusieurs machines.
PNDA

1
Fondamentalement, au lieu qu'un processeur fasse A et B de la tâche AB, la tâche A est donnée au processeur 1 et B est donnée au processeur 2. Une fois qu'elles sont terminées, les parties de travail sont combinées pour donner le résultat final.
PNDA

De plus, lorsque le clustering 1 + 1 n'est pas égal à 2, il y a une surcharge de gestion et d'administration et un trafic réseau accru requis pour que les membres du cluster puissent communiquer.
Steve Robillard

2
"Donc, en substance, est-il possible de mettre à niveau le processeur et le ram sur le RPi 2? Si oui, comment?" Un Google de 5 secondes aurait donné la réponse.
joan

Réponses:


14

Vous ne pouvez certainement pas mettre à niveau le bélier. Il est monté sur le processeur et ne peut pas être mis à niveau par l'utilisateur comme un ordinateur de bureau. Vous ne pouvez pas non plus échanger physiquement le CPU, ce que vous pouvez peut-être faire est overclocker le CPU mais cela a peut-être déjà été fait. Vous pouvez définir la vitesse d'horloge à l'aide de la commande suivante: sudo raspi-config .

En ce qui concerne le clustering, le programme que vous exécutez devrait être conçu pour fonctionner en parallèle pour en tirer parti, et le logiciel de jeu que vous utilisez ne sera probablement pas en mesure de le prendre en charge, car les jeux originaux n'ont certainement pas été conçus pour prendre avantage de cela.


Pour se qualifier: de nombreux jeux modernes profitent certainement des processeurs multicœurs (sans parler de leur utilisation GPU, qui est très parallélisée). Seulement, ils nécessitent généralement une mémoire principale partagée , que vous n'avez pas avec une architecture en cluster.
leftaroundabout

9

Il n'est pas vraiment possible de simplement mettre à niveau la RAM ou le CPU. Les deux sont un paquet solide soudé sur la carte.

L'informatique en grappes ne résoudra pas non plus cela - elle ne fonctionne tout simplement pas comme vous l'espérez. Amener plus d'un ordinateur à travailler à la même tâche est pour le moins complexe et le logiciel d'émulation avec lequel vous exécutez vos jeux ne peut pas bénéficier des ressources distribuées.

Les clusters informatiques RPi que vous avez vus sur YouTube étaient probablement des clusters Beowulf. Leur création avec RPis n'est pas très efficace, mais il est possible d'enseigner aux gens comment fonctionnent les clusters informatiques, ce que vous pouvez en faire et où se trouvent les limitations.


8

Il y a quelques choses que vous pouvez faire.

  1. Mettez un ventilateur / dissipateur thermique sur votre Raspberry Pi.

    Cela empêcherait le processeur d'étrangler s'il fait trop chaud, assurant des performances stables et aidant à 2.

  2. Overclocker votre CPU

    Le faire fonctionner plus rapidement devrait améliorer vos performances, mais vous voulez vraiment regarder en premier.

  3. Ajustez l'allocation de RAM vers le GPU ou le CPU, selon ce qui est le plus nécessaire.

  4. Attendez une version mise à niveau / plus rapide de Raspberry Pi.


1
Il a été démontré que Raspis n'a pas vraiment besoin d'un dissipateur thermique, tout le reste ici est vrai.
Thomas Shera

C'est probablement vrai, sauf si vous faites un overclocking. (Ou si la framboise pi est dans un endroit chaud).
Antzi

1
J'ai overclocké mon B + à 1100 MHz (+400), 900 MHz GPU (+200), et j'avais encore environ 30 degrés Celsius à pleine charge pendant quelques heures. Si vous êtes dans un endroit vraiment chaud, cela pourrait l'être.
Thomas Shera

@ThomasShera La raison pour laquelle l'overclocking est possible est que tous les processeurs provenant de la même chaîne de montage ne sont pas réellement égaux, ils ont donc mis le nombre le plus élevé qui devrait s'appliquer à chacun d'eux. Une personne disant anecdotiquement: "J'ai overclocké comme ça et je n'ai eu aucun problème" ne signifie pas que cela va être universellement vrai, et le refroidissement par définition aidera à l'overclocking car la chaleur, pas la vitesse, est le problème.
goldilocks

1
... Donc, si vous voulez la vitesse la plus rapide possible, vous voulez un refroidissement. Vous pouvez le monter aussi haut que vous le souhaitez tant que vous maintenez la température à cœur basse. Quelqu'un a réussi à obtenir un pi B jusqu'à 3,0 Gz mais cela a demandé pas mal de refroidissement ...
goldilocks

4

Vous devrez reprogrammer entièrement les anciens jeux. Pensez-y de cette façon: l'informatique en grappe avec 2 Raspis n'aurait de sens que si vous pouvez répartir la tâche entre 2 ordinateurs. De plus, le processeur est plus rapide que l'USB. Il y a peu de points pratiques pour le clustering.

Mon conseil serait d'overclocker le Raspi (essayer d'abord) ou de changer les paramètres graphiques du jeu.

EDIT: Je ne sais pas s'il y a un moyen de déterminer si le goulot d'étranglement du système est CPU ou GPU, mais donner plus de RAM au plus lent aidera un peu.


3

Même si un jeu ou un émulateur pouvait utiliser plusieurs unités de calcul - ce qui est très, très peu probable, en particulier dans les jeux plus anciens conçus pour les plates-formes monocœur - le coût de la communication serait probablement prohibitif pour la plupart des jeux.

Chaque élément d'information devrait passer par l'ensemble de la pile TCP / IP-Ethernet (sauf si vous utilisez du matériel spécial pour connecter les unités, ce que je ne peux pas dire avec certitude n'existe pas). Cela ajoute des retards de l'ordre des millisecondes, c'est-à-dire des centaines de milliers de cycles d'horloge. Vous ne pouvez pas vous permettre ce type de latence, sauf si vous avez des tâches relativement importantes qui ne sont dues qu'à un moment donné dans le futur. Dans les jeux, cependant, vous avez besoin de la plupart des résultats maintenant .


2

La seule façon réaliste d'obtenir plus de performances est de choisir un ordinateur monocarte plus rapide. Les modèles Odroid (basés sur Samsung Exynos SoC) sont connus pour être rapides, il existe d'autres options décrites dans Wikipedia .

Gardez à l'esprit que vous devrez vous assurer que tout ordinateur monocarte que vous choisissez est compatible avec le logiciel que vous souhaitez exécuter (ce qui est très probable) et les accessoires matériels que vous allez utiliser (tout à fait improbable). Fondamentalement, vous finirez par concevoir la machine d'arcade pour la planche que vous choisissez. À moins d'avoir une certaine expérience avec l'électronique et la plate-forme ARM en général, je ne vous conseillerais pas d'essayer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.