Scheduling von WITH-loops in SAC

Größe: px
Ab Seite anzeigen:

Download "Scheduling von WITH-loops in SAC"

Transkript

1 Scheduling von WITH-loops in SAC Studienarbeit Borg Enders Lehrstuhl für Rechnerorganisation am Institut für Informatik und Praktische Mathematik der Christian-Albrechts-Universität zu Kiel Juli 2001

2 Inhaltsverzeichnis 1 Einleitung 4 2 Scheduling Verfahren Einführung Block Scheduling Cyclic Scheduling Self Scheduling Factoring Scheduling Affinity Scheduling WITH-loops in SAC WITH-loops Verteilter Code für WITH-loops taskselectors und taskschedulers tasks Einteilung der tasks Der Taskselector Even Der Taskselector Factoring Verwaltung der tasks Static Taskscheduler Self Taskscheduler Affinity Taskscheduler Implementation Einführung Einteilung der tasks Der Taskselector Even Der Taskselector Factoring Verwaltung der tasks Grenzen initialisieren Static Taskscheduler Self Taskscheduler Affinity Taskscheduler Bestimmung der nächsten task beim Affinity Taskscheduler

3 6 Laufzeitverhalten Einführung Relaxation Relaxation ohne zusätzliche Rechenlast Relaxation mit zusätzlicher Rechenlast Das Beispiel unbalanced unbalanced ohne zusätzliche Rechenlast unbalanced mit zusätzlicher Rechenlast unbalanced auf einer 24 Prozessormaschine Zusammenfassung 46 3

4 1 Einleitung In dieser Arbeit geht es um die verteilte Ausführung von SAC-Programmen. Single Assignment C ist eine strikte, rein funktionale Programmiersprache erster Ordnung, die unter besonderer Berücksichtigung der Bedürfnisse numerischer Anwendungen entworfen wurde. Hierzu bietet SAC die Möglichkeit Array-Operationen auf einem hohen Abstraktionsniveau zu definieren, einschließlich dimensions-invarianter Programmspezifikationen. Da SAC eine funktionale Sprache ist, sind SAC-Programme seiteneffektfrei und erfüllen die Church-Rosser-Eigenschaft, das heißt, die Bedeutung des Programms ist unabhängig von der Berechnungsreihenfolge. Eine detaillierte Einführung in SAC gibt es in [1]. Für diese Arbeit sind besonders die in SAC vorhandenen WITH-loops interessant. Eine WITH-loop ermöglicht es Operationen auf Bereiche eines Arrays anzuwenden. Dabei berechnet sie aus gegebenen Arrays als Rückgabewert entweder ein neues Array oder einen einzelnen Wert, wobei die Elemente des Arrays unabhängig von einander berechnet werden. Da in einer WITHloop keine Berechnungsreihenfolge der Elemente garantiert ist, ist es einfach WITH-loops verteilt auszuführen. Bei dieser Verteilung werden in der Regel einzelne Bereiche der Berechnung auf Arrays auf die vorhandenen Prozessoren aufgeteilt. Der Code einer WITH-loop gibt dabei an, welche Berechnungen auf diesem Bereich durchgeführt werden, so daß für die Verteilung nur noch die Bereichsgrenzen angegeben werden müssen. Die Prozessoren berechnen dann bestimmte Bereiche eines Arrays mit Hilfe des Codes der WITH-loop. Hierfür verwendet SAC POSIX threads und shared memory Architekturen. Näheres zur verteilten Berechnung von WITH-loops ist in [2] und [3] zu finden. Für die Zuweisung der Bereiche einer WITH-loop an die einzelnen threads ist ein scheduling verantwortlich. Ein scheduling nimmt dabei die Einteilung der zu berechnenden WITH-loop in Teilbereiche vor und verteilt diese dann im Laufe der Berechnung an die einzelnen threads. Der einfachste Ansatz hierfür ist es genauso viele Teilbereiche gleicher Größe des Arrays wie threads zu erzeugen. Dieses ist ein guter Ansatz, solange alle Teilbereiche den gleichen Berechungsaufwand haben. Sobald dieser Berechnungsaufwand aber unterschiedlich ist, führt diese Aufteilung zu einer ineffizienten Berechnung der WITH-loop. Ein weiterer Grund, wieso es zu einer ineffizienten Berechnung der WITH-loop kommen kann, ist, daß nicht gewährleitet sein muß, daß alle threads die gleiche Rechenleistung zur Verfügung haben. Die Unterschiede in der zur Verfügung stehend Rechenleistung kommen daher, daß nicht garantiert ist, daß ein thread einen Prozessor alleine 4

