Technische Universität Braunschweig
  • Study & Teaching
    • Beginning your Studies
      • Prospective Students
      • Degree Programmes
      • Application
      • Fit4TU
    • During your Studies
      • Freshmen-Hub
      • Term Dates
      • Information for Freshman
      • Practical Information
      • Additional Qualifications
      • Financing and Costs
      • Special Circumstances
      • Campus life
    • At the End of your Studies
      • Discontinuation and Credentials Certification
      • After graduation
      • Alumni
    • For Teaching Staff
      • Strategy, Offers and Information
      • Learning Management System Stud.IP
      • Team Teaching and Media Education
    • Contact
      • Student Advice Centre
      • Academic Advice Service
      • Admissions Office
  • Research
    • Research Profile
      • Core Research Areas
      • Clusters of Excellence
      • Research Projects
      • Research Centres
    • Early Stage Researchers
      • Promotion of early career scientists
      • PhD-Students
      • Postdocs
      • Junior research group leaders
      • Junior Professorship and Tenure-Track
      • Habilitation
      • Service Offers for Scientists
    • Research Data & Transparency
      • Transparency in Research
      • Research Data
      • Open Access Strategy
      • Digital Research Announcement
    • Research Funding
      • Research funding
    • Contact
      • Research Services
      • Academy for Graduates
  • International
    • International Students
      • Why Braunschweig?
      • Degree seeking students
      • Exchange Studies
      • Doctorate (PhD)
      • Refugee Students
      • Welcome Programme
      • TU Braunschweig Summer School
    • Scientists
      • Mobile Researchers at the TU Braunschweig
      • Research Services and European Office
    • Language and intercultural competence training
      • Learning German
      • Intercultural Communication
    • International Profile
      • Internationalisation
      • International Cooperation
    • International House
      • Information for first semester students
      • Contact
      • News and Events
      • Advisory Services
      • Location
      • About us
  • TU Braunschweig
    • Our Profile
      • Aims & Values
      • Regulations and Guidelines
      • Alliances & Partners
      • Facts & Figures
      • Our History
    • Career
      • Working at TU Braunschweig
      • Vacancies
    • Economy & Business
      • Knowledge and Technology Transfer
      • Entrepreneurship
    • General Public
      • Access to the University Library
    • Media Services
      • Communications and Press Service
      • Communications and Press Service
      • Film and photo permits
      • Advices for scientists
      • Topics and stories
    • Contact
      • General Contact
      • Getting here
  • Organisation
    • Presidency & Administration
      • Presidency
      • Designated Offices
      • Administration
      • Committees
    • Faculties
      • Carl-Friedrich-Gauß-Fakultät
      • Faculty of Life Sciences
      • Architecture, Civil Engineering and Environmental Sciences
      • Faculty of Mechanical Engineering
      • Fakultät für Elektrotechnik, Informationstechnik, Physik
      • Faculty of Humanities and Studies in Education
    • Institutes
      • Institutes from A to Z
    • Facilities
      • University Library
      • Gauß-IT-Zentrum
      • International House
      • Sports Centre
      • Facilities from A to Z
    • Equal Opportunity Office
      • Equal Opportunity Office
      • Family
      • Diversity for Students
  • Search
  • Quicklinks
    • People Search
    • Webmail
    • Campus map
    • CloudStorage
    • Messenger
    • Cafeteria
    • Courses
    • Stud.IP
    • Library Catalogue
    • IT Self-Service
    • Information Portal (employees)
    • Link Collection
    • DE
    • EN
    • IBR Twitter
    • IBR YouTube
    • Facebook
    • Twitter
    • Instagram
    • YouTube
    • LinkedIn
Menu
  • Technische Universität Braunschweig
  • Organisation
  • Faculties
  • Carl-Friedrich-Gauß-Fakultät
  • Institutes
  • Institute of Operating Systems and Computer Networks
Logo IBR
IBR Login
  • Institute of Operating Systems and Computer Networks
    • News
    • About us
      • Whole Team
      • Directions
      • Floor Plan
      • Projects
      • Publications
      • Software
      • News Archive
    • Connected and Mobile Systems
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
      • Software
      • Datasets
    • Distributed Systems
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
      • Software
    • Algorithms
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
    • Microprocessor Lab
    • Education
      • Summer 2023
      • Winter 2022/2023
      • Summer 2022
      • Theses
    • Services
      • Library
      • Mailinglists
      • Webmail
      • Knowledge Base
      • Wiki
      • Account Management
    • Spin-Offs
      • Docoloc
      • AIPARK
      • Confidential Technologies
    • Research Cooperations
      • IST.hub

