Projektseminar Vorstellung: Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning Frank Glinka, Alexander Ploß, Sergei Gorlatch University of Muenster, Germany
Characteristics of (Scalable) Online Games Online games requirements and challenges: huge number of concurrent users in a single application instance (e.g., more than 40.000 simultaneous participants in Eve Online), high update rate (5-100 updates/sec), short response time to actions (< 100ms), high-latency and low-bandwidth Internet connections, variable and daytime-dependent user load, mechanisms for trust and security.
Characteristics of IaaS Solutions Key characteristics of Infrastructure as a Service include: Resources delivered as a service including servers, network equipment, memory, CPU, disk space, data center facilities, Dynamic scaling of infrastructure which scales up and down based on application resource needs Variable cost service using fixed prices per resource component Multiple tenants typically coexist on the same infrastructure resources Enterprise grade infrastructure allows mid-size companies to benefit from the aggregate compute resource pools
Characteristics of IaaS Solutions Key characteristics of Infrastructure as a Service include: Resources delivered as a service including servers, network equipment, memory, CPU, disk space, data center facilities, Dynamic scaling of infrastructure which scales up and down based on application resource needs Variable cost service using fixed prices per resource component Multiple tenants typically coexist on the same infrastructure resources Enterprise grade infrastructure allows mid-size companies to benefit from the aggregate compute resource pools Current State: High up-front investment for game service providers Over provision or shortage of resources during peaks High write-offs when users stop subscription / playing Goal Exploit characteristics for online game service provision
Typical Use Case Development of an MMOG completed (e.g. Warhammer Online) Huge infrastructure is bought or rented through fixed agreements Software is statically deployed and run 24/7 at maximum capacity User grow is unpredictable, might be fast/slow and high/low Resources are underused or users experience congested service
Typical Use Case Seminar Objective Development of an MMOG completed (e.g. Warhammer Online) Huge infrastructure is bought or rented through fixed agreements Software is statically deployed and run 24/7 at maximum capacity User grow is unpredictable, might be fast/slow and high/low Resources are underused or users experience congested service IaaS solutions are evaluated and used for provision Software is deployed on-demand at IaaS provider As user demand grows, more resources are rented As user demand drops, resources are freed Advantage Reduced financial investments and risks
Project Basis and Objectives The basis for your project: Real-Time Framework: Novel middleware technology for a high-level development of scalable real-time online services Demonstrators: Applications on top of the Real-Time Framework (RTF), which are: Resource independent Scalable (adding resources) Manageable Objectives for your project: System for deployment and management of demonstrators on IaaS solutions Estimation techniques how RTF-based applications perform on IaaS solutions
What we have: RTF (1/2) Runtime Management Monitoring Controlling Your main concern RTFDemo Video
What we have: HMIDemo (2/2) Allows to start an app. on a specific resource Allows to add a resource to a running app. Move app. load between resources Monitor certain metrics of the running app. Everything manually! Short Demo
Short illustration Game Service Operator Provides Game to Players Automatically deploy & start Manually deploy & start Communication That s what we have want Resources of Game Service Operator Resources within Cloud available on demand
Projektaufgabe (1/2) Im Team ein lauffähiges und kommentiertes Softwaresystem entwerfen, implementieren, evaluieren und öffentlich präsentieren Konkret: Entwicklung eines Run-Time Resource Management System für RTF-basierte interaktive Echtzeitanwendungen Verwendung dieses Systems zum Betrieb verteilter interaktiver Anwendungen (Online-Spiele, Kollaborative Anwendungen, Interaktive Simulationen) Herausforderungen und Lernziele: Praktische Arbeit mit aktuellen Techniken und Mechanismen verteilter Systeme: Web-Service Interfaces, Soft Real-Time Anforderungen, Netzwerkcharakteristiken, Performance Abschätzungen, Virtuelle Maschinen Verstehen und Benutzen der RTF Middleware und dessen Management Interface Evaluieren des entwickelten Software System auf kommerziellen Plattformen
Projektaufgabe (2/2) Zu erfüllende Systemeigenschaften: Bestimmen und modellieren von notwendigen Deployment Informationen Resource Management anhand der Deployment Informationen zur Laufzeit Modellieren und Sammlung von Kenngrößen für Performance Überwachung und Vorhersage/Guidelines Generisch einsetzbar, d.h. Anwendungsunabhängig IaaS Anbieter unabhängig (im wesentlichen) Optionale Systemeigenschaften: Übersichtliche Aufbereitung / Auswertung von gesammelten Kenngrößen Besonders Interessant: Probleme und Lösungsstrategien Overhead von IaaS (Start-Up, Netzwerk, VM penalties, Responsiveness implications)
Projekt: Ablauf (1/2) Start: Vorlesungsbeginn WS09/10 (12. Oktober) 2 Phasen: 1. Phase (Prototyp): Relativ starke Vorgaben von uns 2. Phase: Im wesentlichen selbständiges Arbeiten Wöchentliche Treffen: Zwischenstandsbericht, Diskussion (falls nötig) Entwicklung in Teams, voraussichtlich: 1. Deployment & Runtime Resource Reservation: Interaktion mit IaaS systemen 2. Runtime monitoring: Überwachen & Steureung, Sammeln von Daten 3. Performance Vorhersage/Guidelines: Abschätzungen zum Verhalten der Anwendung Infrastruktur von uns bereit gestellt: Eigener Raum, SVN, Trac, Mailingliste Jede/r Teilnehmer/in wird für eigenen Teilbereich verantwortlich sein!
Projekt: Ablauf (2/2) Meilensteine und Präsentation der (Zwischen-)Ergebnisse 1. Referat (VL-Begin, 12.10.) Vorstellung von Grundlagen, Individuell von jedem Teilnehmer (!), Kurzer Vortrag (10 15min pro Teilnehmer) zu einem relevanten Thema / Paper, mit Laptop + Beamer 2. Zwischenpräsentation / Ende 1. Phase, Prototyp ( 25.11.): Vorstellung des Entwurf und Design des Systems Grundlegende Features, erste Implementierung von Komponenten Diskussion: Probleme und Erweiterungen Abschlusspräsentation / Ende 2. Phase (VL-Ende, 5.02.): Finale Version, Erweiterte Features, generisches System Diskussion: Anwenden des Systems, Evaluation, Erfahrungsbericht Ausarbeitung / Ende Seminar (Sem.-Ende 31.03) 10-15 Seiten pro Teilnehmer die die geleistete Arbeit beschreiben und dokumentieren Basis für gemeinsame Publikationen
Projektvorstellung Abschluss Wir erwarten viel, bieten aber auch einiges dafür: Intensive Betreuung (min. 2 Wissenschaftliche Mitarbeiter, 1 TA) Veröffentlichungen als Ziel Ausgangspunkt für Diplomarbeiten Lernziel und Bewertungskriterien: Teamarbeit Anwendung Softwareentwicklungsprozess Wissenschaftliche Vorgehensweise (Modellierung und Evaluation) Intensives Einarbeiten in verschiedene Aspekte von Verteilten Systemen Verständnis von Echtzeit- und Quality of Service-Anforderungen Vorträge (mindestens zwei pro Teilnehmer) Schriftliche Ausarbeitung am Ende Anmeldung per Email an: glinkaf@uni-muenster.de Ende Fragen?