%0 Journal Article %@holdercode {isadg {BR SPINPE} ibi 8JMKD3MGPCW/3DT298S} %@nexthigherunit 8JMKD3MGPCW/3EUPEJL %@archivingpolicy denypublisher denyfinaldraft24 %@dissemination WEBSCI; PORTALCAPES. %3 Rodrigues.pdf %X Processor virtualization is a technique in which a programmer divides a computation into many entities, which are mapped to the available processors. The number of these entities, referred to as virtual processors, is typically larger than the number of physical processors. For an MPI program, the user decomposes the computation into more MPI tasks than physical processors. This approach allows overlapping computation and communication, and enables load balancing. User-level threads are often used to implement these virtual processors because they are generally faster to create, manage and migrate than heavy processes or kernel threads. However, these threads present issues concerning private data because they break the private address space assumption typically made by MPI programs. In this paper, we propose a new approach to privatize data in user-level threads. This approach is based on thread-local storage (TLS), which is often used by kernel threads. We apply this technique so that MPI programs can be executed in a virtualized environment while preserving their original semantics. We show that this alternative has a more efficient context switch and lower migration cost and is simpler to implement than other approaches. %@mirrorrepository iconet.com.br/banon/2006/11.26.21.31 %8 Apr. %N 4 %T Preserving the original MPI semantics in a virtualized processor environment %@electronicmailaddress edrodri@br.ibm.com %@secondarytype PRE PI %K processor virtualization, MPI, user-level threads, privatization, TLS. %@usergroup administrator %@usergroup marciana %@group %@group %@group CPT-CPT-INPE-MCTI-GOV-BR %@secondarykey INPE--PRE/ %@secondarymark B1_CIÊNCIA_DA_COMPUTAÇÃO B1_ENGENHARIAS_IV A1_INTERDISCIPLINAR %@issn 0167-6423 %2 sid.inpe.br/mtc-m19/2013/01.28.13.41.26 %@affiliation IBM Research, Brazil %@affiliation Institute of Informatics, UFRGS, Brazil %@affiliation Instituto Nacional de Pesquisas Espaciais (INPE) %@affiliation Parallel Programming Laboratory, UIUC, USA %B Science of Computer Programming %@versiontype publisher %P 412–421 %4 sid.inpe.br/mtc-m19/2013/01.28.13.41 %@documentstage not transferred %D 2013 %V 78 %@doi 10.1016/j.scico.2012.07.005 %A Rodrigues, Eduardo R., %A Navaux, Philippe O. A., %A Panetta, Jairo, %A Mendes, Celso L., %@area MET