5 nutzen kann. Insbesondere kann das Betriebssystem Rechenzeit des durch den thread genutzten Prozessors anderen Prozessen zuweisen. Dieses kann dazu führen, daß threads zur Berechnung von Bereichen mit gleichem Berechnungsaufwand unterschiedlich lange brauchen. Es gibt insgesamt zwei Ansätze zur Verteilung von Teilberechnungen an threads: statische Verteilung dynamische Verteilung Bei der statischen Verteilung ist jedem thread schon vor dem Start der Berechnung bekannt, welche Teilberechnungen durch ihn berechnet werden sollen. Bei diesem Verfahren hat das scheduling aber zur Laufzeit keine Möglichkeiten ein Ungleichgewicht in der Berechnungsdauer der einzelnen Teilberechnungen festzustellen oder gar auszugleichen. Dies ermöglicht ein zweiter Ansatz bei dem die Teilberechnungen erst zur Laufzeit dynamisch an die einzelnen threads verteilt werden, um eine möglichst gleichmäßige Auslastung aller threads zu erreichen. Eine Möglichkeit eine WITH-loop an threads zu verteilen, wäre jedes Element einzeln an die vorhandenen threads zu vergeben. Dieses kann aber insbesondere bei dynamischen Verfahren zu Mehraufwand durch Kommunikation führen, da das scheduling zur Laufzeit synchronisieren muß, welche Elemente durch welchen thread berechnet werden sollen. Deswegen ist es sinnvoller größere Bereiche von Elementen zu einer sogenannten task zusammenzufassen und dann diese tasks an die threads zu verteilen. Hierfür läßt sich ein scheduling in zwei Teile unterteilen: den taskselector, der eine WITH-loop in tasks einteilt, und einen taskscheduler, der diese tasks an die einzelnen threads verteilt. Durch diese Aufteilung lassen sich verschiedene Einteilungsverfahren mit verschiedenen Verteilungsalgorithmen kombinieren. Dieses erleichtert die Implementation von Varianten von schedulings, da auf bestehende taskselectors und taskschedulers zurückgegriffen werden kann. So kann zum Beispiel für ein bestimmtes Problem ein taskselector speziell optimiert und je nach Gegebenheit mit statischen oder dynamischen Verteilungsverfahren kombiniert werden. In dieser Arbeit wird erklärt wie eine Aufteilung von schedulings in taskselectors und taskschedulers erreicht werden kann. Die vorliegende Arbeit gliedert sich wie folgt: Im zweitem Kapitel werden verschiedene schedulings im Detail vorgestellt. Danach wird im dritten Kapitel eine kurze Einführung in WITH-loops und verteilte Codeerzeugung für WITH-loops in SAC gegeben. Im vierten wird dann die Aufteilung eines schedulings in einen taskselector und einen taskscheduler erläutert. Die Implementationen der taskselectors 5

6 und taskschedulers werden im fünften Kapitel vorgestellt. Im sechsten Kapitel werden dann Laufzeitergebnisse der einzelnen Algorithmen vor- und einander gegenübergestellt und schließlich werden im siebten Kapitel kurz noch mal die Ergebnisse dieser Arbeit zusammengefasst. 6

