November 10, 2018

Masters Degree First Year Update.

Update for the first year, it wasn’t quite weekly like mentioned in the last post ;). Because some time passed I’ll only give a short summary.

Coursers for the first semester:

Courses for the second semester:

Web Application Development

On this course, we progressed to RDF and got an introduction to SPARQL. During the laboratories and courses, we also explored different ways to use/create and manipulate Semantic Data.

Here my team’s final project took all the projects from Cloud Native Computing Foundation Landscape ) mapped it into an Ontology about distributed and CloudNative software projects and in combinations with schema.org we could have some smart queries in order to help a developer choose the best type of technology based on license, GitHub metrics, technologies used, etc … .

Advance Chapters of Neural Networks

Implemented successfully the MNIST dataset homework.

For the final project, we classified CIFRA10 dataset and we were graded based on our accuracy. The model was a convolutional neural network.

Distributed Operating Systems

The python wrapper for the last homework used numpy and pandas to plot graphs of the results.

For the second and third homework, we had to implement various operations for images (very similar to matrics operations), break the processing in multiple chings and schedule them on workers run with [OpenMP][openmp].

For the research part, I had a presentation about Lamport, L. (2006). Fast paxos. Distributed Computing, 19(2), 79-103.

Advanced Software Engineering Techniques

Our solution examines the running pattern of various functions running in Kubeless and predicts the load allowing us the possibility to scale up/down when needed.

Second Semester

Event-based systems

Here the focus on all the types of event-based systems, we analyzed topic-based systems, content-based systems, how they are implemented and the pros and cons to all of them. We also analyzed various researched papers. Four the final project we have created a broker overlay over NATS that is a topic-based streaming platform) that implement content-based filtering: you specify the property of the content that you are interested in and the brokers will stream to you all the messages that match. The project is extremely experimental but is available here

My team also took a closer look at de Assuncao, M. D., da Silva Veith, A., & Buyya, R. (2018). Distributed data stream processing and edge computing: A survey on resource elasticity and future directions. Journal of Network and Computer Applications, 103, 1-17.

Specification and verification of distributed systems

This course was mostly based on theory and exercises and we looked at various semantics and mathematical(logics) models that can help us specify and check various properties of distributed systems.

For the practica side (except exercises) we looked at CPN Tools

Distributed and parallel programming

Here an overview of cloud paradigms and offerings was presented from a research perspective.

Our projects revolved around architecting distributed applications based on various other technologies (blockchain for example) that can implement highly sensitive tasks, we looked at how we can ensure using blockchain the fair use of data streams provided by IoT devices.

This course was actually about AWS and it was presented by engineers working on the tools using qwiklabs. It presented various architectures used for creating cloud-native applications and how we can leverage tools from AWS.

Research

In this category I’ll put the progress on the research side, articles I read/plan to read and what I’m trying to understand at the moment.

Done Reading/Viewing
Future Work

And I still need to get familiar with LaTeX