Abstract
As multicore processor designs become more mainstream, it becomes
more important to both expose and efficiently exploit parallelism
in a clear and straight forward manner. We believe that the Charm++
paradigm is a good fit for the Cell processor (a heterogeneous
multicore processor). Many aspects of the Charm++ runtime system
allow it to take advantage of the benefits provided by the Cell
processor in a clear and natural manner. These aspects include
being able to peek ahead in the message queue, effective
prefetching of data, virtualization, encapsulation of data, etc. In
adapting the Charm++ runtime system to be able to use the Cell
processor, we have developed the Offload API. The Offload API is a
general purpose API, which can be used independently of Charm++,
that allows a program to easily take advantage of the Cell's
potential. Additionally, Charm++ applications are portable between
many existing platforms in common use today. By adapting the
Charm++ runtime system to utilize the Cell processor without
modification to the user's application code, Cell programs written
using Charm++ will automatically be portable to Cell-based
platforms. Finally, we will discuss some initial efforts in porting
the popular molecular dynamics program NAMD to the Cell processor.