/Y3S2-ComputacaoParalelaDistribuida

Exercises and assessments of the UC Computação Paralela e Distribuida. MIEIC, Year 3, Semester 2.

Primary LanguageJava

Computação Paralela e Distribuída (CPD) - Year 3, Semester 2 (Y3S2)

This repository contains all the exercises and assessments of the UC Computação Paralela e Distribuída, taught by Pedro Souto, Carlos Baquero-Moreno and Jorge Barbosa at Integrated Master in Informatics and Computing Engineering [MIEIC] at the Faculty of Engineering of the University of Porto [FEUP].

Final Grade: 16/20

FEUP Logo

Here are several documents, namely:

Notes

Notes that I take during theoretical lectures in Markdown.

Project 1 (Grade: 18.6/20) - Parallel Computing

In this Project, we will study the effect on the processor performance on the memory hierarchy when accessing large amounts of data. For this effect, we used the product of two matrices, which is common in a wide range of applications across various fields, such as computer graphics and machine learning, and is still today a study field due to how computationally expensive it can be to solve them.

Members

Project 2 (Grade: 19.6/20) - Distributed Computing

A client-server system using TCP sockets in Java. There are users that can authenticate with the system in order to play some text based game among them. A game is handled by a class and requires a given number of connected players to start. The implementation tolerate broken connections when users are queuing and waiting for the game to start. A protocol was developed between client and server that allows the clients to not lose their position in the game wait queue when resuming broken connections. Server implemented proprieties:

  • Fault Tolerance;
  • No race conditions;
  • Minimize thread overheads;
  • Avoid slow clients;

Members

@ Fábio Araújo de Sá
2022/2023