Diseño e Implementación de un modelo computacional paralelo para simulaciones GATE

01 de marzo, 2010
Estado: Realizado

Investigador Responsable: Fernando Rannou

Proyecto FONDECYT 1100511

2010-2012

Resumen

Las simulaciones Monte Carlo (MC) en la medicina nuclear son aplicaciones de computo intensivo, debido a que el camino de cada partícula a través del medio debe ser rastreada hasta que sea absorbida o escape del medio. En pequeños escáneres del tipo PET (Positron Emission Tomography) de animales, una simulación realista de una dosis de 100 uCi para 30 minutos de escaneo requiere el seguimiento de alrededor de 6.6 x 109 pares de fotones, lo cual equivale a 13 billones de partículas primarias, lo cual se traduce en el uso de un único procesador por múltiples días. La demanda de extenso cómputo es un factor común en todas las aplicaciones de simulación de tomografías de emisiones MC, como por ejemplo la aplicación Geant4 para emisiones de tomografías (GATE).

El objetivo principal de esta propuesta es acelerar la simulación GATE utilizando técnicas de computación paralela. Diseñaremos un modelo de ejecución en paralelo para GATE y lo implementaremos en una plataforma híbrida de memoria compartida y distribuida para poder alcanzar una aceleración lineal en función del número de nodos computacionales. Al comienzo, este objetivo puede verse trivial dado que la mayoría de las aplicaciones MC están bien diseñadas para la paralelización. No obstante, paralelizar GATE presenta dos restricciones importantes que imponen algunas limitaciones en cómo la simulación puede ser paralelizada y a la aceleración máxima que se puede alcanzar: (a) El camino del tiempo, y (b) en PET, procesamiento por coincidencia. El camino del tiempo implica que los eventos son etiquetados por tiempo secuencialmente; El tiempo asignado a un evento is una función del tiempo del evento previo, la actividad de origen actual y el tiempo de vida medio de la fuente. Procesamiento por coincidencia implica que dos eventos distintos (posiblemente procesado en procesadores remotos) deben ser analizados por un único proceso.

Con el objetivo de alcanzar nuestra meta, comenzaremos estudiando cómo la simulación de los eventos es llevada a cabo. Anticipamos que nuestro modelo estará basado en un modelo similar a ParGeant4, el cual implementa el paralelismo basado en eventos. Sin embargo, y como se explica anteriormente, este ingenuo modelo no puede ser aplicado directamente en GATE. Luego, procederemos con el diseño e implementación del modelo paralelo utilizando una metodología clásica para el desarrollo de aplicaciones en paralelo, lo cual consiste en cuatro fases: partición, comunicación, aglomeración y mapeo. La implementación empleará hebras de OpenMP para procesadores con memoria compartida en conjunto con paso de mensajes de MPI en un cluster de computadores multi-núcleo.

El producto final será validado utilizando un enfoque de caja negra. Compararemos individualmente los siguientes elementos de salida para PET y SPECT: número y distribución de solos, número y distribución de verdaderos, aleatorios y coincidencias dispersas. A su vez, las imágenes reconstruidas para una simulación de escáner PET y SPECT serán comparadas usando métricas del tipo figures-of-merit para imágenes medicinales nucleares como el ruido recuperación de contraste, resolución, y fraccionamiento disperso. Finalmente, una evaluación de rendimiento computacional será llevada a cabo. Mediciones como tiempo de reloj de ejecución, aceleración relativa, eficiencia, costos de comunicación y requerimientos de memoria serán analizados.

El producto final de este proyecto, ParGATE, será con suerte incorporado a una liberación oficial de GATE con la colaboración de OpenGATE. Creemos que el software y las técnicas que resultarán de esta investigación serán grandes contribuciones para hacer de GATE un software viable para aplicaciones clínicas.

Abstract

Monte Carlo (MC) simulations in nuclear medicine are highly compute intensive applications, because the passage of each particle through the medium must be tracked until it is absorbed or it escapes the medium. In small animal Positron Emission Tomography (PET) imaging, a realistic simulation of a 100 uCi dose for a 30 minutes scan requires the tracking of about 6.6 × 109 photon pairs, that is 13 billion primary particles, which translates into several days of single processor use. The demand for lengthy computations is a common factor to all MC emission tomography simulation softwares, such as the Geant4 Application for Emission Tomography (GATE).

The ultimate goal of this proposal is to speed up GATE simulations by means of parallel computing techniques. We will design a parallel execution model for GATE and implement it in a hybrid shared-memory and distributed memory platform such that to achieve almost linear speedup as a function of the number of computing elements. At first, this goal may seem trivial since most MC applications are well suited for parallelization. However, parallelizing GATE presents two important constraints that impose some limitations on how the simulation can be parallelized and the maximum speedup that can be attained: (a) the passage of time, and (b) in PET, coincidence processing. The passage of time implies that events are sequentially time-tagged; the time assigned to one event is a function of the previous event time, current source activity and source half lifetime. Coincidence processing implies that two different events (possibly processed in remote processors) must.

In order to achieve our goal, we will begin studying how the simulation of events is carried out. We anticipate our model will be based on a model similar to ParGeant4, which implements event-level parallelism. However, and as explained above, this naive model cannot be directly applied to GATE. We will then proceed with the design and implementation of the parallel model using a classical methodology for developing parallel applications consisting of four major phases: partitioning, communication, agglomeration, and mapping. The implementation will employ OpenMP threads for shared-memory processors together with MPI message-passing in a cluster of multi-core computers.

The final product will be validated using a black-box approach. We will compare individual output items for PET and SPECT: number and distribution of singles, number and distribution of true, random, and scatter coincidences. Also, reconstructed images for one simulated PET and one simulated SPECT scanners will be compared using nuclear medicine imaging figures-of-merit like noise, contrast recovery, resolution, and scatter fraction. Finally, a computational performance evaluation will be carried out. Measures like execution wall-clock time, relative speedup, efficiency, communication costs, and memory.

The final product of this project, ParGATE, will hopefully be incorporated in official releases of GATE by the OpenGATE Collaboration. We believe the software and techniques that will result from this investigation will be a further contribution to make GATE a viable software for clinical applications.