@mastersthesis {msc:2012:silva,
	title = {Ditto {\textendash} Deterministic Execution Replay for the Java Virtual Machine on Multi-processors},
	year = {2012},
	note = {<p>(Supervised by Lu{\'\i}s Veiga)</p>
},
	school = {Instituto Superior T{\'e}cnico},
	type = {MSc thesis},
	abstract = {<p>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.</p>
},
	url = {https://fenix.ist.utl.pt/publico/showDegreeTheses.do?method=showThesisDetails\&degreeID=null\&thesisID=315234\&contentContextPath_PATH=/cursos/meic-a/dissertacoes\&_request_checksum_=793c303c3ab53001aa33dbc60bdecfa823094291},
	attachments = {https://sites.fct.unl.pt/sites/default/files/synergy-vm/files/meic-a-62505-joao-silva-thesis.pdf},
	author = {Silva, Jo{\~a}o}
}
