IN9570 – Distributed Objects
Course description
Schedule, syllabus and examination date
Course content
Presentation of fundamental concepts of distributed objects including local and distributed objects, remote object invocation, communication, parameter passing principles, garbage collection, performance issues and typical applications. We also cover advanced type systems including concepts such as immutability and its application to distributed programming and access control. We also discuss the design of language constructs for parallelism. Throughout we use the programming language Emerald as a base. We dig into the implementation of distributed objects including virtual machines, compilation techniques, run-time typing, dynamic program loading, and how to do distributed garbage collection.
Learning outcome
After completing the course, you will:
- be able to explain Emerald’s type system and its significance for distribution
- know the concepts of distribution, immutability, contra-variance, replication, remote procedure calls, mobility, threads, threads synchronization, thread mobility and garbage collection
- know the main principles of distributed garbage collection, remote calls, threads, object classes, object types, synchronization, reliability and high performance distributed applications
- know the principles and methods for implementing distributed garbage collection, remote calling, threads, object classes, object types, synchronization, reliability and high performance distributed applications
- be able to program large distributed applications using Emerald with many threads and complex synchronization requirements, and with objects distributed across the entire world
- know the speed of light and its impact on distributed systems
- be able to use Planetlab to measure and evaluate the performance of distributed systems and application
- be able to discuss Emerald’s type system in relation to other type systems and to, in detail, explain the difference in design
- be able to explain and discuss the theory behind the concepts of object constructors vs classes, immutability, contra-variance, replication, mobility, threads, threads synchronization, thread mobility and distributed garbage collection
- know the main principles of and be able to implement distributed garbage collection, remote calls, threads, object classes, object types, synchronization, reliability and high performance distributed applications
Admission to the course
PhD candidates from the University of Oslo should apply for classes and register for examinations through?Studentweb. If a course has limited intake capacity, priority will be given to PhD candidates who follow an individual education plan where this particular course is included.
PhD candidates who have been admitted to another higher education institution must?apply for a position as a visiting student?within a given deadline.
Recommended previous knowledge
One or more off:
UNIK4290, IN5020, IN5060, IN9020, IN9070, IN9060?(taking the course in the same semester as IN9570 is OK)
Overlapping courses
- 10 credits overlap with INF5510 – Distributed objects (continued).
- 10 credits overlap with IN5570 – Distributed Objects.
Teaching
2 hours of lectures each week, with 6 hour lectures every 3 weeks. 2 hours of group exercises each week. The course is heavily Learning-by-Doing through multiple larger programming assignments.
All mandatory assignments must be approved prior to the final exam.
Additional demands in regards to the home exam for the PhD-variant:
- theoretical sections
- comparisons with alternative solutions
- extended performance measurements
?
Attending the first lecture is mandatory.
Examination
2 home exams account for 25% of the final grade each, while an oral exam (4 hours long written digital if more than 20 candidates) account for 50% of the final grade.
All mandatory assignments must be approved prior to the final exam.
It will also be counted as one of?your three?attempts to sit the exam for this course, if you sit the exam for one of the following courses:?IN5570 - Distributed Objects,?INF5510 - Distributed objects (continued)
Examination support material
Oral/written exam: All written material allowed
Language of examination
The examination text is given in Norwegian. If the course is taught in English, the examination text will only be given in English. You may answer in Norwegian, Swedish, Danish or English.
Grading scale
Grades are awarded on a pass/fail scale. Read more about?the grading system.
Resit an examination
Students who can document a valid reason for absence from the regular examination are?offered a postponed examination at the beginning of the next semester. Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.
More about examinations at UiO
- Use of sources and citations
- Special exam arrangements due to individual needs
- Withdrawal from an exam
- Illness at exams / postponed exams
- Explanation of grades and appeals
- Resitting an exam
- Cheating/attempted cheating
You will find further guides and resources at the web page on examinations at UiO.