42007 - Advanced Topics in Distributed Computation (TACD)

  • Type: Elective
  • Semester: S3
  • ECTS: 6
  • Teaching Points: 15
  • Offer: Annual
  • Responsible Unit: CS
  • Responsible: Joaquim Gabarró
  • Language: English
  • Requirements: Similar education to that acquired with this Master’s subject “Concurrent and Distributed Programming”.



Students should acquire advanced knowledge in recent developments in distributed computing, especially in connection with Internet. This knowledge should also be practical such that students could develop medium size project. At the end of the course, the students should be able to think about innovative applications or research topics. Especially we will consider aspects related to internet and network economics.

1. Basic Elements.


  • Message passing and shared memory.
  • Basic algorithms.
  • Introduction to MPI.

2. Content Delivery Nerworks.

  • Distribution problems in content delivery networks.
  • Akamai.
  • Free Flow.
  • Peer to Peer Networks.

3. Client/Server limitations. P2P architecture. Popular P2P systems.

  • Distributed Hash tables.
  • Chord
  • Pastry.
  • BitTorrent.
  • Avalanche.

4. Distributed Objects and movility.

  • Actors, pi calculus, ambient calculus, asynchronous sequential proceeses (ASP).
  • Java Api for ASP: ProActive.

5. Wide-Area computing.

  • Service combinators for Web computing.
  • Computation orchestration.
  • WebL i ORC programming languages.

6. Internet and Network Economics.

  • Auctions and Internet.
  • Experiments in an economic model of the worldwide web.


Teaching activity is based on three main aspects:


  • Presence activities, which include teachers’ lectures, as well as presenting results of the students’ readings.
  • Activities based on article reading and example cases solving, supervised by teachers, as well as the lab project.
  • Autonomous work, studying and preparation of expositions.


The final mark will be the average obtained from the sum of the different activities done along the course: presentations, problem solving and lab projects.



  1. Cardelli, L.; Davis, R.: Service Combinators for Web computing. IEEE Transactions on Software Engineering, Vol. 25, No. 3, May/June 1999.
  2. Caromel, D; Henrio, L.: A theory of Distributed Objects. Springer 2005.
  3. Deng, X.; Ye Y..: Internet and Netrwork Economics. LNCS-3828, 2005.
  4. Gropp, W.; Lusk, E.; Thakur, R.: Using PMI-2. MIT, 1999.
  5. Balakrisnan H.,; Kaashoek, M.; Karger, D.; Morris, R.; Stoica, I.: Looking up data in P2P systems. CACM, Vol. 46. No 2. February 2003.
  6. Misra, J.; Cook, W.: Computation orchestration, a basis for Wide-Area computing. Journal of Software and Systems Modeling. To appear.
  7. Milner, R.: Communicating and Movile Systems: the Calculus. Cambridge,1999.
  8. Wikipedia: http://en.wikipedia.org/wiki/Akamai
  9. Multicore Programming. Intel Software

Books, labs, magazine articles.