ITEO
IT Engineering & Operations HSLU FS19
IT Engineering & Operations HSLU FS19
Kartei Details
Karten | 60 |
---|---|
Lernende | 16 |
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 12.06.2019 / 22.05.2022 |
Weblink |
https://card2brain.ch/box/20190612_iteo
|
Einbinden |
<iframe src="https://card2brain.ch/box/20190612_iteo/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Cloud-Computing & Outsourcing
Welche wichtigen Eigenschaften weist eine Cloudeinfrastruktur respektive ein Cloud-Dienst auf? (5)
Eine Cloudeinfrastruktur respektive ein Cloud-Dienst muss fünf wichtige Eigenschaften aufweisen:
- On Demand Self Service: Selbstzuweisung von Leistungen aus der Cloud durch den oder die Nutzer, die bei Bedarf bereitstehen sollen.
- Rapid Elasticity / Scalability: Funktionen können schnell und dynamisch bereitgestellt werden, wenn möglich sogar automatisch. Aus Sicht der Benutzer erscheint die verfügbare Kapazität als «unlimitiert» und kann jederzeit in beliebigem Umfang erworben werden.
- Broad network access: Die Services sind über ein Netzwerk (intern oder Internet) verfügbar und können über standardisierte Schnittstellen und Mechanismen genutzt werden auf unterschiedlichen Plattformen (PC oder Mobiles).
- Resource pooling: Die Computer Ressourcen wie Speicher, Netzwerk oder CPU-Power des Providers werden gebündelt und sind meistens virtualisiert und können dynamisch vergeben werden. Typischerweise kennt der Nutzer eines Services auch nicht den Ort der Erbringung (Ortsintransparenz).
- Measured Service: Die Qualität der Cloudsysteme und – dienste werden fortlaufend durch den Dienstanbieter überwacht und die Qualität sichergestellt. Dies ermöglicht eine Transparenz der Nutzung des Cloudservice sowohl für den Dienstnutzer wie für den Cloud-Provider
DevOps
Was versteht man unter DevOps?
- DevOps ist ein "Kunstwort" - zusammengesetzt aus den beiden realen Begriffen "Development" und "Operations".
- DevOps ist eine Denkweise und Methodik sowie Kultur der Zusammenarbeit zwischen Applikationsentwicklung (Development) und Betrieb (Operations)
Virtualisierung im Datacenter
Welches sind die Speicherorganisationen von Multiprozessorsystemen?
Erkläre deren Eigenschaften.
Shared Memory Architekturen:
UMA (Uniform Memory Access)
Es gibt es nur einen globalen Speicher, auf den von allen Prozessoren aus einheitlich zugegriffen werden kann. Im Idealfall jeweils mit derselben Bandbreite und Latenzzeit, weshalb solch ein System auch Symmetrisches Multiprozessorsystem (SMP) genannt wird.
- Alle Prozessoren (P) haben direkten Zugriff auf alle Speicherstellen (M)
- einfacher und schneller Kommunikationsmechanismus
- Private-Memory: mehrere lokale Addressräume
NUMA (Non-Uniform Memory Access)
Jeder Prozessor einen eigenen, „lokalen“ Arbeitsspeicher , aber anderen Prozessoren über einen gemeinsamen Adressraum „direkten“ Zugriff darauf gewährt (Distributed Shared Memory). Die Speicherzugriffszeiten für eine CPU in einem solchen Verbund hängen daher davon ab, ob sich eine Speicheradresse im CPU-eigenen „lokalen“ oder im „fremden“ Speicher (einer anderen CPU) befindet.
- meistens werden 2 oder mehr SMPs physikalisch verbunden.
- Shared-Memory: ein globaler linearer Addressraum
- Ein SMP kann auf das Memory der anderen SMPs zugreifen (remote).
- Nicht alle Prozessoren haben die gleiche Zugriffszeit auf das Memory. Speicherzugriffszeit = f(Speicheradresse)
- Wenn Cache Kohärenz unterhalten wird, reden wir von CC-NUMA
Virtualisierung im Datacenter
Welche Multi Prozessor Architektur gibt es und wie zeichnet sich diese aus?
Symmetrische Multiprozessoren (SMP)
Ein stand-alone Computer mit den folgenden Charakteristika:
- Zwei oder mehr gleichartige Prozessoren mit vergleichbaren Möglichkeiten.
- Prozessoren teilen sich das gleiche main Memory und sind über einen Bus oder andere interne Verbindungen zusammengeschaltet.
- Prozessoren teilen sich die I/O Devices.
- Alle Prozessoren können die gleichen Funktionen ausführen (daher die Bezeichnung „symmetrisch“).
- Das System wird durch ein integriertes OS kontrolliert. Dieses stellt die Interaktion her zwischen Prozessoren und deren Programmen auf dem Level von Job, Task. File und Daten-Elementen.
Virtualisierung im Datacenter
Welche Multi Core Architektur gibt es und wie zeichnet sich diese aus?
Virtualisierung im Datacenter
Welche Lösungen zur Behebung von Cachekohärenz-Problemen gibt es?
Cachekohärenzprotokolle:
Es werden Snoopy und Directory-Protokolle unterschieden:
Snoopingbasiert (Snoop)
Da alle Zugriffe über gleiches Medium verlaufen (Bus, Switch) können die Cachecontroller beobachten und erkennen welche Blöcke sie selbst gespeichert haben.
Verzeichnisbasiert (Directory)
Zentrale Liste mit Status aller Cache Blöcken. Welcher Prozessor hat was?
Read-Only= Shared, exclusivewrite= Exclusive)
Ab 64 Prozessoren oder Cores werden ausschliesslich Directory basierende Protokolle eingesetzt, da die Bandbreite des Busses nicht ausreichend skaliert
Verwendung eines gemeinsamen Caches:
Grosser Hardwareaufwand, Sequentialisierung der Speicherzugriffe.
Virtualisierung im Datacenter
Auf welche Arten können Prozessoren vernetzt werden?
Lineares Feld
Das lineare Feld ist das einfachste Verbindungsnetzwerk Aufgrund der besonderen Stellung der Endknoten ist das lineare Feld asymetrisch.
Ring
Der Ring ist ein asymetrisches Netzwerk. Im Gegensatz zum linearen Feld können die Verbindungen im Ring uni- oder bidirektional ausgelegt sein. Wir gehen von bidirektionalen
Verbindungen aus.
Stern
Der Stern ist ein asymetrisches Netzwerk mit einem herausragenden
Zentrumsknoten
Baum
Ein Baum ist ein asymetrisches Netzwerk. Als Beispiel wird ein ausgewogener binärer Baum
betrachtet.
Koppelnetze (Bsp. Crossbar Switch)
Hypercube
Virtualisierung im Datacenter
Welches sind die Process Control Structures?
Prozess Location
- Ein Prozess enthält ein oder mehrere Programme zum ausführen.
- Ein Prozess muss mindestens genug Memory aufweisen um das Programm und dessen Daten zu halten.
- Die Ausführung des Programmes involviert typischerweise einen Stack der verwendet wird um die Ausführung von Prozeduraufrufen und das Mitgeben von Parametern zu diesen ermöglicht.
Prozess Attributes
- Jeder Prozess verfügt über eine Anzahl von Attributen die verwendet werden um dem OS die Kontrolle über diesen Prozess zu ermöglichen.
- Die Sammlung des Programms, Daten, Stack und Attributen wird als Prozess Image bezeichnet.
- Der Standort vom Prozess Image hängt vom verwendeten Memory Management Schema ab.
Virtualisierung im Datacenter
Auf welche Arten können Prozess unterbrochen werden?
Hardware Interrupt:
kommen von externen Events wie zB. I/O Device oder Clock (meldet die vergangene Zeit). HW Interrupt sind asynchron.
Hardware Trap:
HW Traps sind synchron oder asynchron und stehen in Beziehung zum momentan in Ausführung befindlichen Prozess. HW Traps sind zB. Division durch NULL oder Indirektion durch einen invaliden Pointer.
Software-initiated Trap:
werden vom System verwendet um einen Event zu forcieren wie zB. so schnell wie möglich ein Prozess re-scheduling oder Netzwerkpacket Verarbeitung zu erzwingen. SW iniziierte Traps setzen ein Flag das immer ge-checked wird wenn
der Prozess sich auf ein Exit aus dem Kernmodus vorbereitet.
Virtualisierung im Datacenter
Welches sind die Gründe für HW-Virtualisierung?
- Ressourcen Optimierung
- Konsolidierung
- Maximierung der Uptime
- Schutz der Applikation von Serverausfällen
- Einfache Migration wenn Anforderungen wechseln
- Schutz der Investitionen in existierende „legacy Systems“
Virtualisierung im Datacenter
Welche verschiedenen Arten von HW Virtualisierung gibt es?
Beschreibe diese.
Direct Execution
- x86 kennen 4 Levels von Privilegien.
- User Level Programme laufen nicht Privilegiert Ring 3
- Das OS braucht HW Zugriff Ring 0
- Ein Virtualisierungsschicht muss unter Ring 0 gelegt werden!
oder..
- Es braucht eine Schnittstelle vom Hypervisor mit speziellem Befehlssatz
Full Virtualization mit Binary Translation
- Kombination zwischen direkter Ausführung und binary translation.
- User Level Code wird direkt ausgeführt.
- Nicht ausführbarer kontrollkritischer Code wird übersetzt (nur beim ersten mal) und im Cache abgelegt.
- Übersetzter Kernel Code ersetzt nun nicht virtualisierbare Instruktionen.
- Keine HW Unterstützung nötig.
- Gast OS ist voll abstrahiert, hat keine Ahnung dass es in einer VM läuft.
OS Unterstützte (Para) Virtualisierung
- Para (griechisch = neben) bezieht sich auf Kommunikation zwischen Gast OS und Hypervisor um die Geschwindigkeit zu erhöhen.
- Kernel vom OS muss modifiziert werden um nicht virtualisierbare Instruktionen mit Hypercalls zu ersetzen die direkt mit dem VirtualizationLayer Hypervisor kommunizieren.
- Der Hypervisor stellt Hypercall Interfaces zur Verfügung.
- Keine unmodifizierte Gast OS!
HW unterstützte Virtualisierung
- Neuer CPU Modus eingeführt.
- Erlaubt Ausführung unterhalb Ring 0.
- Privilegierte und sensitive Calls trapen automatisch zum Hypervisor ohne binary translation.
- Der Gast Status wird in virtual machinecontrolstructures abgespeichert.
- CPUs seit 2006 erhältlich.
Virtualisierung im Datacenter
Welche Eigenschaften zeichnen ein OS Virtualisierung aus?
Was kann sie und was nicht?
Eigenschaften
- verwendet keinen Hypervisor.
- also kein „Trap and Emulate“.
- braucht daher auch nur ganz wenige zusätzliche Prozessorzyklen (zB: mapping von UID zu vUID).
- verwendet nur einen Kern
Was kann sie
- Stellt eine feingranulare Kontrolle der individuellen Prozesse und Applikationen zur Verfügung.
- Erlaubt die Isolation von Applikationen.
- Transparente Migrationen von Applikationen* möglich. Im Gegensatz zum Hypervisor der nur ganze OS Instanzen migriert
Was kann sie nicht
- Keine „fremden“ OS möglich. Nur gleiche OS können virtualisiert werden. Beispiel: kein Windows Programme möglich auf Linux Kern.
- Zonen müssen auf dem selben Patch Level laufen wie OS/Kern. § Anforderungen an SysAdmin steigen (bei Hypervisor auch)
- Ressource Management muss eingeschaltet werden
Virtualisierung im Datacenter
Welches sind die formalen Anforderungen an einen Hypervisor?
Gleichheit
- Jedes Programm ausgeführt in einer virtuellen Maschine verhält sich genau so wie auf der original Maschine direkt ausgeführt.
Effektivität
- Wann immer möglich sollten die Instruktionen nicht auf dem virtuellen Prozessorsondern direkt auf dem physischen Prozessor ausgeführt werden (ohne Intervention von der VMM).
- harmlose Instruktionen werden von der Hardware direkt ausgeführt.
Ressourcenkontrolle
- VMM hat die komplette Kontrolle über Ressourcen wie Memory, I/O der Peripheriegeräte, aber nicht unbedingt über Prozessoraktivität.
- Es muss für jedes Programm unmöglich sein die System Ressourcen zu beeinflussen (z.B. verfügbares Memory). Der Verteiler (Allocator) des Kontroll-Programmes muss bei jedem dieser Versuche aufgerufen werden.
Virtualisierung im Datacenter
Was sind die Vorteile von Virtualisierung?
- Workload Isolation
- Aufteilung in kleinere Systeme
- Workload Consolidation
- Zusammenfassung mehrer Systeme auf einer Hardware (Hardwareausnützung)
- Workload Migration
- Wechsel eines Systems von einem Host auf einen anderen
- Workload Embedding
- gleiche Applikationen auf gleichem System laufen lassen
- gleichen Kernel oder Ressourcen nützen
- gut möglich bei gleichem Betriebsystem
Virtualisierung im Datacenter
Wie wird ein Prozess erzeugt?
- Prozess wird erzeugt durch den Kernel system call, fork()
- Alloziere einen freien Platz in der Prozesstabelle fuer den neuen Prozess
- Vergib eine einzigartige Prozess ID fuer den Child Prozess
- Mach eine Kopie vom Parent-Prozess Image mit der Ausnahme vom gesharten Memory
- Inkrementiere die Zähler für jedes File das vom Parent besitzt wird um anzuzeigen, dass ein zusätzlicher Prozess diese Files auch besitzt
- Füge den Child Prozess der ready to run Queue zu
- Retourniere die ID Nummer vom Child Prozess zum Vater Prozess und den Wert 0 zum Child Prozess