7 2 Scheduling Verfahren 2.1 Einführung Die hier vorgestellten scheduling Algorithmen verteilen einen Iterationsraum an mehrere threads. Hierbei werden statische und dynamische Verfahren verwendet um Iterationen auf die vorhandenen threads zu verteilen. Statische Verfahren weisen vor der Berechnung den threads Iterationen zu und vermeiden so zur Laufzeit Overhead bei der Berechnung, wie zum Beispiel Kommunikation zwischen einzelnen threads. Dynamische Verfahren hingegen führen erst zur Laufzeit eine Verteilung der Iterationen an die threads durch. Hierdurch ist es möglich gegebenenfalls auftretende Unterschiede in der Berechnungsdauer von den threads zugewiesenen Iterationen auszugleichen. Hierfür muß das scheduling aber zur Laufzeit abgleichen, welche Iterationen durch welchen thread berechnet werden. Dieses führt zu einem Kommunikationsmehraufwand zwischen den threads. In diesem Kapitel werden die einzelnen schedulings außer dem Factoring Scheduling anhand eines einfachen abstrakten Beispiels erläutert. Dieses Beispiel besteht aus bis zu neun Teilberechnungen für die jeweils eine bestimmte Berechnungsdauer vorgegeben ist. Hierbei unterteilen alle schedulings die Berechnung in Teilbereiche mit gleich vielen Iterationen. Die Berechnungsdauer der einzelnen Teilberechnungen wird nur zur Verdeutlichung des Ablaufes der einzelnen schedulings verwendet und läßt keine Schlüsse auf die Effizienz der hier vorgestellten Algorithmen zu. 2.2 Block Scheduling Das Block Scheduling [4] führt eine statische Verteilung der Iterationen durch. Dabei teilt es den Iterationsraum in Anzahl der threads Blöcke mit ungefähr gleich vielen aufeinander folgenden Iterationen ein. Das Problem wird dann auf die threads verteilt, indem jedem thread genau ein Block zugewiesen wird. Abbildung 1 zeigt eine verteilte Berechnung für ein Problem mit 3 Blöcken und 3 threads. Die Zahlen in den Kästen der Blöcke geben den benötigten Zeitaufwand eines threads für diesen Block an. Das rechte Diagramm zeigt in welcher Reihenfolge thread 1 (t1), thread 2 (t2) und thread 3 (t3) die Blöcke auf ihren jeweiligen Prozessoren berechnen. Die Nummern neben den Pfeilen geben dabei die Nummern der einzelnen Blöcke an und die Länge entspricht dem Berechnungsaufwand. Insgesamt benötigt das Block Scheduling eine Zeitaufwand von 12 Zeiteinheiten zur Berechnung des abstrakten Problems. Dieser Zeitaufwand ergibt 7

8 Abbildung 1: Block Scheduling für ein abstraktes Beispiel sich aus der Berechnungsdauer des 1. thread, der am längsten bis zum Ende seiner Berechnung braucht. Wie hier gut zu sehen ist, hat der thread 2 bei dieser Verteilung eine lange Wartezeit, da der Berechnungsaufwand der Blöcke 1 und 2 sich um den Faktor zwei unterscheidet. 2.3 Cyclic Scheduling Eine Möglichkeit, Berechnungsaufwand, der irgendwie proportional zum Wert der Indexposition der Berechnung ist, auszugleichen, ist das Problem in mehr Teilbereiche von Iterationen als threads einzuteilen und diese dann statisch an die threads zu verteilen. Dieses Verfahren verwendet das Cyclic Scheduling [4], wobei die Anzahl der Iterationen in den einzelnen Teilbereichen gleich eins ist. Ein leicht abgewandeltes Verfahren, das Block-Cyclic Scheduling, verwendet Teilbereiche gleicher Größe mit mehr als einer Iteration. Jeder thread arbeitet beim Cyclic Scheduling periodisch die Teilbereiche der Iterationen ab. Seien die Teilbereiche von 1 bis M AX BEREICHE nummeriert und die threads von 1 bis MAX T HREADS. Dann berechnet der t-te thread die Iterationsbereiche mit den Nummern MAX BEREICHE t t + i MAX T HREADS, für 0 i. MAX T HREADS 8

9 Durch die gleichmäßige, periodische Verteilung der Teilberechnungen über das Problem läßt sich oft ein unterschiedlicher Berechnungsaufwand für die einzelnen threads vermeiden. Dies geschieht dadurch, daß bei einer genügend großen Anzahl von Teilbereichen jeder thread sowohl Teile des Problems mit hohem als auch niedrigem Berechnungsaufwand zugewiesen bekommt. Ein typisches Problem hierfür sind Dreiecksmatrizen. Angenommen eine linke untere n n-dreiecksmatrix wird durch 3 threads berechnet. Dann würde beim Block Scheduling der 1.thread 11%. der 2.thread 33% und der letzte thread 56% der Matrix berechnen. Wenn hingegen das Cyclic Scheduling so eine Matrix in 9 Teilbereiche aus gleich vielen Zeilen unterteilt und diese an 3 threads verteilt, berechnet der 1.thread 26%, der 2.thread 33% und der 3.thread 41% der Matrix. Also ist bei diesem scheduling der Berechnungsaufwand besser verteilt als beim Block Scheduling. Abbildung 2 zeigt das abstrakte Beispiel, das jetzt in 9 Teilbereiche einge- Abbildung 2: Cyclic Scheduling für ein abstraktes Beispiel teilt ist. Die vom Block Scheduling eingeteilten Iterationsbereiche wurden für das abstrakte Problem jeweils noch mal in drei Teilbereiche eingeteilt, um den Ablauf des Cyclic Schedulings besser darzustellen. Insgesamt benötigt das Cyclic Scheduling einen Zeitaufwand von 10 Zeiteinheiten zur Berechnung dieses abstrakten Problems. Dieser Zeitaufwand ergibt sich aus der Berechnungsdauer des 3.threads, der als letzter seine Berechnung beendet und die Teilbereiche 3, 6 und 9 berechnet. Die Summe des 9

