Showing posts with label Thesis. Show all posts
Showing posts with label Thesis. Show all posts

Tuesday, October 9, 2012

Virtual Time

This is a summary of section 1 and 2 of Jefferson's paper of University of Southern California "Virtual Time".

What is Virtual Time?
Virtual time is a paradigm that provides a flexible abstraction of real time in much the same way that virtual memory provides an abstraction of real memory. It is implemented using the Time Warp mechanism.

Programmer's POV: the global virtual clock always progresses forward at an unpredictable rate with respect to real time.
Implementer's POV: there are many local virtual clocks, loosely synchronized, and while all of the virtual clocks tend to go forward toward higher virtual times, they occasionally jump backward.

Event at (x, t) where x is the virtual place and t is the virtual time

Processes communicate only by exchanging messages to any process that it can name.

All messages are stamped with four values:
  • Sender
  • Virtual sender time
  • Receiver
  • Virtual receiver time
Virtual time systems are subject to two fundamental semantic rules:
  1. The virtual send time of each message must be less than its virtual receive time
  2. The virtual time of each event in a process must be less than the virtual time of the next event at that process.
This rule imply:
  • All messages output from any one process are sent in order of virtual send time
  • All messages input to any process are read in order of virtual receive time
The major constraint on the implementation:
If an event A causes event B, then the execution of A and B must be scheduled in real time so that A is completed before B starts.

Saturday, September 22, 2012

Hello World!!!

Hi, I'm Pasqualino Sorice, I attend the Bachelor of Science in Engineering in Computer Science and Systems (BSE-CSS) at Sapienza of Rome.

I begin this blog in conjunction with the start of works on my bachelor thesis.
I'll try to keep it as update as possible and to include interesting contribution on computer science.

The base of my thesis is a software open source developed by a Sapienza's group of research, the High Performance and Dependable Computing System.

The software is ROOT-Sim (The ROme OpTimistic Simulator).
This is introduction of his website:
The ROme OpTimistic Simulator is an x86-64 Open Source, parallel/distributed simulation platform developed using C/POSIX technology, which is based on a simulation kernel layer that ultimately relies on MPI for data exchange across different kernel instances. The platform transparently supports all the mechanisms associated with parallelization (e.g., mapping of simulation objects on different kernel instances) and optimistic synchronization (e.g., state recoverability).
The programming model supported by ROOT-Sim allows the simulation-model developer to use a simple application-callback function named ProcessEvent() as the event handler, whose parameters determine which simulation object is currently taking control for processing its next event, and where the state of this object is located in memory. In ROOT-Sim, a simulation object is a data structure, whose state can be scattered on dynamically allocated memory chunks, hence the memory address passed to the callback locates a top level data structure implementing the object state-layout.
I'm reading "Parallel and distributed simulation systems" of Richard M. Fujimoto to come into this attractive argument.

I'm sorry for my bad English, but this is the first time I write a post in English.
I hope I haven't made too many grammatical errors.