Schichtenmodell zur integrierten Auftrags- und Bewegungsplanung an Bord tief ...Florian-Michael Adolf
A decoupled approach to trajectory generation based on a cubic spline geometry formulation is introduced. The distinct consideration of boundary conditions yields a continuously differentiable trajectory definition such that path tracking errors are minimized during flight. A curvature-based, dimensionless space-filling curve allows to determine a suitable velocity profile along the path for hover-capable vehicles. Tracking of the trajectory is enabled by a conversion between the spline parameters and the arc length of the spline. In the past years, this approach in combination with a suitable trajectory tracking control has been successfully flight tested with an unmanned helicopter.
La asamblea general extraordinaria discutirá el orden del día que incluye la elección de oficiales, la presentación de informes financieros y de gestión, la aprobación del presupuesto de 2010, la elección del consejo de administración y el revisor fiscal, y las propuestas varias. El informe del consejo de administración cubrirá los cambios en la administración, las actuaciones realizadas, el proceso de recepción de zonas comunes y los problemas pendientes.
El documento describe el diseño de un programa de seguridad en el trabajo y un sistema de control y prevención de incendios para una empresa litográfica. Los objetivos son elaborar un documento que describa la metodología para diseñar los sistemas de uso de equipos de protección personal y el sistema de control y prevención de incendios. La metodología incluye una topología de riesgos para identificar y calificar los riesgos en cada área de producción, así como normas nacionales e internacionales para el diseño del sistema contra incendios.
El e-learning consiste en la educación y capacitación a través de Internet, permitiendo la interacción del usuario con material mediante herramientas informáticas. El término abarca diferentes tecnologías y aspectos pedagógicos de la enseñanza y el aprendizaje. El e-learning es una modalidad revolucionaria de capacitación posibilitada por Internet que se posiciona como la forma predominante de capacitación en el futuro.
Schichtenmodell zur integrierten Auftrags- und Bewegungsplanung an Bord tief ...Florian-Michael Adolf
A decoupled approach to trajectory generation based on a cubic spline geometry formulation is introduced. The distinct consideration of boundary conditions yields a continuously differentiable trajectory definition such that path tracking errors are minimized during flight. A curvature-based, dimensionless space-filling curve allows to determine a suitable velocity profile along the path for hover-capable vehicles. Tracking of the trajectory is enabled by a conversion between the spline parameters and the arc length of the spline. In the past years, this approach in combination with a suitable trajectory tracking control has been successfully flight tested with an unmanned helicopter.
La asamblea general extraordinaria discutirá el orden del día que incluye la elección de oficiales, la presentación de informes financieros y de gestión, la aprobación del presupuesto de 2010, la elección del consejo de administración y el revisor fiscal, y las propuestas varias. El informe del consejo de administración cubrirá los cambios en la administración, las actuaciones realizadas, el proceso de recepción de zonas comunes y los problemas pendientes.
El documento describe el diseño de un programa de seguridad en el trabajo y un sistema de control y prevención de incendios para una empresa litográfica. Los objetivos son elaborar un documento que describa la metodología para diseñar los sistemas de uso de equipos de protección personal y el sistema de control y prevención de incendios. La metodología incluye una topología de riesgos para identificar y calificar los riesgos en cada área de producción, así como normas nacionales e internacionales para el diseño del sistema contra incendios.
El e-learning consiste en la educación y capacitación a través de Internet, permitiendo la interacción del usuario con material mediante herramientas informáticas. El término abarca diferentes tecnologías y aspectos pedagógicos de la enseñanza y el aprendizaje. El e-learning es una modalidad revolucionaria de capacitación posibilitada por Internet que se posiciona como la forma predominante de capacitación en el futuro.
El documento describe los esfuerzos del gobierno mexicano para reducir los riesgos laborales en la industria de la construcción, incluyendo la elaboración de una Norma Oficial Mexicana. Reporta altos niveles de riesgos laborales y accidentes entre 2000-2002. El objetivo es disminuir los riesgos a mediano plazo mediante la elaboración de una norma que promueva prácticas seguras.
Grupo geard, propuesta de evaluación 2277diomeposada
La Unión Europea ha acordado un embargo petrolero contra Rusia en respuesta a la invasión de Ucrania. El embargo prohibirá la mayoría de las importaciones de petróleo ruso a la UE a partir de finales de año. Algunos países como Hungría aún dependen en gran medida del petróleo ruso y podrían obtener una exención temporal al embargo.
J.financ. dic. 2011, deloitte 2, capital riesgoEraikune
Este documento introduce el concepto de capital riesgo, discutiendo su terminología, ámbito de actuación, características de las inversiones, fases de inversión, tipos de operadores, funcionamiento del mercado y cómo se crea valor. También describe las ventajas del capital riesgo para los inversores, las empresas y la economía.
El Informe RIP es un estudio elaborado por Contrapunto BBDO (Madrid), Contrapunto (Barcelona), junto con la participación de algunos de los principales anunciantes del sector que analiza cuáles son las claves de Comunicación de hoy en adelante.
Más info. en:
www.contrapuntobbdo.es/elinformerip
Este documento presenta un curso de especialización en sostenibilidad en urbanismo, rehabilitación y edificación ofrecido por la Universidad de Deusto. El curso consta de 5 módulos que cubren temas como sostenibilidad en arquitectura y urbanismo, rehabilitación y gestión urbana sostenible, rehabilitación sostenible en la edificación e integración de energías renovables. El curso está dirigido a profesionales del sector de la construcción y se evalúa a través de trabajos prácticos y una prueba final
Para crear un blog en Blogger, primero se debe crear una cuenta de Gmail, luego ingresar a www.blogger.com, completar la información requerida como el nombre y la plantilla deseada del blog, y finalmente se podrá empezar a escribir y publicar entradas en el nuevo blog.
Anteproyecto de ley_de_rehabilitacion_regeneracion_y_renovacion_urbanasEraikune
Este documento presenta un anteproyecto de ley para promover la rehabilitación, regeneración y renovación urbanas en España. El anteproyecto crea un marco legal para estas actuaciones y modifica otras leyes relacionadas. Su objetivo es potenciar estas actuaciones para reactivar la construcción y mejorar la eficiencia energética, al tiempo que se abordan retos sociales y ambientales como la sostenibilidad y la cohesión social.
Este documento describe tres estrategias clave para la lectura: antes de leer, durante la lectura y después de la lectura. Antes de leer, se debe considerar el propósito de la lectura. Durante la lectura, se deben hacer predicciones, plantear hipótesis y relacionar con otras lecturas. Después de leer, se debe resumir la información y organizarla gráficamente.
Este documento describe las nuevas características, mejoras y recursos necesarios para el funcionamiento de Microsoft Office 2010. Entre las nuevas características se incluyen herramientas de captura de pantalla y eliminación de antecedentes, un modo de documentos protegidos y nuevas plantillas. Las mejoras incluyen un menú que ofrece accesos directos a las herramientas de Office. Los requisitos del sistema no deberían requerir una actualización de hardware para las actualizaciones desde Office 2003 o 2007.
The document announces author presentations for Spring 2009. It does not provide any additional details on specific authors, dates, or locations for the presentations. The brief document serves to notify readers that author presentations will take place during the Spring 2009 term, but gives minimal information on what is involved.
Hora Zulu es una banda de fusión formada en Granada en el año 2000 que mezcla géneros como el hip hop, metal y rock. Está formada por 5 miembros provenientes de otras bandas y han lanzado 7 discos desde su formación.
When discussing about build systems, still Ant and Maven are the most prominent. This presentation is from a talk about characteristics of Ant and Maven, how they compare and if its worth migrating between both.
Slides are in German, but IT topics tend to be understandable even by non native speakers.
La novela Crime and Punishment fue escrita por Fiódor Dostoievski y trata sobre Rodión Raskolnikov, un estudiante pobre que mata a una prestamista vieja y a su hermana para probar que no está sujeto a las reglas de la sociedad. A partir de entonces, Raskolnikov sufre de remordimiento y culpa hasta que finalmente se entrega a la policía y es condenado a trabajos forzados en Siberia.
El documento describe los diferentes tipos de software, incluyendo software de sistema, software de programación y software de aplicación. También explica el proceso de creación de software, incluyendo etapas como la captura de requisitos, diseño, codificación y pruebas. Además, discute modelos de proceso como el modelo en cascada y modelos evolutivos.
Después de cursar Grado Medio de Comercio, hay varias familias profesionales a las que se puede optar, incluyendo Administración y Gestión, Comercio y Marketing, Hostelería y Turismo, Servicios Socioculturales y a la Comunidad, y Comunicación, Imagen y Sonido. Algunas de las opciones específicas son Administración y Finanzas, Comercio Internacional, Gestión Comercial y Marketing, Agencias de Viajes, Animación Turística, y Producción de Audiovisuales.
Teaching and Learning Experience Design – der Ruf nach besserer Lehre: aber wie?Isa Jahnke
Der Ruf danach, dass es bessere Lehre geben muss oder das Lehre verbessert werden sollte, ist nicht neu. Es gibt auch schon seit längerer Zeit Rufe danach, dass Lehre der Forschung in Universitäten gleichgestellt werden soll. (Und in den letzten Jahren ist in Deutschland auch einiges an positiven Entwicklungen geschehen, z.B. durch die Aktivitäten des Stifterverbands). Wie kann die Verbesserung der Lehre weitergehen? Fehlt etwas in dieser Entwicklung? Ja, sagt dieser Beitrag, der zum Nachdenken und Diskutieren anregen soll. In diesem Beitrag wird ein forschungsbasierter Ansatz zur Diskussion gestellt. Es wird argumentiert, dass Lehre nur dann besser wird, wenn es mit den Prinzipen der Wissenschaft und Forschung angegangen wird (d.h. gestalten, Daten erheben, auswerten, verbessern). Es benötigt neue Verhaltensregeln oder -prinzipien bei der Gestaltung von Lehrveranstaltungen. Das bedeutet zum Beispiel das Prinzipien der Evidenzbasierung und wissenschaftliche Herangehensweisen im Lehr-Lerndesign als zentrales Fundament etabliert werden sollte. Evidenzbasierung hier meint, folgt man der Logik der Forschung, dass Lehrveranstaltungen als Intervention verstanden werden. Mit dieser Intervention werden Studierende befähigt, bestimmte vorab festgelegte Kompetenzen zu entwickeln. Und die Frage, die sich bei jeder Lehr-Lernveranstaltung dann stellt, ist, ob diese Objectives bzw. Learning Outcomes auch erreicht wurden. Klar ist, dass die subjektive Lehrevaluation der Studierenden oder auch die Notengebnung nicht ausreichen, um diese Frage zu beantworten. Hierfür gibt es eine Reihe von Methoden, die genutzt werden können, z.B. aus dem Bereich des User- / Learning Experience Design. Diese Methoden umfassen unter anderem Usability-Tests, Learner Experience Studies, Pre-/Post-Tests, und Follow-up Interviews. Diese können zur Gestaltung und Erfassung von effektiven, effizienten und ansprechenden digitalen Lerndesigns verwendet (Reigeluth 1983, Honebein & Reigeluth, 2022).
Der Beitrag will die Entwicklung zur Verbesserung von Lehre weiter pushen. Neue Ideen in die Bewegung bringen. Als Gründungsvizepräsidentin der UTN hab ich die Chance, hier ein neues Fundament für eine gesamte Uni zu legen. Wird das Gelingen? Ist dieser Ansatz, den ich hier vorstelle, eine erfolgsversprechende Option dafür? Hier können sich die TeilnehmerInnen an dieser Entwicklung beteiligen.
El documento describe los esfuerzos del gobierno mexicano para reducir los riesgos laborales en la industria de la construcción, incluyendo la elaboración de una Norma Oficial Mexicana. Reporta altos niveles de riesgos laborales y accidentes entre 2000-2002. El objetivo es disminuir los riesgos a mediano plazo mediante la elaboración de una norma que promueva prácticas seguras.
Grupo geard, propuesta de evaluación 2277diomeposada
La Unión Europea ha acordado un embargo petrolero contra Rusia en respuesta a la invasión de Ucrania. El embargo prohibirá la mayoría de las importaciones de petróleo ruso a la UE a partir de finales de año. Algunos países como Hungría aún dependen en gran medida del petróleo ruso y podrían obtener una exención temporal al embargo.
J.financ. dic. 2011, deloitte 2, capital riesgoEraikune
Este documento introduce el concepto de capital riesgo, discutiendo su terminología, ámbito de actuación, características de las inversiones, fases de inversión, tipos de operadores, funcionamiento del mercado y cómo se crea valor. También describe las ventajas del capital riesgo para los inversores, las empresas y la economía.
El Informe RIP es un estudio elaborado por Contrapunto BBDO (Madrid), Contrapunto (Barcelona), junto con la participación de algunos de los principales anunciantes del sector que analiza cuáles son las claves de Comunicación de hoy en adelante.
Más info. en:
www.contrapuntobbdo.es/elinformerip
Este documento presenta un curso de especialización en sostenibilidad en urbanismo, rehabilitación y edificación ofrecido por la Universidad de Deusto. El curso consta de 5 módulos que cubren temas como sostenibilidad en arquitectura y urbanismo, rehabilitación y gestión urbana sostenible, rehabilitación sostenible en la edificación e integración de energías renovables. El curso está dirigido a profesionales del sector de la construcción y se evalúa a través de trabajos prácticos y una prueba final
Para crear un blog en Blogger, primero se debe crear una cuenta de Gmail, luego ingresar a www.blogger.com, completar la información requerida como el nombre y la plantilla deseada del blog, y finalmente se podrá empezar a escribir y publicar entradas en el nuevo blog.
Anteproyecto de ley_de_rehabilitacion_regeneracion_y_renovacion_urbanasEraikune
Este documento presenta un anteproyecto de ley para promover la rehabilitación, regeneración y renovación urbanas en España. El anteproyecto crea un marco legal para estas actuaciones y modifica otras leyes relacionadas. Su objetivo es potenciar estas actuaciones para reactivar la construcción y mejorar la eficiencia energética, al tiempo que se abordan retos sociales y ambientales como la sostenibilidad y la cohesión social.
Este documento describe tres estrategias clave para la lectura: antes de leer, durante la lectura y después de la lectura. Antes de leer, se debe considerar el propósito de la lectura. Durante la lectura, se deben hacer predicciones, plantear hipótesis y relacionar con otras lecturas. Después de leer, se debe resumir la información y organizarla gráficamente.
Este documento describe las nuevas características, mejoras y recursos necesarios para el funcionamiento de Microsoft Office 2010. Entre las nuevas características se incluyen herramientas de captura de pantalla y eliminación de antecedentes, un modo de documentos protegidos y nuevas plantillas. Las mejoras incluyen un menú que ofrece accesos directos a las herramientas de Office. Los requisitos del sistema no deberían requerir una actualización de hardware para las actualizaciones desde Office 2003 o 2007.
The document announces author presentations for Spring 2009. It does not provide any additional details on specific authors, dates, or locations for the presentations. The brief document serves to notify readers that author presentations will take place during the Spring 2009 term, but gives minimal information on what is involved.
Hora Zulu es una banda de fusión formada en Granada en el año 2000 que mezcla géneros como el hip hop, metal y rock. Está formada por 5 miembros provenientes de otras bandas y han lanzado 7 discos desde su formación.
When discussing about build systems, still Ant and Maven are the most prominent. This presentation is from a talk about characteristics of Ant and Maven, how they compare and if its worth migrating between both.
Slides are in German, but IT topics tend to be understandable even by non native speakers.
La novela Crime and Punishment fue escrita por Fiódor Dostoievski y trata sobre Rodión Raskolnikov, un estudiante pobre que mata a una prestamista vieja y a su hermana para probar que no está sujeto a las reglas de la sociedad. A partir de entonces, Raskolnikov sufre de remordimiento y culpa hasta que finalmente se entrega a la policía y es condenado a trabajos forzados en Siberia.
El documento describe los diferentes tipos de software, incluyendo software de sistema, software de programación y software de aplicación. También explica el proceso de creación de software, incluyendo etapas como la captura de requisitos, diseño, codificación y pruebas. Además, discute modelos de proceso como el modelo en cascada y modelos evolutivos.
Después de cursar Grado Medio de Comercio, hay varias familias profesionales a las que se puede optar, incluyendo Administración y Gestión, Comercio y Marketing, Hostelería y Turismo, Servicios Socioculturales y a la Comunidad, y Comunicación, Imagen y Sonido. Algunas de las opciones específicas son Administración y Finanzas, Comercio Internacional, Gestión Comercial y Marketing, Agencias de Viajes, Animación Turística, y Producción de Audiovisuales.
Teaching and Learning Experience Design – der Ruf nach besserer Lehre: aber wie?Isa Jahnke
Der Ruf danach, dass es bessere Lehre geben muss oder das Lehre verbessert werden sollte, ist nicht neu. Es gibt auch schon seit längerer Zeit Rufe danach, dass Lehre der Forschung in Universitäten gleichgestellt werden soll. (Und in den letzten Jahren ist in Deutschland auch einiges an positiven Entwicklungen geschehen, z.B. durch die Aktivitäten des Stifterverbands). Wie kann die Verbesserung der Lehre weitergehen? Fehlt etwas in dieser Entwicklung? Ja, sagt dieser Beitrag, der zum Nachdenken und Diskutieren anregen soll. In diesem Beitrag wird ein forschungsbasierter Ansatz zur Diskussion gestellt. Es wird argumentiert, dass Lehre nur dann besser wird, wenn es mit den Prinzipen der Wissenschaft und Forschung angegangen wird (d.h. gestalten, Daten erheben, auswerten, verbessern). Es benötigt neue Verhaltensregeln oder -prinzipien bei der Gestaltung von Lehrveranstaltungen. Das bedeutet zum Beispiel das Prinzipien der Evidenzbasierung und wissenschaftliche Herangehensweisen im Lehr-Lerndesign als zentrales Fundament etabliert werden sollte. Evidenzbasierung hier meint, folgt man der Logik der Forschung, dass Lehrveranstaltungen als Intervention verstanden werden. Mit dieser Intervention werden Studierende befähigt, bestimmte vorab festgelegte Kompetenzen zu entwickeln. Und die Frage, die sich bei jeder Lehr-Lernveranstaltung dann stellt, ist, ob diese Objectives bzw. Learning Outcomes auch erreicht wurden. Klar ist, dass die subjektive Lehrevaluation der Studierenden oder auch die Notengebnung nicht ausreichen, um diese Frage zu beantworten. Hierfür gibt es eine Reihe von Methoden, die genutzt werden können, z.B. aus dem Bereich des User- / Learning Experience Design. Diese Methoden umfassen unter anderem Usability-Tests, Learner Experience Studies, Pre-/Post-Tests, und Follow-up Interviews. Diese können zur Gestaltung und Erfassung von effektiven, effizienten und ansprechenden digitalen Lerndesigns verwendet (Reigeluth 1983, Honebein & Reigeluth, 2022).
Der Beitrag will die Entwicklung zur Verbesserung von Lehre weiter pushen. Neue Ideen in die Bewegung bringen. Als Gründungsvizepräsidentin der UTN hab ich die Chance, hier ein neues Fundament für eine gesamte Uni zu legen. Wird das Gelingen? Ist dieser Ansatz, den ich hier vorstelle, eine erfolgsversprechende Option dafür? Hier können sich die TeilnehmerInnen an dieser Entwicklung beteiligen.
Mathematikunterricht in 1zu1 Ausstattungen.pptxFlippedMathe
Wie geht guter Mathematikunterricht? Und jetzt auch noch mit Tablet/Laptop? In dieser Fortbildung soll es genau darum gehen.
Sebastian Schmidt kennt vielleicht nicht Ihre persönliche Antwort auf guten (digitalen) Mathematikunterricht, aber er hat seit 2013 versucht, mit digitalen Hilfsmitteln seinen Unterricht kompetenzorientierter zu gestalten. Die Digitalisierung von Unterricht hat immer die Problematik, das Lernen der Schülerinnen und Schülern aus dem Fokus zu verlieren. Diese sollen digital mündig werden und gleichzeitig Mathematik besser verstehen.
In dieser eSession werden zahlreiche Methoden, Konzepte und auch Tools vorgestellt, die im Mathematikunterricht des Referenten erfolgreich eingesetzt werden konnten. Nicht alles kann am nächsten Tag im Unterricht eingesetzt werden, aber man erhält einen Überblick, was möglich ist. Sie entscheiden dann selbst, worauf Sie Ihren Fokus legen und wie Sie selbst in die 1:1-Ausstattung starten.
Lassen Sie sich überraschen und nehmen Sie mit, was für Sie sinnvoll erscheint. Auf der Homepage von Sebastian Schmidt gibt es neben Links und Materialien zur Fortbildungen auch Workshops fürs eigene Ausprobieren. https://www.flippedmathe.de/fortbildung/mathe-ws/
4. Vorlesung Compilerbau,Wintersemester 2008/09
Automatische Speicherverwaltung
Stack: automatische Verwaltung einfach
wächst und schrumpft gemäß Programmablauf, Prozedursegmente, …
Compiler entscheidet über Verwaltung
Heap: unabhängig von Programmablauf
explizite Allozierung und Deallozierung notwendig
hier: Ein-Prozessor, zentralisiertes System
4
➀ Garbage Collection: Warum?
5. Vorlesung Compilerbau,Wintersemester 2008/09
Automatische Speicherverwaltung
Manuelle Heap-Verwaltung aufwendig & fehleranfällig
zu konservativ: memory leak
zu aggressiv: Speicherzugriffsfehler, Null-Pointer
da schwer → inflexible, statische Verwaltung leichter
aber Gefahr von impliziten Grenzen
beeinträchtigt Wiederverwendbarkeit & loose copling
Lebensdauer von Objekten muß unter verschiedenen Komponenten abgestimmt sein
oft schwer durch Testen auffindbar
5
➀ Garbage Collection: Warum?
6. Vorlesung Compilerbau,Wintersemester 2008/09
Automatische Speicherverwaltung
Strategien für manuelle Speicherverwaltung
wo soll angeforderter Speicher alloziert werden?
best fit, first fit, next fit …
Problem: Fragmentierung, schlechte Lokalität (Paging & Caching)
Automatische Speicherverwaltung
alloziert und dealloziert Speicher automatisch
durchschnittlich nur 10% langsamer als manuelle Speicherverwaltung
Vergleich der Schemata:
Geschwindigkeit, Vorhersehbarkeit, Einfluß auf Programmausführung
Speicherbedarf, minimale Fragmentierung, maximale Lokalität
6
➀ Garbage Collection: Warum?
13. Vorlesung Compilerbau,Wintersemester 2008/09
Garbage
Garbage := aus akt. Programmzustand nicht erreichbar
statisch: ist ein Objekt einmal Garbage bleibt es es auch
global: um festzustellen, ob ein Objekt Garbage ist muss man den gesamten
Programmzustand inspizieren
Wie erkennt man Garbage?
beginne mit Root Set in den Daten
Java: Statische + lokale Variablen (auf dem Laufzeit-Stack)
Reachable := Root Set ∪ PointedTo(Reachable).
Funktioniert das auch in C?
13
➀ Garbage Collection: Warum?
Nein: – schwach typisiert (Zeiger in Integers)
– Zeigerarithmetik
– unbekannte Grenzen von Arrays …
. . .
Object 1 Object 3Object 2
Free List
14. Vorlesung Compilerbau,Wintersemester 2008/09
Erreichbarkeit nur Approximation
Beispiel:
Nach x = y o1 nicht erreichbar, o2 erreichbar
o2 wird nie mehr verwendet
könnte also schon hier freigegeben werden
Aber: solche Programmanalyse zu teuer im allgemeinen
im folgenden: nur Erreichbarkeit
14
➀ Garbage Collection: Warum?
o1: x = new A();
o2: y = new B();
x = y;
if (true) then x = new A() else x.foo;
17. Vorlesung Compilerbau,Wintersemester 2008/09
Bewertung von GC Algorithmen
Geschwindigkeit
minimiere den Einfluss des Algorithmus
Vorhersehbarkeit
Unterbrechung der Programmausführung: minimal
Speicherbedarf: minimal
minimale Fragmentierung
Lokalität: maximal
gemeinsam verwendete Daten nahe beinander in Cache/Seiten
17
➁ Übersicht Garbage Collection Algorithmen
18. Vorlesung Compilerbau,Wintersemester 2008/09
Struktur von GC Algorithmen
Speicher: organisiert als Heap
verfügbarer Speicher adressierbar über Free List
Phasen der Automatische Speicherverwaltung (schematisch)
Speicherallozierung: finde freien Bereich auf dem Heap
Falls kein freier Bereich verfügbar
Garbage detection: berechne Objekte, deren Speicher wiederverwendet wd. kann
Garbage reclamation: freigeben des durch Garbage belegten Speicher
besser: freigeben auch wenn noch Speicher verfügbar ist
sonst: bei Speichermangel“stop-the-world”Effekt
18
➁ Übersicht Garbage Collection Algorithmen
. . .
Object 1 Object 3Object 2
Free List
19. Vorlesung Compilerbau,Wintersemester 2008/09
Typen & Klassifikation von GC Algorithmen
Counting algorithms: zählte Verweise auf Objekte
local, aber unvollständig
schwer effizient zu machen
Tracing algorithms: verfolge Verweise um Garbage zu finden
brauchen selber Speicher → können selbst zu Speicheranforderung führen
“stop-the-world” Algorithmen: berechnen Reachable am Stück
skalieren nicht, führen zu unberechenbarem Programverhalten
zeitliche Partitionierung: incremental
räumliche Partitionierung: generational
19
➁ Übersicht Garbage Collection Algorithmen
29. Vorlesung Compilerbau,Wintersemester 2008/09
Reference counting
Verwalte Anzahl der Referenzen auf jedes Objekt
lösche Objekt, sobald Referenzzähler 0
Bewertung des Algorithmus:
inkrementell, kein“stop-the-world”effect
real-time: Speicher kann sobald möglich freigegeben werden
nicht vollständig: bei Zyklen kann Speicher nicht freigegeben werden
nicht effizient: kurzlebige Referenzen dominieren typische Programme
Update der Referenzen bei fast jeder Zuweisung
Löschen kann kaskadieren (Anzahl der Löschungen/Updates nicht begrenzt)
29
➂ Einfache GC Algorithmen
Verzögertes Reference counting: periodische Updates für Verweise durch lokale Variablen.
30. Vorlesung Compilerbau,Wintersemester 2008/09
Mark-and-Sweep
Zwei Phasen“stop-the-world”Algorithmus
erst markieren aller vom Root Set erreichbaren Objekte (mark)
dann aufsammeln und freigeben der nicht-markierten Objekte (sweep)
Datenstrukturen:
scanned: Erreichte und verarbeitete Objekte
unscanned: Liste der erreichten, aber noch nicht verarbeiteten Objekte
unreached: Liste der noch nicht erreichten Objekte (anfangs: alle)
free: Liste der freien Speicherplätze (vereinfacht)
30
➂ Einfache GC Algorithmen
31. Vorlesung Compilerbau,Wintersemester 2008/09
Mark-and-Sweep
31
➂ Einfache GC Algorithmen
unreached = alle Objekte; scanned = ∅;
verschiebe Root Set von unreached nach unscanned;
while (unscanned ≠ ∅) {
o = nächstes Objekt in unscanned;
verschiebe o von unscanned nach scanned;
for all (o’ referenzierte von o)
if (noch nicht erreicht)
verschiebe o von unreached nach unscanned;
}
free = free ∪ unreached;
unscanned = scanned;
Baker’s Mark-and-Sweep: hier schon verbessert, nur allokierte werden inspiziert
34. Vorlesung Compilerbau,Wintersemester 2008/09
Bewertung des Algorithmus:
einfach, vollständig (keine memory leaks)
zwei Läufe über den Heap erforderlich
kann zu starker Fragmentierung des Speichers führen
Lokalität so schlecht wie bei naïver manueller Verwaltung
Objekte gleichen Alters in völlig unterschiedlichen Speicherbereichen
braucht zusätzlichen Speicher (unscanned/scanned Listen)
kann mit Tricks verhindert werden
34
Mark-and-Sweep: Analyse
➂ Einfache GC Algorithmen
35. Vorlesung Compilerbau,Wintersemester 2008/09
Mark-and-Compact
Idee: verschieben erreichbarer Objekte an Beginn des Heaps
Zwei Phasen“stop-the-world”Algorithmus
erst markieren aller vom Root Set erreichbaren Objekte (mark)
dabei berechne für jedes Objekt Adresse im kompaktierten Heap
dann verschieben der erreichbaren Objekte & Verweise (compact)
Datenstrukturen:
free: Heap-Pegel nach Kompaktierung der bisher erreichten Objekte
scanned: Erreichte und verarbeitete Objekte + newAddress
unscanned: Liste der erreichten, aber noch nicht verarbeiteten Objekte
35
➂ Einfache GC Algorithmen
40. Vorlesung Compilerbau,Wintersemester 2008/09
Bewertung des Algorithmus:
einfach, vollständig (keine memory leaks)
bessere Lokalität als bei mark-and-sweep, keine Fragmentierung
mindestens zwei Läufe über den Heap erforderlich
compact Lauf deutlich langsamer als sweep Lauf
braucht ebenfalls zusätzlichen Speicher (unscanned/scanned Listen)
40
➂ Einfache GC Algorithmen
Mark-and-Compact
41. Vorlesung Compilerbau,Wintersemester 2008/09
Stop-and-Copy Semispace
Idee: Ein-Phasen Verschieben durch Kopieren in reservierten Bereich
teile Speicher in zwei“Teilräume”ein (From- und To-Space)
Durchlaufe die Erreichbaren Objekte
sobald ein Objekte erreicht wird kopiere in To-Space
wenn alle erreichbaren Objekte verarbeitet, vertausche From- und To-Space
Datenstrukturen:
newAddress: Neue Adresse eines verarbeiteten Objekts
scanned: Erreichte und verarbeitete Objekte + newAddress
unscanned: Liste der erreichten, aber noch nicht verarbeiteten Objekte
41
➂ Einfache GC Algorithmen
44. Vorlesung Compilerbau,Wintersemester 2008/09 44
A B
Scan Free
C
v)
A B
Scan Free
i)
ii)
iii)
iv)
A B
Scan Free
C
D
A B
Scan Free
C D E
A B
Scan Free
C D E F
A B
Scan Free
C
A
C D
E
F
B
Scan Free
A
B
ROOT
SET
i)
ii)
iii)
iv)
A B
Scan Free
C
D
Cheney Algorithm
Kopieren mit Breitensuche
Datenstrukturen:
newAddress
scanned & unscanned fallen weg
45. Vorlesung Compilerbau,Wintersemester 2008/09
Bewertung des Algorithmus:
nur ein Lauf über den Heap erforderlich
kaum zusätzlichen Speicher (Cheney)
bessere Lokalität als bei mark-and-sweep, keine Fragmentierung
immer noch“stop-the-world”Algorithmus
halber Speicher bleibt ungenutzt
45
➂ Einfache GC Algorithmen
Stop-and-Copy Semispace
50. Vorlesung Compilerbau,Wintersemester 2008/09
Inkrementelle Garbage Collection
Idee: garbage collection parallel zu Programmausführung
immer wenn Daten unerreichbar werden, gleich freigeben
Idee: trace-based wie Mark-and-… aber
Objekte die einmal scanned sind werden nicht mehr erneut betrachtet
Jedes Objekt ist immer gerade:
scanned: erreichte und verarbeitete
unscanned: erreicht, aber noch nicht verarbeitetet
unreached: noch nicht erreicht, aber erreichbar
unreachable: unerreichbar
50
➃ Partitionierende GC Algorithmen
51. Vorlesung Compilerbau,Wintersemester 2008/09
Inkrementelle Garbage Collection
51
I. Incremental GC
s GC with mutator action to reduce pause time
Ideal = (R ! New) " Lost
(R ! New) " Lost # Answer # (R ! New)
data
scanned
unscanned
unreached
tor
new
unreachable
R (reachable)
ideal
lost
mes
run
ator
I. Incremental GC
• Interleaves GC with mutator action to reduce pause time
kinds of data
scanned
unscanned
unreached
after the mutator
new
unreachable
R (reachable)
ideal
lost
resumes
has run
before mutator
➃ Partitionierende GC Algorithmen
53. Vorlesung Compilerbau,Wintersemester 2008/09 53
• All reaching pointers are found in “scanned objects”
• Requires the occurrence of a 3-step sequence in the mutator:
Scanned
Unscanned /
Unreached Unreached
0. after a stage of GC
A B C
1. Load p = ptr from B to C
3. Store new pointer in B,
2. Store p in A
overwriting value p
pp
p
➃ Partitionierende GC Algorithmen
54. Vorlesung Compilerbau,Wintersemester 2008/09 54
anced Compilers 7 L15: Advanced Garbage Collec
• Intercept p in any of the three-step sequence
• Treat pointee of p as “unscanned”
Scanned
Unscanned /
Unreached Unreached
0. after a stage of GC
A B C
1. Load p = ptr from B to C
3. Store new pointer in B,
2. Store p in A
overwriting value p
pp
p
Read barrier: remember all loads of pointers from B ! C
Write barrier: remember all stores of pointers A ! C
Overwrite barrier: remember all overwrites of pointer B ! C
➃ Partitionierende GC Algorithmen
55. Vorlesung Compilerbau,Wintersemester 2008/09
Write Barrier am effizientesten
wird seltener aktiv als Read Barrier
weniger starke Approximation als Over-write Barrier (weniger irrtümlich
reached Objekte)
Optimierung: alloziere Objekte als white/unreachable → short-lived
Bewertung des Algorithmus:
kein“stop-the-world”effect
verwenden Speicher während der gesamten Laufzeit
nur konservative Approximation aus Effizienzgründen
55
➂ Einfache GC Algorithmen
Inkrementelle Garbage Collection
56. Vorlesung Compilerbau,Wintersemester 2008/09
Generationelle Garbage Collection
Grundidee: Partitioniere Objekte in stable und target Mengen
GC nur auf Objekten in target Objekten
Root Set für target := allgemeines Root Set + Verweise aus stable
dazu: Schreibzugriffe auf stable abfangen
56
➃ Partitionierende GC Algorithmen
II. Partial GC
• Reduces pause time by collecting only objects in the target area:
Stable set
Target set
ignore
used in tracing
ignore
include in root set
58. Vorlesung Compilerbau,Wintersemester 2008/09
Generationelle Garbage Collection
Root Set(i) := Root Set(Program) + Zeiger von j to i mit j > i
GC für Generation i falls Heap-Space für diese Generation verbraucht
58
Generational GC
bservation: objects die young
• 80-98% die within a few million instructions
or before 1 MB has been allocated
enerational GC: collect newly allocated objects more often
h generation
targetstable
1st 2nd 3rd 4th
remembered
sets
➃ Partitionierende GC Algorithmen
61. Vorlesung Compilerbau,Wintersemester 2008/09
Generationelle Garbage Collection
Wie definieren wir eine Generation?
Objekt o von i nach i+1 bei jedem Traversieren im GC von i auf o?
schnell, geringer Overhead; aber: Objekte“altern”zu schnell
z.B.: bei jedem zweiten Traversieren
hängt auch von Zahl der Generationen ab
viele Generationen = häufiger“altern”
61
➃ Partitionierende GC Algorithmen
62. Vorlesung Compilerbau,Wintersemester 2008/09 62
percent surviving
never copied
percent surviving
until scavenge 2
-/
percent surviving
until scavenge 3
J’
COpid twice (advanced to next generation)1
-1
scavenge 0 scavenge 1 scavenge 2 scavenge 3
Time of data allocation
FIGURE 2b. Copying cost with two-scavenge advancement threshold
➃ Partitionierende GC Algorithmen
63. Vorlesung Compilerbau,Wintersemester 2008/09 63
0 10 20 30 40 50 60 70 80 90 100
null
compress
db
jack
javac
jess
mpegaudio
mtrt
bh
bisort
em3d
health
mst
perimeter
power
treeadd
tsp
voronoi
ipsixql
jigsaw
nfc
xalan
average
Shortlived
Longlived
Quasi immortal
Truly immortal
(a) In percent of all allocated objects.
Table 3: Escap
jects). The nu
jects where the
Benchmark
null
compress
db
jack
javac
jess
mpegaudio
mtrt
bh
bisort
em3d
health
mst
perimeter
power
treeadd
tsp
voronoi
ipsixql
jigsaw
nfc
xalan
average
Figure 2(a) show
only shows data
From Figure 2
64. Vorlesung Compilerbau,Wintersemester 2008/09 64
0 10 20 30 40 50 60 70 80 90 100
null
compress
db
jack
javac
jess
mpegaudio
mtrt
bh
bisort
em3d
health
mst
perimeter
power
treeadd
tsp
voronoi
ipsixql
jigsaw
nfc
xalan
average
Shortlived
Longlived
Quasi immortal
Truly immortal
(a) In percent of all allocated objects.
0 10 20 30 40 50 60 70 80 90 100
1
10
100
1000
10000
100000
10MB 20MB
SCCsize[objects]
Figu
Column “Write b
the write barrier for
timing data for jigsa
Write barrier overh
(v2.0.2) FastSemisp
machine. The write
store buffer. Becaus
programming langu
of the application,
65. Vorlesung Compilerbau,Wintersemester 2008/09 65
o1
o2
o4
o3
o5
o6
o7
o8
p1
p2
p3
ure 1: Example partitioning. Solid boxes are
ects, solid arrows are pointers, dashed ovals are
titions, and dashed arrows are partition edges.
Partial GC
partial garbage collection is a GC of only a portion
he heap, such as when one or more young generations
collected in a generational collector.2
Because they do
examine the entire heap, partial GCs usually take less
related, but different, term is incremental GC. Partial
r global variable that
h m(o) ∈ C, color that
in topological order:
bject,
ith m(o) = q.
field of o that points to
olor that object gray.
n q.
ch partition q ∈ C in
sures that C is closed
opological order guar-
a partition q, all prede-
been visited.
ly the unreachable ob-
this choice: the estimator estimates how many o
dead and live in each partition, and the chooser
set of partitions where, based on the estimates,
to collect a sufficient amount of garbage at low c
The task of the estimator is to annotate each
p ∈ P with two integers dead(p) and live(p) as
Figure 2.
p1
p2
p3
p4
p5
dead(p) : live(p)
1:12
6:3
10:3
2:2
4:3