10 Zeitaufwandes dieser Bereiche beträgt gerade 10 Zeiteinheiten. 2.4 Self Scheduling Dynamische Verfahren versuchen Ungleichgewichte im Berechnungsaufwand dadurch auszugleichen, daß die Iterationen den threads erst zur Laufzeit zu gewiesen werden. Dies geschieht, da in der Regel kein Vorwissen über den Berechnungsaufwand eines Problems bekannt ist. Allerdings muß das scheduling hierbei zur Laufzeit abgleichen, welcher thread welche Iteration berechnet, was zu einem zusätzlichen Komunnikationsaufwand führt. Das einfachste dieser Verfahren ist das Self Scheduling [5]. Hierbei werden alle noch zu berechnenden Iterationen in einer zentralen Queue verwaltet. Aus dieser Queue holen sich die threads im exklusiven Zugriff dann immer ihre nächsten zu berechnenden Iterationen. Auch bei diesem Verfahren werden Teilbereiche der Iterationen mit möglichst gleicher Anzahl verwendet und den threads zu gewiesen. Das Ziel dieses scheduling ist es einen Ausgleich des Berechnungsaufwandes dadurch zu erreichen, daß immer der thread mit dem bis dahin geringsten Berechnungsaufwand sich die nächsten Iterationen abholt. Um eine effiziente Berechnung des Problems zu erreichen, sind mehr Teilbereiche der Iterationen als threads nötig, da nur hierdurch eine gleichmäßige Verteilung des Berechnungsaufwandes möglich ist. Abbildung 3 zeigt wie Self Scheduling für das abstrakte Beispiel ablaufen kann. Wie hier zu sehen ist, holen sich zuerst alle drei threads einen Teilbereich der Iterationen aus der zentralen Queue. Nach Berechnung ihrer Iterationen holt sich dann jeder thread einen neuen Teilbereich. Dieses führt in diesem Beispiel dazu, daß thread 2 insgesamt 4 Bereiche berechnet und Self Scheduling für dieses Problem einen Zeitaufwand von 12 Zeiteinheiten benötigt, da thread 2 die Teilbereiche 2, 4, 7 und 9 berechnet und damit den größten Zeitaufwand der drei threads hat. Dieses Verfahren hat den Nachteil, daß alle threads auf eine einzige zentrale Queue zugreifen. Dies wird oft noch dadurch verstärkt, daß die einzelnen Teilbereiche gleich groß sind und es somit leicht bei nahezu gleichen Berechnungsaufwand dieser Bereiche dazu kommen kann, daß sich zwei threads beim Zugriff auf die Queue gegenseitig behindern. 10

11 Abbildung 3: Self Scheduling für ein abstraktes Beispiel 2.5 Factoring Scheduling Um den Kommunikationsaufwand des Self Scheduling zu senken, verwendet das scheduling Factoring [6] Teilbereiche unterschiedlicher Grösse. Hierbei nimmt die Grösse der Bereiche mit Anzahl der berechneten Iterationen ab. Dadurch wird erreicht, daß die threads erst einen größeren Teil der Berechnung absolvieren, bevor sie sich wieder neue Iterationen abholen. Hinzu kommt, daß die kleineren Iterationsbereiche am Ende der Berechnung es ermöglichen ein Ungleichgewicht beim Berechnungsaufwand zwischen den einzelnen threads besser auszugleichen, da ein thread mit weniger Berechnungsaufwand sich in kleinen Schritten einem thread mit höherem Berechnungsaufwand anpassen kann. Das scheduling Factoring verwendet dazu genau, wie das Self Scheduling, eine zentrale Queue zur Verwaltung der einzelnen Teilbereiche. Es haben immer Anzahl der threads Teilbereiche die gleiche Größe und die Größe der nächsten Bereiche ist dann: REST IT ERAT IONS + 1, 2 MAX T HREADS wobei REST IT ERAT IONS die noch zu berechnende Größe des Restproblems angibt. Ein Beispiel für die Größen von Iterationsbereichen, bei dem 800 Iterationen 11