Seminar Verteilte Systeme: Systems programming (Bachelor)

Semester
Summer 2019
Summer 2022Winter 2021/2022Winter 2019/2020Winter 2018/2019Summer 2018Winter 2017/2018Summer 2017Winter 2016/2017Winter 2015/2016Summer 2015Winter 2014/2015Summer 2014Summer 2013Summer 2012
Module #INF-VS-041
ProgrammesComputer Science Bachelor, Computer and Communication Systems Engineering Bachelor, Business Information Systems Bachelor
IBR GroupDS (Prof. Kapitza)
TypeSeminar
Lecturer
Photo
Prof. Dr. Rüdiger Kapitza
Ehemaliger Abteilungsleiter
rrkapitz[[at]]ibr.cs.tu-bs.de
Assistant
Photo
Ines Messadi
Ehemalige Wissenschaftliche Mitarbeiterin
messadi[[at]]ibr.cs.tu-bs.de
Credits5
Hours0+2
Time & Place

*Kick-Off Meeting* Tuesday, 09.04.2019, 13:15, IZ 105

Weekly meeting time: TBA, IZ 105

Certificates Submission of the essay, programming assignment and successful presentation. The grade is determined by the activity in the seminar as well as the quality of essay and presentation.
Content The seminar is dedicated to exploring systems programming in a well-established environment. It will address problems of programming, tools and modern hardware. The topics covered in the seminar will include:
  • Modern Hardware: RDMA, Transactional memory
  • Trusted Execution: SGX, AMD SME, TrustZone
  • Tools: Pin tool, LLVM
  • OS examples: Linux drivers, Genode, PineOS
  • Virtualization

Seminar Topics

Topic
1) Using Remote Direct Memory Access (RDMA) efficiently to enable a fast network communication

RDMA is a technology that enables direct data movement between the memory of remote computers in a zero-copy manner, without the support of the operating system. Consequently, it helps to reduce the CPU load and to decrease the network overhead.

Task: Explain how to enable an RDMA-based network communication and implement a sample application using C or C++.

Hints

  • RDMA one-sided tutorials
  • RDMA Programming user manual
  • Design Guidelines for High Performance RDMA Systems
  • RDMA blog by Dotan Barak
2) How to secure applications using SGX?

In the last years, cloud computing faced trust issues for applications managing sensitive data. To address this, Intel developed Software Guard Extensions (SGX) which allows the creation of one or more trusted execution environments inside an application, guarded against unauthorized accesses by higher privileged code and attackers.

Task: Explain how to secure applications using SGX and implement a sample application using C/C++.

Hints

  • Intel SGX for Dummies
  • SGX SDK
  • Sample Enclave
  • Intel Software Guard Extensions Programming Reference
3) How to update data in a distributed system via Conflict-free Replicated Data Types (CRDTs)?
Task: Explain how CRDT replication works and implement a sample application using C or C++. This includes to explore a few different CRDTs and show their benefits compared to traditional solutions. Also, it would be of interest to show how they are used in industry, examples include Redis, Riak, and Facebook.

Hints

  • CRDT notes
  • Big(ger) sets: decomposed delta CRDT sets in Riak
4) Lessons learned from building applications completely in Rust
Task: In the last year, there has been a lot of interest to Rust programming language, which promises security properties and is claimed to be the next fastest language. Your task is to explain what features Rust provides, and implement a benchmark comparing its performance with the C language.

Hints

  • Rust programming language
  • The Rust language
5) Understanding Transactional Memory
Task: Transactional Memory is a general concurrency mechanism that uses transactions instead of locks with a strong guarantees of no parralelism issues (deadlocks, race conditions, etc). Your task is to present a hands-on result from using a TM library, and explain its benefits over the usual mutex and locks mechanisms.

Hints

  • STM tools
  • Transactional Memory Should Be an Implementation Technique
  • Hardware Transactional Memory in Main-Memory Databases
6) How to implement fundamental operating system services?
Task: The idea is to present the fundamentals to implement operating system services, such as device drivers, file systems, multi-tasking processing and to rely on educational Unix-like OS such as MINIX.

Hints

  • Operating System in Undergraduate Operating System Courses
  • MINIX 3
  • Writing a Simple Operating System — from Scratch
7) How to implement a Linux device driver?
Task: The role of a driver is provide mechanisms to users to access particular protected part of hardware. Your task is to present hands-on results of how we can implement a linux device driver in order to gain access to a particular device that is of interest.

