Cargando el modo FS con O3CPU multi-core en gem5
Necesito ejecutar el modo fs con 64 núcleos O3.
Según :¿Cómo ejecutar una simulación de sistema completo gem5 arm aarch64 con fs.py con más de 8 núcleos? Debería usar uno de estos dos métodos: extensiones GICv2 o GICv3 .
Pero cuando agrego el comando:
--param 'system.realview.gic.gem5_extensions = True,
el terminal continúa emitiendo información similar a la siguiente:
Warn:context 2:1900000 consecutive store conditional failures.
Cuando agrego el comando:
--machine-type VExpress_GEM5_V2,
el terminal emite la siguiente información:
warn: Gicv3Distributor::write(): setting ARE to 0 is not supported!, y no hay más información después de eso, parece que todavía se está ejecutando.
Leí esta lista de correo: https://www.mail-archive.com/[email protected]/msg18133.html Parece que la multi-O3CPU no se usa para iniciar el sistema Linux al final.
Por lo tanto, ¿debería usar AtomicSimpleCPU para arrancar, establecer un punto de control y luego cargar el punto de control con núcleos fuera de orden? ¿Es necesario que la configuración de arranque sea similar a la configuración del tiempo de ejecución?
Respuestas
Por lo que puedo ver en su descripción, no hay mensajes de error que necesariamente impliquen un problema de versión GIC, tenemos muchas advertencias por defecto y parecen estar bien.
Pero sí, arrancar múltiples núcleos con cachés (que son requeridos por O3) en ARM en general está roto debido a problemas de acceso que no se pueden almacenar en caché descritos en https://gem5.atlassian.net/browse/GEM5-711 , y tomar un punto de control atómico después del arranque y restaurar O3 es una solución a lo mencionado en los comentarios de ese ticket: https://gem5.atlassian.net/browse/GEM5-711?focusedCommentId=12001 Existe la posibilidad de que no encuentre ese problema, pero si lo hace, puede ver fácilmente si es probable que sea el problema específico o no según el mensaje de error, ¿tiene el mismo error de afirmación que ese problema?
¿Hay alguna razón por la que no desee realizar un punto de control y restaurar, ya que eso ahorra varios minutos del tiempo de arranque? Sí, es compatible y es uno de los principales casos de uso de puntos de control: ¿Qué características del sistema, como la cantidad de núcleos de configuraciones de caché, puedo cambiar al restaurar un punto de control en gem5?
Además, proporcione siempre el comando CLI completo y la salida y la versión gem5 cuando informe este tipo de problema. Y en caso de bloqueos, vale la pena tener un rápido --debug ExecAlly detectar cuáles fueron las últimas instrucciones no extrañas que se ejecutaron, ya que eso reduce en gran medida los posibles problemas.