12 auf 4 Prozessoren verteilt werden, ist in Abbildung 4 zusehen. 800 Iterationen und 4 Prozessoren Abbildung 4: Bereichsgrößen bei Factoring 2.6 Affinity Scheduling Alle bisher beschriebenen Verfahren gehen davon aus, daß die Berechnung einer bestimmen Iteration für alle threads den gleichen Zeitaufwand auf den verwendeten Prozessoren hat und daß deswegen keine Bevorzugung (Affinität) besteht bestimmte Iterationen einen bestimmten thread zuzuweisen. Allerdings gilt diese Annahme für moderne shared memory Multiprozessorsysteme mit Prozessor eigenen Cache und eventuell nicht gleichmässigen Speicherzugriffszeiten nicht. Ein thread auf einen Prozessor, der einen Großteil der benötigten Daten schon in seinem Cache hat, wird eine Iteration in deutlich geringerer Zeit berechnen, als ein Prozessor, der diese Daten erst noch in seinen Cache laden muß. Deswegen ist die Lokalität von Daten ein entscheidender Faktor zur effizienten Berechnung von Iterationen auf shared memory Architekturen [7, 8, 9]. Ein Ansatz, der dies berücksichtigt, ist das Affinity Scheduling [10]. Genauso wie Self Scheduling verwaltet dieses die zu berechnenden Iterationen dynamisch. Im Gegensatz zu diesem hat hierbei jeder thread eine eigene Queue mit Iterationen, die durch ihn berechnet werden sollen. Dieses vermeidet das sich threads gegenseitig beim exklusiven Zugriff auf eine zentrale Queue behindern, wie dies beim Self Scheduling und beim Factoring Scheduling der Fall sein kann. Anfangs holt sich jeder thread aus seiner eigenen Queue den nächsten Teilbereich an Iterationen ab. Wenn dann die eigene Queue eines threads leer ist, holt sich dieser einen Bereich aus der Queue des threads, der bisher am wenigstens Iterationen seiner Queue abgearbeitet hat. Hierbei ist es sinnvoll, wenn beim Entlasten eines threads die Iterationsbereiche vom Ende der Queue entfernt werden, weil hierdurch eine Lokalität der Daten erreicht wird. Da somit ein thread erst dann Daten eines anderen threads benötigt, wenn er seine eigene Berechnung bereits abgeschlossen hat. Da in der Regel kein Vorwissen über Datenabhängigkeiten in der Berechnung und damit eventuelle Affinitäten der einzelnen threads bei der Berechnung 12

13 vorhanden ist, werden beim Affinity Scheduling die Queues der einzelnen threads mit gleich großen Bereichen an Iterationen vorbelegt. Auch das Affinity Scheduling kann nur dann eine gleichmäßige Verteilung des Berechnungsaufwandes erreichen, wenn es insgesamt mehr Teilbereiche als threads gibt. Abbildung 5 zeigt anhand des abstrakten Problems wie dieses Verfahren Abbildung 5: Affinity Scheduling für ein abstraktes Beispiel arbeitet. Zum erreichen einer Datenaffinität wurde bei diesem Problem eine Blockverteilung der Iterationen auf die Queues vorgenommen. Die Queue von thread 1 besteht bei diesem Beispiel aus den Iterationsbereichen 1, 2 und 3 die von thread 2 aus 4, 5 und 6 und die von thread 3 aus 7, 8 und 9. thread 2 hat als erster seine Queue abgearbeitet und entlastet dann thread 1, der als einziger noch einen unvergebenen Bereich in seiner Queue hat, indem er Teilbereich 3 berechnet. Hierdurch benötigt das Affinity Scheduling einen Zeitaufwand von 10 Zeiteinheiten, da thread 2 als letzter seine Berechnung beendet. 13

14 3 WITH-loops in SAC 3.1 WITH-loops Komplexe Operationen auf Arrays werden in SAC mit Hilfe von WITH-loops realisiert. WITH-loops definieren entweder die shape, d.h. die Größe des Arrays auf den einzelnen Dimensionen, eines neu erzeugten Arrays zusammen mit der Initialisierung der einzelnen Elemente oder eine fold-operation zusammen mit einer Berechnung der Operanden für das fold. Hierbei besteht eine WITH-loop aus zwei Teilen: einem Generator einer Operation res = with(.<iv<.) genarray([4,4],1); res = Abbildung 6: Eine genarray-with-loop, zusammen mit der generierten Matrix Der Generator definiert eine Menge von Indexvektoren zusammen mit einer Indexvariablen (siehe Abbildung 6: Definition von iv), die die Elemente dieser Menge darstellt. Die obere und untere Grenze des Bereiches der Indexvektoren werden definiert durch zwei Ausdrücke, die zu Vektoren mit gleicher Länge ausgewertet werden müssen. Des weiteren gibt es drei verschiedene WITH-loop-Operationen: genarray modarray fold Mit Hilfe von genarray läßt sich ein neues Array angeben, dessen indizierte Elemente mit einem angegeben Ausdruck und die restlichen Elemente mit 0 initialisiert werden (siehe Abbildung 6). 14

