All Projects → vijay03 → Cs360v F20

vijay03 / Cs360v F20

Licence: other
CS 360V Virtualization, Fall 2020, UT Austin CS Dept. Instructor: Vijay Chidambaram. Copyright held by Vijay Chidambaram and UT Austin.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cs360v F20

Hvpp
hvpp is a lightweight Intel x64/VT-x hypervisor written in C++ focused primarily on virtualization of already running operating system
Stars: ✭ 637 (+1037.5%)
Mutual labels:  virtualization
Terraform Provider Libvirt
Terraform provider to provision infrastructure with Linux's KVM using libvirt
Stars: ✭ 894 (+1496.43%)
Mutual labels:  virtualization
Rpot
Real-time Packet Observation Tool
Stars: ✭ 38 (-32.14%)
Mutual labels:  virtualization
Crc
Red Hat CodeReady Containers is a tool that manages a local OpenShift 4.x cluster optimized for testing and development purposes
Stars: ✭ 676 (+1107.14%)
Mutual labels:  virtualization
Kvm Guest Drivers Windows
Windows paravirtualized
Stars: ✭ 892 (+1492.86%)
Mutual labels:  virtualization
Nemu
Modern Hypervisor for the Cloud
Stars: ✭ 887 (+1483.93%)
Mutual labels:  virtualization
Virtlet
Kubernetes CRI implementation for running VM workloads
Stars: ✭ 620 (+1007.14%)
Mutual labels:  virtualization
Kata Containers
Kata Containers version 2.x repository. Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. https://katacontainers.io/
Stars: ✭ 1,053 (+1780.36%)
Mutual labels:  virtualization
Sheepdog
Distributed Storage System for QEMU
Stars: ✭ 896 (+1500%)
Mutual labels:  virtualization
Ideas
Ideas for protecting C/C++
Stars: ✭ 37 (-33.93%)
Mutual labels:  virtualization
Xcp
Entry point for issues and wiki. Also contains some scripts and sources.
Stars: ✭ 752 (+1242.86%)
Mutual labels:  virtualization
Droidplugin
A plugin framework on android,Run any third-party apk without installation, modification or repackage
Stars: ✭ 6,683 (+11833.93%)
Mutual labels:  virtualization
Eschool
eSchool Microservice based Solution
Stars: ✭ 29 (-48.21%)
Mutual labels:  virtualization
Ksm
A fast, hackable and simple x64 VT-x hypervisor for Windows and Linux. Builtin userspace sandbox and introspection engine.
Stars: ✭ 673 (+1101.79%)
Mutual labels:  virtualization
Osx Vm Templates
macOS templates for Packer and VeeWee.
Stars: ✭ 1,050 (+1775%)
Mutual labels:  virtualization
Drakvuf
DRAKVUF Black-box Binary Analysis
Stars: ✭ 628 (+1021.43%)
Mutual labels:  virtualization
Awesome Virtualization
Collection of resources about Virtualization
Stars: ✭ 846 (+1410.71%)
Mutual labels:  virtualization
Awesome Osx
📦 Awesome stuff for OSX
Stars: ✭ 54 (-3.57%)
Mutual labels:  virtualization
Virtual Each
Ember infinite list component, inspired by react-infinite-list
Stars: ✭ 51 (-8.93%)
Mutual labels:  virtualization
Addon Lxdone
Allows OpenNebula to manage Linux Containers via LXD
Stars: ✭ 36 (-35.71%)
Mutual labels:  virtualization

CS 360V Virtualization (Fall 2020)

Welcome to CS 378 Virtualization for undergrads. This is a course designed to expose undergraduate students to the latest in virtualization technologies such as virtual machines, containers, serverless, etc. The course also has two significant project components to be completed over the course of the semester.

This course will introduce students to a range of exciting topics including:

  • Basics of Virtual Machines
  • Basics of Containers
  • How CPU is Virtualized
  • How Storage is Virtualized
  • How Network is Virtualized
  • Nested Virtualization
  • Hardware Features Assisting Virtualization
  • Deploying Virtual Machines
  • Orchestrating Containers
  • Datacenters and Virtualization

Aside from teaching you the concepts behind virtualization, this course is meant to get you familiar with the commonly used tools and software. You should get used to using virtual machines, and containers. You will gain more experience with Git, and with real-world code bases.

Piazza Link: piazza.com/utexas/fall2020/cs360v

Canvas Link: https://utexas.instructure.com/courses/1290530

Class Timing and Location: TuTh 2 pm - 3:30pm on Zoom

Schedule

Instructor: Vijay Chidambaram

Email: [email protected]

Office hours: 2-3 PM CST Friday, Zoom

TA: Soujanya Ponnapalli

Email: [email protected]

Office hours: Monday 5-6 PM CST, Zoom