Hints

  • Writing a character device
  • The Simplest Module
  • Device Drivers
8) Atomic operations, from basics to advanced
Task: When parallel threads are accessing data, mutual exclusion prevents data races. Atomic operations are alternatives to locks, relatively quick and do not suffer from deadlocks. Your task is to present hands-on results explaining atomic operations from basics to advanced.

Hints

  • Atomic operations
9) Using Rust SGX SDK
Task: Exploring the Rust SGX SDK that connects Intel SGX and Rust programming language

Hints

  • The Fortanix EDP

Seminar

The talk and essay has to be done in English. Each participant will take one or more papers under a specific topic. Participants are responsible for a peer review, including:

  • Attend peer's presentation dry run and give feedback.
  • Review peer's essay before submission.
  • Participate by asking questions, contributing to the discussion.

Notes

Please submit the essay as well as your presentation slides. The requirements for presentation and essay are listed as follows:

  • Presentation and essay in English.
  • Programming assignment.
  • Presentation time about 25 minutes.
  • Essay should comprise about 4 pages.

Each participant is supposed to do further research based on the paper. The supervisors are always glad to help in this case.

The strength of the university depends on academic and personal integrity. In this seminar, essays must be done in your own words. Plagiarism is an offense against the examination regulations.

Templates

The LaTeX template for seminar essay can be found here.

Additional considerations for the design of the essay can be found on the website of IBR.

LaTeX templates for presentation slides can be found here.

Additional considerations for the design can be found on the website of IBR.

Material

The material is only available to registered attendees. In order to register, you need either an IBR POSIX account or a self-activated IBR-y-account. Afterwards you can login to this site.
Chapter
Slides
Exercises
1. Atomic operations, from basics to advanced
pdfpdfpdf
2. How to secure applications using SGX?
pdfpdfpdf
3. Lessons learned from building applications completely in Rust
pdfpdfpdf
4. How to implement a Linux device driver?
pdfpdfpdf
5. Educational OS
pdfpdfpdf
6. Trusted counter using SGX Rust SDK
pdfpdfpdf
7. Using RDMA efficiently
pdfpdfpdf
8. Conflict-free Replicated Data Types(CRDTs)
pdfpdfpdf
9. Multiple Enclaves with Intel VCA
pdfpdfpdf
Schedule
[ Subscribe Calendar | Download Calendar ]
09.04.2019, 13:15
Kick-off Meeting (IZ Raum 105)
21.05.2019, 13:15
Presentation "Atomic operations, from basics to advanced" (IZ Raum 105)
28.05.2019, 13:15
Presentation "How to secure applications using SGX?" (IZ Raum 105)
28.05.2019, 13:15
Presentation "Building applications completely in Rust" (IZ Raum 105)
04.06.2019, 13:15
Presentation "How to implement a Linux device driver?" (IZ Raum 105)
18.06.2019, 13:15
Presentation "Educational Operating Systems" (IZ Raum 105)
25.06.2019, 13:15
Presentation "Using Rust SGX SDK to implement a trusted counter" (IZ Raum 105)
02.07.2019, 13:15
Presentation "Efficient use of Remote Direct Memory Access" (IZ Raum 105)
09.07.2019, 13:15
Presentation "Conflict-free Replicated Data Types (CRDTs)" (IZ Raum 105)
09.07.2019, 13:15
Presentation "Multiple Enclaves with Intel VCA" (IZ Raum 105)
References

Slides and template:

  • Essay Review Template
  • Kick-Off
  • Deadlines

On World-Wide-Web, there are different ways to enhance your seminar presentations:

  • How to Read a Paper, S. Keshav, University of Waterloo
  • How to Give a Talk, Paul N. Edwards, School of Information, University of Michigan
  • How to Give a Good Presentation

For the literature review there links might be helpful:

  • ACM Digital Library
  • IEEE Xplore
  • Network Bibliography
  • Citeseer (Research Index) citation index
  • Google Scholar

(La)TeX Tips + Tricks


last changed 2020-07-14, 15:34 by Ines Messadi

For All Visitors

Vacancies of TU Braunschweig
Career Service' Job Exchange 
Merchandising

For Students

Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard

Internal Tools

Glossary (GER-EN)
Change your Personal Data

Contact

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig

P. O. Box: 38092 Braunschweig
GERMANY

Phone: +49 (0) 531 391-0

Getting here

© Technische Universität Braunschweig
ImprintPrivacyAccessibility