15 res = with(.<iv<.) modarray(res,res[iv]+1); res = Abbildung 7: Eine modarray-with-loop, zusammen mit der aus obiger Matrix res berechneten Matrix Modarray erzeugt aus einem existierenden Array ein neues Array, wobei indizierte Elemente durch einen angegeben Ausdruck verändert und die restlichen Elemente kopiert werden (siehe Abbildung 7). Schließlich führt fold die Reduktion eines Arrays durch Anwendung einer Operation startend mit einem neutralen Element auf alle indizierten Elemente des Arrays durch (siehe Abbildung 8). Für aufeinander folgende WITH-loops bietet SAC die Optimierung des result = with(.<iv<.) fold(+,0,res[iv]); result = 8 Abbildung 8: Eine fold-with-loop, zusammen mit dem berechneten Ergebnis der Matrix res WITH-loop-Folding [11, 12]. Hierbei wird versucht mehrere WITH-loops zu einer einzigen WITH-loop zusammen zufassen. Dazu werden WITH-loops der Benutzerebene in SAC interne Multigenerator WITH-loops eingebettet. Diese sind charakterisiert durch eine Sequenz von Generatoren mit paarweise verschiedenen Indexvektormengen. Weiterhin ist jeder Generator mit einer spezifischen Operation verknüpft. Durch die Optimierung des WITH-loop-Folding kann es vorkommen, daß auf unterschiedlichen Bereichen einer WITH-loop Operationen mit unterschiedlichem Berechnungsaufwand auftreten. Dieses kann bei der Verteilung der WITH-loop auf threads zu einem Ungleichgewicht im Berechnungsaufwand der einzelnen threads führen. 15

16 3.2 Verteilter Code für WITH-loops In SAC werden nur WITH-loops verteilt berechnet. Alle anderen Programmteile werden weiterhin sequentiell berechnet. Hierbei eigenen sich besonders Multigenerator WITH-loops gut für eine nicht sequentielle Programm Ausführung, da aufgrund der Church-Rosser-Eigenschaft von SAC alle Elemente der WITH-loop nebenläufig berechnet werden können. Generell gibt es bei der verteilten Ausführung von WITH-loops zwei Codescheduling_begin();... computation of with-loop elements... scheduling_end(); Abbildung 9: Code eines die WITH-loop berechenden threads teile: einen sequentiellen und einen nebenläufigen. Im sequentiellen Teil werden Datenstrukturen für die einzelnen schedulings initialisiert. Im nebenläufigen (siehe Abbildung 9) berechnet ein scheduling mit Hilfe Abbildung 10: Ablaufdiagramm für ein verteiltes SAC-Programm von threads die WITH-loop, wobei das scheduling jedem thread durch set- 16

17 zen der oberen (WL START) und unteren (WL STOP) Grenze einer WITH-loop auf den zu verteilenden Dimensionen, ihre zu berechnenden Bereiche auf der WITH-loop zu weist. Hierdurch verteilt das scheduling die einzelnen in der WITH-loop zu berechnenden Elemente an die threads. Vor jeder WITH-loop gründet der masterthread die benötigten workerthreads (siehe Abbildung 10). Nach der verteilten Ausführung werden dann die threads vor dem sequentiellen Code, der bis zur nächsten WITH-loop ausgeführt wird, terminiert. Hierdurch wird garantiert, daß die letzte WITH-loop komplett berechnet wurde. Dieses Verfahren wurde detailliert in [2] beschrieben. Durch die Terminierung der threads am Ende jeder WITH-loop ist es für ein scheduling für eine effiziente Berechnung entscheidend den Berechnungsaufwand für jede WITH-loop einzeln gleichmässig zuverteilen. 17

