<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>SingularityEinsatz</title><revhistory><revision><revnumber>6</revnumber><date>2019-08-08 12:47:53</date><authorinitials>hayd@cbs.mpg.de</authorinitials></revision><revision><revnumber>5</revnumber><date>2019-08-05 13:58:56</date><authorinitials>hayd@cbs.mpg.de</authorinitials></revision><revision><revnumber>4</revnumber><date>2019-08-05 13:53:01</date><authorinitials>hayd@cbs.mpg.de</authorinitials></revision><revision><revnumber>3</revnumber><date>2019-08-05 12:46:49</date><authorinitials>hayd@cbs.mpg.de</authorinitials></revision><revision><revnumber>2</revnumber><date>2019-08-05 12:44:38</date><authorinitials>hayd@cbs.mpg.de</authorinitials></revision><revision><revnumber>1</revnumber><date>2019-08-05 12:42:54</date><authorinitials>hayd@cbs.mpg.de</authorinitials></revision></revhistory></articleinfo><section><title>Einsatz-Szenarien für Singularity-Container</title><para>Wann wäre ein Singularity-Container hilfreich? </para><section><title>Konservierung für Publikationen</title><para>Eine Wissenschaflerin will die in einer Publikation beschriebene Software-Landschaft griffbereit haben, um Nachfragen beantworten, zusätzliche Auswertungen liefern zu können.  </para></section><section><title>Abschluss-Konservierung</title><para>Ein Gruppenleiter will die Programmier-Ergebnisse seines Doktoranden in einer tatsächlich nutzbaren Form über einen längeren Zeitraum griffbereit haben. </para></section><section><title>portable Arbeitsumgebung</title><para>Ein Software-Entwickler will an mehreren Standorten arbeiten, um immer und überall die gewohnte  Arbeitsumgebung mit dem letzten Stand der Entwicklung bei sich haben. </para></section><section><title>Deployment</title><para>Eine Gruppe von Software-Entwicklern möchte den jeweils neuesten Stand ihrer Software an Interessenten verteilen. </para></section><section><title>Reproduzierbarkeit</title><para>Ein Software-Entwickler möchte verschiedene Stadien seiner Software, die über die Zeit auch auf verschiedenen Versionen der zu Grunde liegenden Software (Compiler, glibc, Mathe-Bibliotheken, ...) lief, schnell nutzbar festhalten. </para></section><section><title>Testing</title><para>Ein Software-Entwickler möchte seine Software auf verschiedenen Linux-Derivaten in verschiedenen Versionen testen. </para><para>Bevor die Linux-Distribution institutsweit upgedatet wird, soll getestet werden, ob Komponenten, die nicht aus dem offiziellen Repository der Distri stammen, Probleme bereiten.  </para></section><section><title>Plattformunabhängigkeit</title><para>Linux-Software soll auch auf !MacOS und Windows bereitgestellt werden. </para></section><section><title>Dokumentation</title><para>Der komplette Stack eines Software-Paketes soll dokumentiert werden, indem man eine Bauanleitung für diesen bereitstellt, die ein lauffähiges Ergebnis als Beweis ihrer Richtigkeit liefert. </para></section><section><title>Queueing</title><para>Ein Job, der erhebliche Computerresourcen benötigt, soll in das Queueing-System eines Supercomputer-Centers eingereiht werden. Die Abarbeitung des Jobs darf nicht an Mängeln in der Laufzeitumgebung (falsche Python-Version) scheitern. </para></section><section><title>Vergleiche</title><para>Ein Wissenschaftler will Daten mit verschiedenen Versionen eines Programms auswerten und die Ergebnisse vergleichen. </para></section><section><title>Skalierung</title><para>Software, die ein Entwickler auf seinem Laptop mit einem kleinen Datensatz getestet hat, will ein User auf seiner Workstation für die Auswertung großer Datensätze einsetzen.  </para></section><section><title>Parallelisierung</title><para>Eine Auswertung, die auf einem PC funktioniert, soll auf hunderte von Datensätzen auf mehreren, nicht extra präparierten Workstations (mit Hilfe von <ulink url="https://de.wikipedia.org/wiki/HTCondor">HTCondor</ulink>) angewendet werden. </para></section><section><title>Aktualität im Gewohnten</title><para>Ein Anwender will auf seiner Workstation immer die neueste Version einer sich rasch weiterentwickelnden Software einsetzen, ohne ansonsten seine gewohnte Umgebung zu verlassen. </para></section><section><title>Das Gewohnte im Aktuellen</title><para>Ein Nutzer will sicherstellen, dass nach einem Dist-Upgrade seiner Arbeitsplatz-Installation die aktuelle Auswertung unverändert funktioniert. </para></section><section><title>Portable Komplexität</title><para>Eine bestimmte Arbeitsumgebung besteht aus zahlreichen, komplex zu konfigurierenden und implementierenden, aus unterschiedlichen Quellen stammenden Komponenten. Dieser Aufwand soll gesichert werden. </para></section><section><title>Gleiche Plattform</title><para>Für eine Schulung soll allen Teilnehmern das Unterrichtsmaterial für ihren Laptop bereitgestellt werden. </para></section><section><title>Anmerkungen, Anregungen</title><para>Anmerkungen, Anregungen, Verbesserungsvorschläge hinterlasse man bitte auf der <ulink url="https://wiki.init.mpg.de/IT4Science/SingularityEinsatz/IT4Science/SingularityEinsatz/Discussion#">Diskussionsseite</ulink> </para></section></section></article>