Publications

Export 6 results:
Sort by: Author [ Title  (Asc)] Type Year
A B C [D] E F G H I J K L M N O P Q R S T U V W X Y Z   [Show ALL]
D
Vasques, J. L. V., and L. Veiga, "A Decentralized Utility-based Grid Scheduling Algorithm", 28th ACM Symposium On Applied Computing (SAC 2013): ACM, 2013. Abstract2013-sac-simao.pdf

n/a

Lourenço, J. M., D. Sousa, B. C. Teixeira, and R. J. Dias, "Detecting concurrency anomalies in transactional memory programs", Comput. Sci. Inf. Syst., vol. 8, no. 2, pp. 533–548, 2011. Abstract2011-comsis.pdf

Software transactional memory is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to main memory (RAM). This paper discusses how to support revertible operations, such as memory allocation and release, within software libraries that will be used in software memory transactional contexts. The proposal is based in the extension of the transaction life cycle state diagram with new states associated to the execution of user-defined handlers. The proposed approach is evaluated in terms of functionality and performance by way of a use case study and performance tests. Results demonstrate that the proposal and its current implementation are flexible, generic and efficient

Dias, R. J., J. C. Seco, and J. M. Lourenço, Detection of Snapshot Isolation Anomalies in Software Transactional Memory: A Static Analysis Approach, : Universidade Nova de Lisboa, UNL-DI-5-2011. 2011-dias.pdf
Martins, H., "Distributed replicated macro-components", Universidade Nova de Lisboa, 2013. 2013-helder_martins.pdf
Silva, J., Ditto – Deterministic Execution Replay for the Java Virtual Machine on Multi-processors, : Instituto Superior Técnico, 2012. Abstract2012-msc-ist-silva.pdf

In this work, we propose RATS, a middleware to enhance and extend the Terracotta framework for Java with the ability to transparently execute multi-threaded Java applications to provide a single-system image. It supports efficient scheduling of threads, according to available resources, across several nodes in a Terracotta cluster, taking advantage of the extra computational and memory resources available. It also supports profiling to gather application characteristics such as dispersion of thread workload, thread inter-arrival time and resource usage of the application. Profiling and clustering capabilities are inserted with the help of byte code instrumentations. We developed a range of alternative scheduling heuristics and classify them based on the application and cluster behavior. The middleware is tested with different applications with varying thread characteristics to assess and classify the scheduling heuristics with respect to application speed-ups. Results indicate that, for a CPU intensive application, it is possible to classify the scheduling heuristic based on application and cluster properties and also achieve linear speed ups. Furthermore, we show that a memory intensive application is able to scale its memory usage considerably when compared to running the application on a single JVM.

Silva, J. P. M., J. Simão, and L. Veiga, "Ditto – Deterministic Execution Replayability-as-a-Service for Java VM on Multiprocessors", ACM/IFIP/Usenix International Middleware Conference (Middleware 2013): Springer, dec, 2013. Abstract2013-middleware-silva.pdf

n/a