Cargando el modo FS con O3CPU multi-core en gem5

Sep 17 2020

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

1 CiroSantilli Sep 17 2020 at 13:38

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.