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.
Louren{\c c}o, João, Ricardo 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. New York, NY, USA: ACM, 2009. 3:1-3:9.
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, and João Louren{\c c}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.
Conrath, Katja, Alice S. Pereira, Carlos E. Martins, Cristina G. Timoteo, Pedro Tavares, Silvia Spinelli, Joerg Kinne, Christophe Flaudrops, Christian Cambillau, Serge Muyldermans, Isabel Moura, Jose J. G. Moura, Mariella Tegoni, and Aline Desmyter. "
{Camelid nanobodies raised against an integral membrane enzyme, nitric oxide reductase}."
Protein science : a publication of the Protein Society. 18 (2009): 619-628.
AbstractNitric Oxide Reductase (NOR) is an integral membrane protein performing the reduction of NO to N2O. NOR is composed of two subunits: the large one (NorB) is a bundle of 12 transmembrane helices (TMH). It contains a b type heme and a binuclear iron site, which is believed to be the catalytic site, comprising a heme b and a non-hemic iron. The small subunit (NorC) harbors a cytochrome c and is attached to the membrane through a unique TMH. With the aim to perform structural and functional studies of NOR, we have immunized dromedaries with NOR and produced several antibody fragments of the heavy chain (VHHs, also known as nanobodies (TM)). These fragments have been used to develop a faster NOR purification procedure, to proceed to crystallization assays and to analyze the electron transfer of electron donors. BIAcore experiments have revealed that up to three VHHs can bind concomitantly to NOR with affinities in the nanomolar range. This is the first example of the use of VHHs with an integral membrane protein. Our results indicate that VHHs are able to recognize with high affinity distinct epitopes on this class of proteins, and can be used as versatile and valuable tool for purification, functional study and crystallization of integral membrane proteins.