TA: Aashaka Shah

Email: [email protected]

Office hours: Wednesday 5-6 PM 10-11 AM CST, Zoom

Grading

50% Project: implementing your own hypervisor
50% Project: contributing to an open-source repository related to virtualization

Extra Credit

You can earn upto 1% extra credit if your patches get accepted to any open-source repository related to virtualization.

0.5%: Any patch at all, no restrictions, could be a one line fix to a simple bug.
0.5%: This needs to be a more substantial patch, requiring technical thought and care.

Note that these extra-credit activities will also serve you well in hunting for jobs or internships: getting a patch accepted in a project is impressive.

Quizzes

There will be ungraded quizzes throughout the course to cement your understanding of the material.

Reading

These books are not required, but are useful for the class. The same information is also available freely online.

Hardware and Software Support for Virtualization
Edouard Bugnion, Jason Nieh, Dan Tsafrir, and Margaret Martonosi

https://search.lib.utexas.edu/permalink/01UTAU_INST/be14ds/alma991057986159206011 (Available for free in the UT Library) https://ebookcentral-proquest-com.ezproxy.lib.utexas.edu/lib/utxa/detail.action?docID=4815368

Projects

There will be two big projects in the course. Students will work in groups of two or three for both projects.

The first project will involve building parts of your own hypervisor. You will need to know the basics of operating systems, C, and assembly to complete this project. README for project one, lab-1: https://github.com/vijay03/cs360v-f20/blob/master/Project1.md

The second project is open-ended, and will involve adding a new feature to any open-source project related to virtualization and containers. Students will propose what they want to do, get the proposal approved, and then present on what they did at the end of the semester. You are encouraged to add a useful feature to an open-source project (and potentially get it merged with the code base). More details here: https://github.com/vijay03/cs360v-f20/blob/master/project-open-source.md.

More details about the projects will be added shortly.

Deadlines (tentative)

Oct 25 Project 1 due
Dec 3-5 In-class presentations about open-source contributions
Dec 12 Report due about open-source contributions

Course Policies

Students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 512-471-6259, http://www.utexas.edu/diversity/ddce/ssd/.

Religious Holy Days: A student who is absent from an examination or cannot meet an assignment deadline due to the observance of a religious holy day may take the exam on an alternate day or submit the assignment up to 24 hours late without penalty, if proper notice of the planned absence has been given. Notice must be given at least 14 days prior to the classes which will be missed. For religious holy days that fall within the first 2 weeks of the semester, notice should be given on the first day of the semester. Notice must be personally delivered to the instructor and signed and dated by the instructor, or sent certified mail. Email notification will be accepted if received, but a student submitting email notification must receive email confirmation from the instructor.

Collaboration

  1. The students are encouraged to do the projects in groups of two or three.
  2. Each student must present.
  3. I strongly encourage you to discuss the projects and assignments with anyone you can. That's the way good science happens. But all work and writeup for the assignment must be your own, and only your own.
  4. As a professional, you should acknowledge significant contributions or collaborations in your written or spoken presentations.
  5. The student code of conduct is here. Intellectual dishonesty can end your career, and it is your responsibility to stay on the right side of the line. If you are not sure about something, ask.
  6. The penalty for cheating on an exam, project or assignment in this course is an F in the course and a referral to the Dean of Students office.
  7. You cross over from collaboration to cheating when you look at another person/team's source code. Discussing ideas is okay, sharing code is not.
  8. You also may not look at any course project material relating to any project similar to or the same as this course's class projects. For example, you may not look at the work done by a student in past years' courses, and you may not look at similar course projects at other universities.
  9. All submitted work must be new and original.

Late Policy

  1. All projects/assignments must be submitted in class the day they are due.
  2. For each day a project/assignment is late, you lose 5% of the points for that project. So if you submit two days after the deadline, your maximum points on that project will be 90%.
  3. In this class, it is always better to do the work (even late) than not do it at all.
  4. If you become ill: contact the instructor. A medical note is required to miss an exam.

Acknowledgements

This course is inspired by (and uses material from) courses taught by Don Porter, Alison Norman, Remzi Arpaci-Dusseau, Simon Peter, and Chris Rossbach.

Copyright

Copyright Notice: These course materials, including, but not limited to, lecture notes, homeworks, and projects are copyright protected. You must ask me permission to use these materials.

I do not grant to you the right to publish these materials for profit in any form. Any unauthorized copying of the class materials is a violation of federal law and may result in disciplinary actions being taken against the student or other legal action against an outside entity. Additionally, the sharing of class materials without the specific, express approval of the instructor may be a violation of the University's Student Honor Code and an act of academic dishonesty, which could result in further disciplinary action. This includes, among other things, uploading class materials to websites for the purpose of sharing those materials with other current or future students.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].