18 4 taskselectors und taskschedulers 4.1 tasks Wie in Kapitel 2 erläutert, werden bei der verteilten Berechnung Iterationen an threads verteilt. Zur Vermeidung von Mehraufwand durch Kommunikation zwischen den threads ist es sinnvoll mehrere Iterationen zu einer sogenannten task zusammen zufassen. Dieses gewährleistet eine bessere Granularität des Problems. Da alle schedulings eine Einteilung in tasks vornehmen müssen und dieses auch alle bis auf Factoring in der selben Art vornehmen, ist es sinnvoll die Verteilung einer WITH-loop konkret in zwei Teilprobleme aufzuteilen: Einteilung der tasks Verwaltung der tasks für die threads 4.2 Einteilung der tasks Für die Einteilung einer Berechnung in tasks gibt es viele Möglichkeiten. Hier einige Beispiele: gleich große Blöcke in einer Dimension gleich große Blöcke in mehreren Dimensionen verschieden große Blöcke in einer Dimension verschieden große Blöcke in mehreren Dimensionen Blöcke mit gleichem Berechnungsaufwand, d. h. z. Bsp. Bereiche gleicher Operationen einer Multigenerator WITH-loop Abbildung 11 zeigt grafisch die ersten vier Varianten der obigen Aufzählung. Welche Einteilung gewählt wird, hängt einerseits vom Vorwissen über den Aufwand der Berechnung, andererseits aber auch von dem gewählten scheduling ab, so sollte zum Beispiel für eine effiziente Berechnung beim Cyclic Scheduling (Kapitel 2.3) die Anzahl der tasks ein ganzzahliges Vielfaches der Anzahl der threads sein, sonst hätten einige threads eine task mehr als andere zu berechnen. 18

19 Abbildung 11: verschiedene task Einteilungen Der Taskselector Even Das einfachste Verfahren zur Einteilung von tasks, ist die WITH-loop in möglichst gleich große Blöcke in einer Dimension zu unterteilen. Dieses verwendet der Taskselector Even, der eine WITH-loop in einer beliebigen Dimension in eine vorgegebene Anzahl von tasks einteilen kann. Dabei erzeugt Even immer ein ganzzahliges Vielfaches der Anzahl der threads an tasks, da Cyclic und Affinity Scheduling hiermit in der Regel eine effizientere Berechnung der WITH-loop durchführen können. Wenn Even dies nicht tun würde, wären zum Beispiel beim Affinity Scheduling die lokalen Queues unterschiedlich lang und somit könnte es bei nahezu gleichem Berechnungsaufwand aller tasks dazu kommen, daß ein thread einen anderen mit längerer Queue entlasten müßte. Dieses würde dazu führen, daß sich zwei threads beim exklusiven Zugriff auf eine Queue gegenseitig behindern. Dieses kann aber bei nahezu gleichem Berechnungsaufwand der tasks in der Regel vermieden werden, wenn alle Queues die gleiche Länge haben. Dieser taskselector ist das übliche Verfahren zur Einteilung von tasks, wie es das Block, Cyclic, Self und Affinity Scheduling verwenden. 19

20 4.2.2 Der Taskselector Factoring Der Taskselector Factoring verwendet das Verfahren des scheduling Factoring und unterteilt das durch die WITH-loop berechnete Array in tasks mit abnehmender Größe in einer Dimension. Da Factoring erst zur Laufzeit die Größen der einzelnen tasks bestimmt, ist auch im Gegensatz zu Even nicht vor dem Start der Berechnung der WITHloop bekannt, wie viele tasks insgesamt vorhanden sind. Ein Beispiel für die Größen von tasks ist in Kapitel 2.5 zu sehen. Durch die Aufteilung in taskselectors und taskschedulers ist es möglich Factoring mit fast jedem taskscheduler zu kombinieren. Hierbei teilt Factoring dem jeweiligen taskscheduler mit, ob es noch weitere tasks zur Berechnung gibt, da nur ihm selbst bekannt ist, wann keine unberechneten tasks mehr vorhanden sind. Der einzige taskscheduler mit dem Factoring nicht zusammenarbeiten kann ist der Affinity Taskscheduler, da für diesen zur Einteilung seiner Queues vor dem Start der Berechnung die Anzahl der vorhandenen tasks bekannt sein muß. 4.3 Verwaltung der tasks Static Taskscheduler Der Static Taskscheduler führt eine statische Verwaltung der tasks durch. Im Zusammenspiel mit dem Taskselector Even realisiert der Static Taskscheduler das Block und Cyclic Scheduling. Dies ist nur davon abhängig, wie viele tasks Even erzeugt, wird nur eine task pro thread erzeugt, wird das Block Scheduling realisiert. Gibt es aber mehr tasks als threads, so werden die tasks durch den Static Taskscheduler in zyklischer Ordnung an die threads verteilt und es wird dann das Cyclic Scheduling realisiert. Es ist aber auch möglich diesen taskscheduler mit dem Taskselector Factoring zusammen einzusetzen. Hierbei werden dann die tasks mit abnehmender Größe in zyklischer Ordnung an die threads verteilt, bis Factoring dem taskscheduler mitteilt, das keine tasks mehr vorhanden sind Self Taskscheduler Der Self Taskscheduler verwendet eine einzige zentrale Queue zur Verwaltung der noch nicht berechneten tasks. Aus dieser Queue holen sich die threads dann zur Laufzeit immer ihre nächste zu berechnende tasks. Generell geschieht dies immer dynamisch, d. h. ein thread holt sich die nächste task vom Anfang der Queue. Da der Zugriff auf eine zentrale Queue 20

