311 </p> |
311 </p> |
312 |
312 |
313 <li> <H4>[CU6] Implementation of a Distributed Clock-Synchronisation Algorithm developed at NASA</H4> |
313 <li> <H4>[CU6] Implementation of a Distributed Clock-Synchronisation Algorithm developed at NASA</H4> |
314 <p> |
314 <p> |
315 <B>Description:</B> |
315 <B>Description:</B> |
316 This |
316 There are many algorithms for synchronising clocks. This |
317 <A HREF="http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20120000054_2011025573.pdf">paper</A> |
317 <A HREF="http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20120000054_2011025573.pdf">paper</A> |
318 describes a new synchronisation algorithm for clock that communicate by exchanging |
318 describes a new algorithm for clocks that communicate by exchanging |
319 messages. |
319 messages and thereby reach a state in which (within some bound) all clocks are synchronised. |
320 </p> |
320 The point of this project is to implement this algorithm and simulate networks of clocks. |
321 |
321 </p> |
322 <B>Literature:</B> |
322 |
323 The project implements the algorithm presented |
323 <B>Literature:</B> |
324 <A HREF="http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20120000054_2011025573.pdf">here</A>. |
324 There is a wide range of literature on clock syncronisation algorithms. |
|
325 Some pointers are given in this |
|
326 <A HREF="http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20120000054_2011025573.pdf">paper</A>, |
|
327 which describes the algorithm to be implemented in this project. Pointers |
|
328 are given also <A HREF="http://en.wikipedia.org/wiki/Clock_synchronization">here</A>. |
325 </p> |
329 </p> |
326 |
330 |
327 <p><B>Skills:</B> |
331 <p><B>Skills:</B> |
328 In order to implement a simulation of this algorithm, you need to tackle |
332 In order to implement a simulation of a network of clocks, you need to tackle |
329 concurrency. You can do this for example in the programming language |
333 concurrency. You can do this for example in the programming language |
330 <A HREF="http://www.scala-lang.org/">Scala</A>. |
334 <A HREF="http://www.scala-lang.org/">Scala</A> with the help of the |
|
335 <A HREF="http://akka.io">Akka</a> library. This library enables you to send messages |
|
336 between different <I>actors</I>. <A HREF="http://www.scala-lang.org/node/242">Here</A> |
|
337 are some examples that explain how to implement exchanging messages between actors. |
331 </p> |
338 </p> |
332 |
339 |
333 </ul> |
340 </ul> |
334 </TD> |
341 </TD> |
335 </TR> |
342 </TR> |