Podcast
Questions and Answers
What is the primary focus of this course, as stated in the 'Caveat'?
What is the primary focus of this course, as stated in the 'Caveat'?
- Mobile Computing
- Internet-of-Things
- Embedded Systems
- Cloud-based computing (correct)
Which programming languages are listed as prerequisites for the course?
Which programming languages are listed as prerequisites for the course?
- C, C++, and Java (correct)
- C# and .NET
- Python and Java
- Assembly and C
Identify a topic covered under the 'Communication and Processing' syllabus.
Identify a topic covered under the 'Communication and Processing' syllabus.
- Synchronization
- Fault Tolerance
- Messages (correct)
- Security
From the 'Foundations' syllabus, what concept ensures data consistency across multiple nodes?
From the 'Foundations' syllabus, what concept ensures data consistency across multiple nodes?
Which of the following falls under the 'Applications' syllabus?
Which of the following falls under the 'Applications' syllabus?
Regarding the (Mini-)Projects, what is a key requirement for 'Your own project'?
Regarding the (Mini-)Projects, what is a key requirement for 'Your own project'?
According to the course structure, what is the consequence for failing to comply with the rules regarding cheat sheets during exams?
According to the course structure, what is the consequence for failing to comply with the rules regarding cheat sheets during exams?
In the context of academic integrity, what specific action is prohibited regarding project code?
In the context of academic integrity, what specific action is prohibited regarding project code?
When do classes start, relative to the beginning of the hour?
When do classes start, relative to the beginning of the hour?
What is the weighting of class participation(C) in the calculation of the final grade(G) for ordinary students?
What is the weighting of class participation(C) in the calculation of the final grade(G) for ordinary students?
Which of the following activities related to projects is explicitly permitted?
Which of the following activities related to projects is explicitly permitted?
Consider a student who scores below 8 in one of the project assignments. How does this affect the application of the formula for the final grade for ordinary students?
Consider a student who scores below 8 in one of the project assignments. How does this affect the application of the formula for the final grade for ordinary students?
A student wants to submit materials for the (Mini-)Projects. What format is required?
A student wants to submit materials for the (Mini-)Projects. What format is required?
How often do students have to fill out the form to keep their previous year's project grade?
How often do students have to fill out the form to keep their previous year's project grade?
With reference to the academic integrity policy, which of the following actions could lead to a failing grade in the course?
With reference to the academic integrity policy, which of the following actions could lead to a failing grade in the course?
If a student needs to know the specific topics that will be covered in the 'Security' section of the course, where should they look?
If a student needs to know the specific topics that will be covered in the 'Security' section of the course, where should they look?
In calculating the final grade for 'Special status students', what is the contribution of the project grade P if P is greater than or equal to 8?
In calculating the final grade for 'Special status students', what is the contribution of the project grade P if P is greater than or equal to 8?
What type of questions are included in the exam?
What type of questions are included in the exam?
What penalty may students face if their projects are found to be identical to those from previous years?
What penalty may students face if their projects are found to be identical to those from previous years?
On what day of the week are classes held at 11:10?
On what day of the week are classes held at 11:10?
Flashcards
Distributed Application
Distributed Application
An application with two or more processes executing on different computers and communicating via messages.
Objectives of Distributed Computing
Objectives of Distributed Computing
Understanding the foundations of distributed computing and being able to design, implement, and analyze distributed applications.
Prerequisites
Prerequisites
Concurrency in Operating Systems, Computer Networks and Programming in C/C++/Java.
Communication Paradigms
Communication Paradigms
Signup and view all the flashcards
Foundations of Distributed Systems
Foundations of Distributed Systems
Signup and view all the flashcards
Applications of Distributed Systems
Applications of Distributed Systems
Signup and view all the flashcards
Distributed Systems: Principles and Paradigms
Distributed Systems: Principles and Paradigms
Signup and view all the flashcards
Academic Integrity
Academic Integrity
Signup and view all the flashcards
Study Notes
- Distributed Systems Class Information for the 3rd MIEIC is being taught by Pedro F. Souto ([email protected]) and the date of the class information is February 13, 2019
Staff
- The lectures are given by Pedro Ferreira do Souto ([email protected])
- The labs are run by different people: Hélder Fernandes Castro ([email protected]), Pedro Alves Nogueira ([email protected]), and Pedro Ferreira do Souto ([email protected])
Distributed Applications
- A distributed application has two or more processes
- These processes execute on different computers
- They communicate via messages
- There is a no negligible delay concerning computation
- Most, if not all, intellectually interesting applications are distributed nowadays
Course Objectives
- Understand the foundations of distributed computing
- Design and implement simple distributed applications
- Analyze distributed solutions and evaluate their fitness of solutions to the problem
- The course will focus on cloud-based computing instead of the Internet-of-Things
Prerequisites
- Requires knowledge of operating systems, specifically concurrency
- Requires knowledge of computer networks
- Requires Programming knowledge in C/C++/Java
Syllabus Parts
- Part 1: Communication and Processing which includes Introduction, Networking (Review), Communication Paradigms (Messages, Remote invocation), and Processing
- Part 2: Foundations includes Names and Localization, Security, Sinchronization, Replication and Consistency, and Fault Tolerance
- Part 3: Applications includes Distributed Filesystems, Data Intensive Computing, Web-based Applications and Peer-to-peer Systems
Supporting Material
- Tanenbaum, A. e van Steen, M.’s “Distributed Systems: Principles and Paradigms, 3rd Ed. (2017)” textbook is available for free upon request
- "Distributed Systems: for fun and profit" is recommended as a small fun book focused on the data center.
- Java documentation is also recommended, specifically Java 8.0 API
Mini-Projects
- Project 1 is a simple distributed storage application
- Project 1 should be done in groups of 2 students
- Project 1 is due on April 7 @ 20:00 (Sunday)
- Project 1 demo is on first lab class after due date (i.e. on April 8)
- Project 2 is one's own project
- Project 2 must use non-blocking API
- Project 2 should be done in groups of 4 students
- Project's 2 proposal is due April 14 @ 20:00 (Sunday)
- Project 2 is due on May 26 @ 20:00 (Sunday)
- Project 2's demo on first lab class after due date (i.e. last week)
- Both projects must be implemented in Java
- Both projects and their reports must be submitted via SVN/Redmine
- Both projects have the same weight
Mini-Projects Grading
- Grading is individual
- Each project is graded assuming the expected number of group members (2 and 4 respectively)
- A contribution factor computed from the contribution using a piecewise linear function is applied to the grade
- First project "Breaking points": 33%, 50%
- The factor for the first project is: 0 at 0%,.85 at 33%, 1 at 50% and 1.10 at 100%
- Second project "Breaking point": 25%
- The factor for the second project is: 0 at 0%, 1 at 25%, 1.15 at 100%
- A ceiling based on the complexity will also be applied
- Students can fill out a form to keep their previous year’s project grade before February 17th
Exam
- The exam is in Moodle
- The exam may include True/False, multiple-choice, and open questions
- The exam is closed books but allows a cheat sheet
- The cheat sheet must be A4 (both sides) and handwritten
- Exams that do not comply will be nullified
- You should study by the book
Class Participation
- Participation includes discussion in the Moodle's forum
Final Grade
- The formula to calculate the final grade (G) for ordinary students is: min(min(F, P) + 3, 0.45P + 0.1C + 0.45F)
- The parameters are:
- P is the average of the grades in both projects (P ≥ 8)
- C is class participation
- F is the final exam grade (F ≥ 8)
- The final grade cannot exceed in more than 3 points (in 20) the minimum of the grades in the final exam and in the project
- The formula to calculate the final grade (G) for special status students is: min(min(F, P) + 3, 0.5P + 0.5F)
Academic Integrity
- Academic integrity is taken very seriously
- Students should check out the Declaração de Princípios sobre a Integridade Académica na UP
- Students are allowed to discuss the projects
- There will be a discussion forum on Moodle for each project
- The code submitted must be either developed by the group members or authorized, and credit given in both the report and the source file
- Tools will be used to automatically detect common code and all groups with similar code will be penalized
- You may still help your colleagues, but code cannot be shared nor can you read someone else’s project
- Projects that are identical to those of last year is not allowed
- The penalty for academic dishonesty/integrity ranges from a zero in that project to failing the course
Important Dates:
- Classes start 10 minutes after the hour
- Wednesdays at 11:10
- Fridays at 8:40
- Labs start next week
- Course material is available on Moodle’s course page
- 1st project is on April 7 @ 20:00 (Sunday)
- Proposal of 2nd project is on April 14 @ 20:00 (Sunday)
- 2nd project is on May 26 @ 20:00 (Sunday)
- Demos are in the first lab class after due dates.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.