Die Vorlesung behandelt aktuelle Modellierungs-, Entwicklungs- und Verarbeitungskonzepte DB-basierter Anwendungssysteme. Hierzu gehört insbesondere die Verarbeitung strukturierter, semi-strukturierter und unstrukturierter Daten sowie Techniken zur Integration von Informationen aus heterogenen Datenquellen. Unter anderem werden folgende Themenbereiche vertieft: - XML und Datenbanktechnologie (XML-Modellierung, XML-Speicherung, XML-Anfragesprachen, - XML-Verarbeitung) - Content Management (Enterprise Content Management, Information Retrieval, Suchtechnologien) - NoSQL Datenmanagement (Key value stores, MapReduce, triple stores, document stores, graph stores)
Die Vorlesung behandelt aktuelle Modellierungs-, Entwicklungs- und Verarbeitungskonzepte DB-basierter Anwendungssysteme. Hierzu gehört insbesondere die Verarbeitung strukturierter, semi-strukturierter und unstrukturierter Daten sowie Techniken zur Integration von Informationen aus heterogenen Datenquellen. Unter anderem werden folgende Themenbereiche vertieft: - XML und Datenbanktechnologie (XML-Modellierung, XML-Speicherung, XML-Anfragesprachen, - XML-Verarbeitung) - Content Management (Enterprise Content Management, Information Retrieval, Suchtechnologien) - NoSQL Datenmanagement (Key value stores, MapReduce, triple stores, document stores, graph stores)
Data engineering involves any data processing necessary to prepare data for subsequent use, e.g., for data analysis. This lecture covers foundations, algorithms, and systems on selected topics of data engineering. These include:
- Data collection: how do we find relevant data sources? - Big Data integration: Given the unique properties of big data, how can data from multiple data sources be combined to get a more global perspective on a subject to be analyzed? - Data quality and data cleaning: How can important properties and errors of data be assessed and corrected? - Data distribution:What modern technologies support the wide dissemination of data? - Provenance: How can the whole data engineering process be documented, controlled, and improved leveraging so-called meta-data describing the data processing?
Data engineering involves any data processing necessary to prepare data for subsequent use, e.g., for data analysis. This lecture covers foundations, algorithms, and systems on selected topics of data engineering. These include:
- Data collection: how do we find relevant data sources? - Big Data integration: Given the unique properties of big data, how can data from multiple data sources be combined to get a more global perspective on a subject to be analyzed? - Data quality and data cleaning: How can important properties and errors of data be assessed and corrected? - Data distribution:What modern technologies support the wide dissemination of data? - Provenance: How can the whole data engineering process be documented, controlled, and improved leveraging so-called meta-data describing the data processing?
• Wave and information propagation algorithms• Termination detection• Fault tolerance in distributed systems• State machine replication• Synchronization and deadlocks
Software-defined networking (SDN) is a popular technology to increase the flexibility and efficiency of communication networks that caught a lot of attention and support from academia and industry (e.g., Google, Microsoft, NEC, Cisco, VMWare).SDN increases flexibility and efficiency by out-sourcing network control (e.g., routing) from network elements (switches) to a network controller running on standard servers. The network controller has a global view onto the network (logical centralization) and facilitates the implementation of network control logic “in software” using standard languages like C, Python, Java, or even declarative approaches.With OpenFlow, a first standard protocol for SDN is available that is implemented by hardware switches from several vendors and also software switches like Open vSwitch as typically used in data centers to connect virtual machines on hosts. Moreover, several open source controller implementations exist.
Software-defined networking (SDN) is a popular technology to increase the flexibility and efficiency of communication networks that caught a lot of attention and support from academia and industry (e.g., Google, Microsoft, NEC, Cisco, VMWare).SDN increases flexibility and efficiency by out-sourcing network control (e.g., routing) from network elements (switches) to a network controller running on standard servers. The network controller has a global view onto the network (logical centralization) and facilitates the implementation of network control logic “in software” using standard languages like C, Python, Java, or even declarative approaches.With OpenFlow, a first standard protocol for SDN is available that is implemented by hardware switches from several vendors and also software switches like Open vSwitch as typically used in data centers to connect virtual machines on hosts. Moreover, several open source controller implementations exist.
Note that in Summer Term 2024, the lectures will be mainly virtual with a few exceptions, while the tutorials will be in person as usual. Please see the ILIAS page for further information.
Many datasets and scientific problems are posed as high-dimensional problems, mapping from many inputs to target values. Learning from image data is a classic example that can map hundreds of thousands of colour values (pixel data) to the class of an object or to physical values such as temperature or energy, and simulations often depend on many input parameters. If the problems were really as high-dimensional as they are formulated, conventional algorithms would have to fail. Fortunately, the “real” dimensionality is usually much lower. But we have to identify and handle this relevant low-dimensional structure to be able to approximate/learn the underlying problem and to quantify the relevant dependencies. In this course:
• We will learn the properties of high-dimensional problems, with surprising implications.
• We will examine algorithms to analyse high-dimensional data, identify important parameters or combinations thereof (dimensional analysis, dimensionality reduction).
• We will learn how to approximate high-dimensional problems so that we can analyse them and predict in a lower-dimensional representation.
• We will understand the limitations of representative algorithms that can be suited for high-dimensional tasks, and we will implement and use them.
This course will bridge theory to practice, implementing and using selected algorithms for real-world data using Python.
Note that in Summer Term 2024, the lectures will be mainly virtual with a few exceptions, while the tutorials will be in person as usual. Please see the ILIAS page for further information.
Many datasets and scientific problems are posed as high-dimensional problems, mapping from many inputs to target values. Learning from image data is a classic example that can map hundreds of thousands of colour values (pixel data) to the class of an object or to physical values such as temperature or energy, and simulations often depend on many input parameters. If the problems were really as high-dimensional as they are formulated, conventional algorithms would have to fail. Fortunately, the “real” dimensionality is usually much lower. But we have to identify and handle this relevant low-dimensional structure to be able to approximate/learn the underlying problem and to quantify the relevant dependencies. In this course:
• We will learn the properties of high-dimensional problems, with surprising implications.
• We will examine algorithms to analyse high-dimensional data, identify important parameters or combinations thereof (dimensional analysis, dimensionality reduction).
• We will learn how to approximate high-dimensional problems so that we can analyse them and predict in a lower-dimensional representation.
• We will understand the limitations of representative algorithms that can be suited for high-dimensional tasks, and we will implement and use them.
This course will bridge theory to practice, implementing and using selected algorithms for real-world data using Python.
In der Veranstaltung werden insbesondere folgende Themen bearbeitet: - Einführung Industrie 4.0 und Industrial Analytics inkl. konkreten Anwendungsbeispielen aus der industriellen Praxis - Grundlagen industrieller Wertschöpfung, speziell industrielle Prozesse und Produktlebenszyklus - Industrielle IT-Systeme und industrielle Daten, z.B. MES, PLM- und ERP-Systeme - Datenplattformen für Industrial Analytics, insbesondere Data Lakes und Datenkataloge mit zugehörigen Architekturen und Technologien - Data-Analytics-Anwendungen, von Reporting bis Machine Learning - Data Governance und Datenstrategien im industriellen Umfeld - Praktische Übungen zu den o.g. Themenbereichen
In der Veranstaltung werden insbesondere folgende Themen bearbeitet: - Einführung Industrie 4.0 und Industrial Analytics inkl. konkreten Anwendungsbeispielen aus der industriellen Praxis - Grundlagen industrieller Wertschöpfung, speziell industrielle Prozesse und Produktlebenszyklus - Industrielle IT-Systeme und industrielle Daten, z.B. MES, PLM- und ERP-Systeme - Datenplattformen für Industrial Analytics, insbesondere Data Lakes und Datenkataloge mit zugehörigen Architekturen und Technologien - Data-Analytics-Anwendungen, von Reporting bis Machine Learning - Data Governance und Datenstrategien im industriellen Umfeld - Praktische Übungen zu den o.g. Themenbereichen
Die Vorlesung vermittelt wie wesentliche Artefakte eines IT Systems modelliert werden, den Zusammenhang und das Zusammenspiel solcher Artefakte sowie die Rolle von Metamodellen und deren Erstellung. Die Vorlesung beinhaltet folgende Themen: - Entity-Relationship Modell und komplexe Objekte - Relationenmodell und Relationenalgebra , Überblick SQL - Transformationen von ER nach Relationen, Normalisierung - XML, DTD, XML-Schema, Info-Set, Namensräume - Metamodelle und Repository - RDF, RDF-S und Ontologien - UML - Petri Netze, Workflownetze - BPMN
Die Vorlesung vermittelt wie wesentliche Artefakte eines IT Systems modelliert werden, den Zusammenhang und das Zusammenspiel solcher Artefakte sowie die Rolle von Metamodellen und deren Erstellung. Die Vorlesung beinhaltet folgende Themen: - Entity-Relationship Modell und komplexe Objekte - Relationenmodell und Relationenalgebra , Überblick SQL - Transformationen von ER nach Relationen, Normalisierung - XML, DTD, XML-Schema, Info-Set, Namensräume - Metamodelle und Repository - RDF, RDF-S und Ontologien - UML - Petri Netze, Workflownetze - BPMN
Die Vorlesung vermittelt wie wesentliche Artefakte eines IT Systems modelliert werden, den Zusammenhang und das Zusammenspiel solcher Artefakte sowie die Rolle von Metamodellen und deren Erstellung. Die Vorlesung beinhaltet folgende Themen: - Entity-Relationship Modell und komplexe Objekte - Relationenmodell und Relationenalgebra , Überblick SQL - Transformationen von ER nach Relationen, Normalisierung - XML, DTD, XML-Schema, Info-Set, Namensräume - Metamodelle und Repository - RDF, RDF-S und Ontologien - UML - Petri Netze, Workflownetze - BPMN
Die Vorlesung vermittelt wie wesentliche Artefakte eines IT Systems modelliert werden, den Zusammenhang und das Zusammenspiel solcher Artefakte sowie die Rolle von Metamodellen und deren Erstellung. Die Vorlesung beinhaltet folgende Themen: - Entity-Relationship Modell und komplexe Objekte - Relationenmodell und Relationenalgebra , Überblick SQL - Transformationen von ER nach Relationen, Normalisierung - XML, DTD, XML-Schema, Info-Set, Namensräume - Metamodelle und Repository - RDF, RDF-S und Ontologien - UML - Petri Netze, Workflownetze - BPMN
In den letzten Jahren sind, getrieben durch die Anforderungen innovativer Anwendungen und Dienste, eine Reihe neuer Technologien für vernetzte bzw. verteilte Systeme entstanden. So werden im Internet der Dinge eine Vielzahl von Geräten und Alltagsgegenständen mit Sensoren und Aktoren ausgestattet, mithilfe von meist drahtlosen Kommunikationstechnologien (z.B. BLE, ZigBee, 6LoWPAN, LoRaWAN) vernetzt und an das Internet angebunden. Ein entsprechender Trend findet sich im industriellen Internet der Dinge (IIoT, Industrie 4.0), in dem Maschinen, Werkzeuge, Logistik, usw. vernetzt werden. Ein weiterer Trend ist die Flexibilisierung und Effizienzsteigerung verteilter Systeme durch Virtualisierung (z.B. NFV) und „software-definierte“ Systeme (z.B. SDN), die flexible Anpassung und dynamische Skalierung ermöglichen. Getrieben durch die Popularität von Bitcoin wurden verschiedene Distributed Ledger-Technologien (z.B. Blockchain) und weiterführende Konzepte wie Smart Contracts entwickelt, die nicht nur als Grundlage elektronischer Währungen (z.B. Bitcoin, Ethereum) dienen, sondern allgemein Anwendungen unterstützen, in denen ein Konsens zwischen Parteien gefunden und dokumentiert werden muss. Ein weiteres Thema ist die Verringerung von Latenzen, indem beispielsweise zusätzlich zu entfernten Cloud -Ressourcen nahe Edge- und Fog-Ressourcen genutzt oder optimierte Kommunikationsprotokolle eingesetzt werden, die unter anderem einen raschen Verbindungsaufbau zwischen Client und Server ermöglichen. Neben stationären Netzen haben sich mobile (5G) Kommunikationstechnologien und Systeme rasch weiterentwickelt. So verwendet z.B. die Corona-Warn-App mobile Geräte privater Nutzer zur Kontaktverfolgung. Diese als Crowdsensing bezeichnet Methode kann allgemein zur Sammlung großer Mengen von geographisch verteilten Sensordaten verwendet werden. In diesem Seminar wird neben diesen Aspekten ein breites Spektrum aktueller Internet-Technologien, Protokolle und Standards diskutiert, welche die vernetzten und verteilten Anwendungen und Dienste ermöglichen. Mögliche weitere Themen umfassen Machine-to-Machine Communication (M2M), OPC-UA (Unified Architecture), Echtzeitkommunikation (Real-Time-Ethernet), WWW-Technologien und Protokolle (HTTP 2.0/SPDY), neue Transportprotokolle (QUIC, Multipath-TCP).
In den letzten Jahren sind, getrieben durch die Anforderungen innovativer Anwendungen und Dienste, eine Reihe neuer Technologien für vernetzte bzw. verteilte Systeme entstanden. So werden im Internet der Dinge eine Vielzahl von Geräten und Alltagsgegenständen mit Sensoren und Aktoren ausgestattet, mithilfe von meist drahtlosen Kommunikationstechnologien (z.B. BLE, ZigBee, 6LoWPAN, LoRaWAN) vernetzt und an das Internet angebunden. Ein entsprechender Trend findet sich im industriellen Internet der Dinge (IIoT, Industrie 4.0), in dem Maschinen, Werkzeuge, Logistik, usw. vernetzt werden. Ein weiterer Trend ist die Flexibilisierung und Effizienzsteigerung verteilter Systeme durch Virtualisierung (z.B. NFV) und „software-definierte“ Systeme (z.B. SDN), die flexible Anpassung und dynamische Skalierung ermöglichen. Getrieben durch die Popularität von Bitcoin wurden verschiedene Distributed Ledger-Technologien (z.B. Blockchain) und weiterführende Konzepte wie Smart Contracts entwickelt, die nicht nur als Grundlage elektronischer Währungen (z.B. Bitcoin, Ethereum) dienen, sondern allgemein Anwendungen unterstützen, in denen ein Konsens zwischen Parteien gefunden und dokumentiert werden muss. Ein weiteres Thema ist die Verringerung von Latenzen, indem beispielsweise zusätzlich zu entfernten Cloud -Ressourcen nahe Edge- und Fog-Ressourcen genutzt oder optimierte Kommunikationsprotokolle eingesetzt werden, die unter anderem einen raschen Verbindungsaufbau zwischen Client und Server ermöglichen. Neben stationären Netzen haben sich mobile (5G) Kommunikationstechnologien und Systeme rasch weiterentwickelt. So verwendet z.B. die Corona-Warn-App mobile Geräte privater Nutzer zur Kontaktverfolgung. Diese als Crowdsensing bezeichnet Methode kann allgemein zur Sammlung großer Mengen von geographisch verteilten Sensordaten verwendet werden. In diesem Seminar wird neben diesen Aspekten ein breites Spektrum aktueller Internet-Technologien, Protokolle und Standards diskutiert, welche die vernetzten und verteilten Anwendungen und Dienste ermöglichen. Mögliche weitere Themen umfassen Machine-to-Machine Communication (M2M), OPC-UA (Unified Architecture), Echtzeitkommunikation (Real-Time-Ethernet), WWW-Technologien und Protokolle (HTTP 2.0/SPDY), neue Transportprotokolle (QUIC, Multipath-TCP).
Parallelitätslevel Performanz- und Skalierbarkeitsmetriken parallele Matrix- und Vektoroperationen Datenabhängigkeitsgraphen parallele direkte Löser für lineare Gleichungssysteme parallele QR Zerlegung und Least Squares Probleme dünnbesetzte Matrizen parallele iterative Gleichungssystemlöser Gebietszerlegung parallele Zeitschrittverfahren
Parallelitätslevel Performanz- und Skalierbarkeitsmetriken parallele Matrix- und Vektoroperationen Datenabhängigkeitsgraphen parallele direkte Löser für lineare Gleichungssysteme parallele QR Zerlegung und Least Squares Probleme dünnbesetzte Matrizen parallele iterative Gleichungssystemlöser Gebietszerlegung parallele Zeitschrittverfahren
Practical Course Information Systems: Data-intensive Computing
Semester:
SS 24
Inhalt:
This practical course mainly focuses on data-intensive applications and how they process, analyze and store their data. Nowadays, the amount of data in applications is growing intensely. This data can be either structured, e.g., stored in relational database systems such as MySQL, or unstructured, e.g., stored in text documents, pictures or other media files. Deriving information and, as a consequence, knowledge from this data is a huge challenge. To cope with this issue, new data analytics and data storage technologies have been developed that focus on the one hand on deriving information from this large amount of structured and unstructured data (e.g., data mining, natural language processing, ...) and on the other hand on efficient data storage (e.g., NoSQL databases, column-stores, ...). Modern web technologies are used to provide the web frontend and to visualize huge data sets and analytic results. Furthermore, to enable fast, efficient application development as well as a high degree of accessibility, flexibility and scalability, cloud computing platforms are oftentimes used to implement such applications.
In this practical course, you will work in small teams. Each team will implement a new or extend an existing data-intensive application based on tasks that typically involve data analysis, data visualization, data storage and efficient data processing. The used infrastructure, e.g. a cloud-based infrastructure like IBM Cloud, depends on the application.
Practical Course Information Systems: Data-intensive Computing
Semester:
SS 24
Inhalt:
This practical course mainly focuses on data-intensive applications and how they process, analyze and store their data. Nowadays, the amount of data in applications is growing intensely. This data can be either structured, e.g., stored in relational database systems such as MySQL, or unstructured, e.g., stored in text documents, pictures or other media files. Deriving information and, as a consequence, knowledge from this data is a huge challenge. To cope with this issue, new data analytics and data storage technologies have been developed that focus on the one hand on deriving information from this large amount of structured and unstructured data (e.g., data mining, natural language processing, ...) and on the other hand on efficient data storage (e.g., NoSQL databases, column-stores, ...). Modern web technologies are used to provide the web frontend and to visualize huge data sets and analytic results. Furthermore, to enable fast, efficient application development as well as a high degree of accessibility, flexibility and scalability, cloud computing platforms are oftentimes used to implement such applications.
In this practical course, you will work in small teams. Each team will implement a new or extend an existing data-intensive application based on tasks that typically involve data analysis, data visualization, data storage and efficient data processing. The used infrastructure, e.g. a cloud-based infrastructure like IBM Cloud, depends on the application.
Das Programmierprojekt soll eine Einführung in die Welt des wissenschaftlichen Rechnens (Scientific Computing) und der Simulationen bieten. Dabei soll das Aufeinandertreffen zweier Galaxien mit Hilfe einer N-Körper Simulation umgesetzt werden.
Das Projekt soll in 3 Phasen unterteilt werden: 1. Kennenlernen des Problems und eine erste Implementierung des N-Körper Problems mittels des naiven brute-force Algorithmus. 2. Erweitern der Implementierung um den effizienteren, baum-basierten Barnes-Hut Algorithmus. 3. Performance Evaluierung und Wettbewerb.
Distributed systems are a corner stone of many services today. Distri-bution provides scalability of cloud services, implemented atop a mas-sive number of servers. For instance, Google’s data centers host an estimated 2.5 million servers! At the same time, distribution ensures reliability by replicating functions and data. This does not only apply to cloud services, but also to peer-to-peer networks as used for instance by the Bitcoin network, and mobile systems such as vehicular net-works, networks of unmanned aerial vehicles, etc. Such mobile sys-tems are inherently distributed geographically and are supported by edge cloud services located close to the mobile devices to reduce network latency. Last but not least, the Internet is evolving into an Inter-net of Things (IoT), where virtually everything can communicate through the Internet. Such distributed systems come with many challenges, as poignantly recognized by Urs Hölzl (Senior Vice President for technical infrastruc-ture at Google): „At scale, everything breaks ... Keeping things simple and yet scalable is actually the biggest challenge. It's really, really hard.“ Other challenges include consistency of replicated services, privacy, and protection against attacks if untrusted devices are in-volved. In this Master’s seminar, we take a deep dive into specific distributed and context-aware systems concepts that tackle these challenges. The topics will be published on the course website.
Distributed systems are a corner stone of many services today. Distri-bution provides scalability of cloud services, implemented atop a mas-sive number of servers. For instance, Google’s data centers host an estimated 2.5 million servers! At the same time, distribution ensures reliability by replicating functions and data. This does not only apply to cloud services, but also to peer-to-peer networks as used for instance by the Bitcoin network, and mobile systems such as vehicular net-works, networks of unmanned aerial vehicles, etc. Such mobile sys-tems are inherently distributed geographically and are supported by edge cloud services located close to the mobile devices to reduce network latency. Last but not least, the Internet is evolving into an Inter-net of Things (IoT), where virtually everything can communicate through the Internet. Such distributed systems come with many challenges, as poignantly recognized by Urs Hölzl (Senior Vice President for technical infrastruc-ture at Google): „At scale, everything breaks ... Keeping things simple and yet scalable is actually the biggest challenge. It's really, really hard.“ Other challenges include consistency of replicated services, privacy, and protection against attacks if untrusted devices are in-volved. In this Master’s seminar, we take a deep dive into specific distributed and context-aware systems concepts that tackle these challenges. The topics will be published on the course website.