21 für die threads exklusiv sein muß, kann dies besonders am Anfang der Berechnung einer WITH-loop zu einem großen Overhead führen. Dann kann es dazu kommen, daß alle threads zeitlich dicht aufeinanderfolgend auf die Queue zugreifen, um sich ihre erste task abzuholen, und können sich deswegen leicht Gegenseitig behindern. Um dies zu verhindern, bietet der Self Taskscheduler die Möglichkeit die erste task jedem thread statisch zuzuweisen. Wenn der Self Taskscheduler zusammen mit dem Taskselector Even verwendet wird, entspricht dies dem Self Scheduling. Denn hierbei haben alle tasks in der Queue durch die Einteilung von Even dieselbe Größe. Wird allerdings der Taskselector Factoring verwendet, haben die tasks in der Queue durch ihn eine abnehmende Größe und es wird das scheduling Factoring realisiert Affinity Taskscheduler Der Affinity Taskscheduler verwendet lokale Queues für jeden thread. In dieser Queue werden alle tasks vorgehalten die durch diesen thread berechnet werden sollen. Zuerst arbeitet bei diesem Verfahren jeder thread seine eigene Queue ab. Ist er mit dieser fertig, entlastet er den thread in dessen Queue die meisten noch nicht berechneten tasks sind, indem er vom Ende dieser Queue eine task entfernt und diese selber berechnet. Zur Verteilung der tasks auf die Queues der einzelnen threads, muß der Affinity Taskscheduler vor dem Start der Berechnung wissen, welche tasks, insbesondere wie viele vorhanden sind, damit die Queues möglichst gleich lang sind. Deswegen ist der Affinity Taskscheduler als einziger nur in Kombination mit dem Taskselector Even einsetzbar, da bei diesem bekannt ist, wie viele tasks zur Berechnung der WITH-loop vorhanden sind. 21

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

AZK 1- Freistil. Der Dialog Arbeitszeitkonten Grundsätzliches zum Dialog Arbeitszeitkonten AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen. Bildergalerie einfügen Wenn Sie eine Vielzahl an Bildern zu einem Thema auf Ihre Homepage stellen möchten, steht Ihnen bei Schmetterling Quadra das Modul Bildergalerie zur Verfügung. Ihre Kunden können

Mehr

Berechnung der Erhöhung der Durchschnittsprämien

Berechnung der Erhöhung der Durchschnittsprämien Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Kurzeinführung LABTALK

Kurzeinführung LABTALK Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Physik & Musik. Stimmgabeln. 1 Auftrag

Physik & Musik. Stimmgabeln. 1 Auftrag Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt. Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

Mehr

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor: Ergebnisreport: mehrere Lehrveranstaltungen zusammenfassen 1 1. Ordner anlegen In der Rolle des Berichterstellers (siehe EvaSys-Editor links oben) können zusammenfassende Ergebnisberichte über mehrere

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

AUF LETZTER SEITE DIESER ANLEITUNG!!!

AUF LETZTER SEITE DIESER ANLEITUNG!!! BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Englische Division. ... und allgemeine Hinweise

Englische Division. ... und allgemeine Hinweise Das folgende Verfahren ist rechnerisch identisch mit dem Normalverfahren; es unterscheidet sich nur in der Schreibweise des Rechenschemas Alle Tipps und Anmerkungen, die über die Besonderheiten dieser

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen Beispielheft Inhalt Allgemeine Einführung Test Eins: Test Zwei: Test Drei: Test Vier: Test Fünf: Argumentationsvermögen Auffassungsvermögen Zahlenvermögen Sprachverständnis Räumliches Vorstellungsvermögen

Mehr

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft. Das ist ein Text in leichter Sprache. Hier finden Sie die wichtigsten Regeln für den Verein zur Förderung der Autonomie Behinderter e. V.. Das hier ist die Übersetzung der Originalsatzung. Es wurden nur

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Hinweise zum Ausfüllen der Zeiterfassung

Hinweise zum Ausfüllen der Zeiterfassung Hinweise zum Ausfüllen der Zeiterfassung Generelle Hinweise zu Excel Ab Version VSA 4.50 wird die dezimale Schreibweise für Zeiteingaben verwendet. Die Zeiterfassung, die Sie erhalten haben wurde für Excel

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr