Lourenço, João M., Nuno Preguiça, Ricardo J. Dias, João Nuno Silva, João Garcia, and Luís Veiga NGenVM: New Generation Execution Environments. EuroSys. Nuremberg, Germany, 2009.
AbstractThis document describes a work-in-progress development of NGen-VM, a distributed infrastructure that manages execution environments with run-time and programming language support targeting applications developed in the Java programming language, deployed over clusters of many-core computers. For each running application or suite of related applications, a dedicated single-system image will be provided, regardless of the concurrent threads running on a single machine (on several cores) or scattered on different computers. Such system images rely on a single model for concurrency management (Transactional Shared Memory Model), in order fill the gap between the hardware infrastructure of clusters of many-core nodes and the application runtime that is independent from that hardware infrastructure. Interactions between threads in the same tasks will be supported by a Transactional Memory framework that provides the programming language with Atomic and Isolated code regions. Interactions between thread on different machines will also use the Transactional Memory model, but now resorting to a Distributed Shared Memory abstraction.
Lourenço, João M., Ricardo J. Dias, João Luís, Miguel Rebelo, and Vasco Pessanha. "
Understanding the Behavior of Transactional Memory Applications."
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD'09). {PADTAD}'09. New York, NY, USA: ACM, 2009. 31-39.
AbstractTransactional memory is a new trend in concurrency control that was boosted by the advent of multi-core processors and the near to come many-core processors. It promises the performance of finer grain with the simplicity of coarse grain threading. However, there is a clear absence of software development tools oriented to the transactional memory programming model, which is confirmed by the very small number of related scientific works published until now. This paper describes ongoing work. We propose a very low overhead monitoring framework, developed specifically for monitoring TM computations, that collects the transactional events into a single log file, sorted in a global order. This framework is then used by a visualization tool to display different types of charts from two categories: statistical charts and thread-time space diagrams. These last diagrams are interactive, allowing to identify conflicting transactions. We use the visualization tool to analyse the behavior of two different, but similar, testing applications, illustrating how it can be used to better understand the behavior of these transactional memory applications.
Dias, Ricardo J., and João M. Lourenço. "
Unifying Memory and Database Transactions."
Proceedings of the 15th International Euro-Par Conference on Parallel Processing. {Euro-Par}'09. Berlin, Heidelberg: Springer-Verlag, 2009. 349-360.
AbstractSoftware Transactional Memory is a concurrency control technique gaining increasing popularity, as it provides high-level concurrency control constructs and eases the development of highly multi-threaded applications. But this easiness comes at the expense of restricting the operations that can be executed within a memory transaction, and operations such as terminal and file I/O are either not allowed or incur in serious performance penalties. Database I/O is another example of operations that usually are not allowed within a memory transaction. This paper proposes to combine memory and database transactions in a single unified model, benefiting from the ACID properties of the database transactions and from the speed of main memory data processing. The new unified model covers, without differentiating, both memory and database operations. Thus, the users are allowed to freely intertwine memory and database accesses within the same transaction, knowing that the memory and database contents will always remain consistent and that the transaction will atomically abort or commit the operations in both memory and database. This approach allows to increase the granularity of the in-memory atomic actions and hence, simplifies the reasoning about them.
Louren{\c c}o, João, Nuno Pregui{\c c}a, Ricardo Dias, João Nuno Silva, João Garcia, and Lu\'ıs Veiga NGenVM: New Generation Execution Environments. Nuremberg, Germany, 2009.
AbstractThis document describes a work-in-progress development of NGen-VM, a distributed infrastructure that manages execution environments with run-time and programming language support targeting applications developed in the Java programming language, deployed over clusters of many-core computers. For each running application or suite of related applications, a dedicated single-system image will be provided, regardless of the concurrent threads running on a single machine (on several cores) or scattered on different computers. Such system images rely on a single model for concurrency management (Transactional Shared Memory Model), in order fill the gap between the hardware infrastructure of clusters of many-core nodes and the application runtime that is independent from that hardware infrastructure. Interactions between threads in the same tasks will be supported by a Transactional Memory framework that provides the programming language with Atomic and Isolated code regions. Interactions between thread on different machines will also use the Transactional Memory model, but now resorting to a Distributed Shared Memory abstraction.
Fortunato, E., Nuno Correia, Pedro Barquinha, Claudia Costa, Luis Pereira, Goncalo Goncalves, and Rodrigo Martins. "
Paper Field Effect Transistor."
Zinc Oxide Materials and Devices Iv. Eds. F. H. Teherani, C. W. Litton, and D. J. Rogers. Vol. 7217. Proceedings of SPIE, 7217. 2009.
Abstractn/a