__NOTC__ -{Charm++}- je paralelni objektno-orijentisani programski jezik baziran na -{C++}- jeziku i razvijen u Paralelnoj Programskog Laboratoriji na Univerzitetu Ilinoja. -{Charm++}- je dizajniran sa ciljem povećanja programerske produktivnosti, putem omogućavanja visokog nivoa apstrakcije paralelnog programiranja, dok u isto vreme isporučuje efikasno izvršavanje na širokom krugu hardverskih platformi. Programi napisani u -{Charm++}- se razlažu u više objekata, poslužitelja (), koji kooperiraju putem poruka. Kad je metod jednog objekta pozvan, -{Charm++}- prometni sistem pošalje poruku pozvanom objektu, koji se može nalaziti na lokalnom ili na udaljenom procesoru. Poruka uzrokuje izvršavanje koda objekta na poslužitelju u asinhronom modu.
Poslužitelji se mogu organizovati u uređene kolekcije zvane nizovi poslužitelja. Poruke se mogu poslati pojedinim poslužiteljima u nizu, ili celom nizu simultano. Poslužitelji programa su alocirani na fizičke procesore jednim adaptivnim izvršnim sistemom. Mapiranje poslužitelja na procesore je transparentno za programera, i to je ta transparentnost da dozvoljava izvršnom sistemu da dinamički menja asocijacije poslužitelja i procesora u toku egzekucije programa. Na taj način se ostvaruje balansiranje opterećenja, tolerancija greški, i automatska provera. To isto tako daje paralelnom programu mogućnost smanjenja i uvećanja broja korišćenih procesora.
Molekularno dinamički simulacioni paket -{NAMD}- je implementiran koristeći -{Charm++}-.
Adaptivni -{MPI (AMPI)}- je implementacija Interfejs predavanja poruka standarda preko -{Charm++}- izvršnog sistema. To daje -{Charm++}- sistemu tradicionalni -{MPI}- programski model. -{AMPI}- stavlja svaki -{MPI}- proces unutar pokretne niti sa korisnički-nivoom koja je implementirana kao -{Charm++}- objekt. Usađivanjem svake niti sa poslužiteljom, -{AMPI}- programi mogu automatski da iskoriste osobine -{Charm++}- izvršnog sistema sa malo ili bez promena na potpornom -{MPI}- programu.
Vidi još -{NAMD}- -{ChaNGa}- -{OpenAtom}-
Reference
Charm Paralelni Programski Jezik i Sistem: Deo I – Opis osobina jezika, pdf fajl Charm Paralelni Programski Jezik i Sistem: Deo II – Izvršni sistem, pdf fajl
Spoljašnje veze Paralelni Programska Laboratorija (PPL) na UIUC -{AMPI}-
Категорија:Фамилија Ц++ програмских језика