51 research outputs found

    Preemptive Multitasking auf FPGA-Prozessoren

    Get PDF
    In dieser Arbeit wird die Umsetzung eines multitaskingfähigen Betriebssystems für FPGA-Prozessoren vorgestellt. Mit diesem Betriebssystem ist es möglich, die Resource FPGA-Prozessor durch mehrere unabhängige Anwendungen gleichzeitig zu nutzen. Der wesentliche Teil der Arbeit beschäftigt sich mit der schnellen Zustandsermittlung einer Schaltung auf dem FPGA-Baustein und zugleich mit der schnellen Zustandsrekonstruktion bei erneuter Ausführung der Schaltung auf dem FPGA-Prozessor. Basierend auf diesen grundlegenden Funktionen ist ein Betriebssystem entstanden, das sowohl effektiv als auch flexibel die Verarbeitung mehrerer unabhängiger Anwendungen auf verschiedenen FPGA-Prozessoren ermöglicht. Zur weiteren Steigerung der Leistungsfähigkeit wurde im Rahmen der Arbeit ein spezieller multitaskingunterstützender FPGA-Prozessor erstellt, der durch seinen Aufbau die Prozesswechselzeiten auf ein Minimum reduziert. Durch den neuartigen Aufbau dieses FPGA-Prozessors kann die Ausführung der Anwendungen nach neuen Modellen erfolgen, die durch parallel arbeitende Schritte den FPGA-Prozessor effektiver nutzen

    Möglichkeiten des Multitasking zur Beschleunigung von Standardalgorithmen

    Get PDF
    In den letzten Jahren haben enorme Fortschritte in der Halbleiter- und Schaltkreistechnologie zur Entwicklung von immer leistungsfähigeren von Neumann-Rechnersystemen geführt. Trotz des dadurch bedingten Leistungszuwachses sind in einem Rechnersystem mit sequentiellem Befehlsstrom einer weiteren Leistungssteigerung durch die physikalischen Restriktionen der Hardware Grenzen gesetzt. Diese Einschränkung sowie die Forderung nach immer höheren Rechnerleistungen und ein drastischer Rückgang der Hardware-Preise führten zur Entwicklung neuer innovativer Rechnerarchitekturen, die aufgrund der Mehrfachausführung ihrer Hardware-Komponenten in der Lage sind, große Hengen von Operationen und Daten parallel zu verarbeiten. Damit zeichnet sich im Design heutiger moderner Rechnersysteme der Trend ab, möglichst viele gleichzeitig arbeitende Hardware-Komponenten zuzulassen. Die Erwartungen, die an diese Parallelrechner geknüpft werden, sind neben einer hohen Zuverlässigleit (reliability) und Verfügbarkeit (availability) eine deutliche Verbesserung der "turnaround"-Zeitund damit eine erhöhte Durchsatzrate. Da sich mit der Abkehr von der von-Neumann-Rechnerarchitektur auch die Operationsprinzipien und die Organisationstruktur der Rechner verändert haben, bedeutet dies insbesondere die Entwicklung neuer Betriebssyteme, Programmiersprachen und Compiler. Damit die Fähigkeit zur Parallelverarbeitung und das größere Leistungsvermögen dieser Rechnersysteme effektiv genutzt werden kann, wird es nötig sein, originäre parallele Algorithmenneu bzw. weiter zu entwickeln. Voraussetzung für eine Leistungssteigerung ist die Parallelisierbarkeit der zur Lösung anstehenden Probleme. Die Umstrukturierungeines sequentiellen Algorithmus muß gleiche Ergebnisse sicherstellen. Zur Ermittlung der Leistungsverbesserung wird man jeweils den optimalsten parallelen bzw. sequentiellen Algorithmus heranziehen. [...

    Bericht zum Seminar über Elektro-CAD (Sommersemester 2000)

    Get PDF
    Die rechnergestützte Produktentwicklung erfolgt heutzutage in einem interdisziplinären Arbeitsprozeß, innerhalb dessen Experten verschiedener Ingenieurbereiche und Branchen ihr Fachwissen und Können mittels modernster Software-Werkzeuge in sogenannte Produktmodelle einbringen. Derartige Produktmodelle verkörpern die informationstechnische Datenbasis eines zu entwickelnden bzw. zu fertigenden Produktes und sind zur Gestaltung eines effizienten Produktentwicklungsprozesses mittlerweile obligatorisch. Eine der Schlüsseltechnologien der rechnergestützten Produktentwicklung ist der Bereich des Computer Aided Design, kurz CAD, innerhalb dessen die konstruktive Modellierung des Konstruktionsobjektes erfolgt. Während die CAD-Technologie in den Anwendungsbereichen Mechanik bzw. Maschinenbau bereits seit vielen Jahren etabliert ist - und heute einen immens hohen Entwicklungsstand aufweist - befindet sich die Entwicklung von effizienten Werkzeugen zur rechnergestützten Konstruktion elektrotechnischer bzw. elektromechanischer Produkte auf einem weitaus niedrigeren technologischen Niveau. Die Gründe hierfür mögen zum Teil historisch bedingt sein, denn die Entwicklung von Elektro-CAD-Werkzeugen (E-CAD) hat erst rund zwanzig Jahre nach der Entwicklung von Mechanik-CAD-Werkzeugen (M-CAD) eingesetzt, da schlichtweg bis dato kaum Bedarf an solchen Werkzeugen für die Elektrokonstruktion bestand. Ferner unterscheiden sich Maschinenbau und Elektrotechnik in bezug auf Aufbau und Darstellung von CAD-Modellen stark voneinander, so daß die für den M-CAD-Bereich entwickelten Werkzeuge nicht ohne weiteres für die Verwendung im E-CAD-Umfeld angepaßt werden konnten. Seit Mitte der Neunziger Jahre beschäftigen sich zahlreiche Wissenschaftler, E-CAD-Anwender und Systementwickler verstärkt mit der Entwicklung einer neuen (dritten) Elektro-CAD- Systemgeneration, welche den zukünftigen Anforderungen an ein modernes Electrical Engineering gerecht werden soll

    Ein Beitrag zum Einsatz von echtzeitfähigen Linux-Varianten in der Automatisierungstechnik

    Get PDF
    Angeregt wurde diese Dissertation durch ein Industrieprojekt des Fachgebietes Messtechnik der FakultÄat Maschinenbau an der Universität Dortmund. Ziel dieses Projektes war die Entwicklung von automatisierten Pneumatikprüfständen. Gesteigerte Anforderungen an die Software zwangen zu einer Suche nach einem neuen Betriebssystem. Lange Zeit teilten sich über 70 Real Time Systeme den Markt. Zum einen handelt es sich oft um spezielle Systeme, die nur auf spezieller Hardware laufen, und zum anderen um solche, die nur hochspezialisierte Funktionen erfüllen. Im Laufe der Zeit haben sich die Anforderungen geändert. Auf der einen Seite steht die Leistungsentwicklung der Hardware, auf der anderen Seite sollen Echtzeit-Systeme heute viel flexibler sein als früher. Hierdurch ist der Markt der echtzeitfähigen Betriebssysteme stark in Bewegung geraten und die 'Nischenprodukte' werden durch echtzeitfähige Standardbetriebssysteme, hier ist besonders Linux zu nennen, verdrängt.Basierend auf einem verallgemeinerten Steuerungssystem in der Automatisierungstechnik wurden die wichtigen Kriterien bei der Auswahl eines Betriebsystems herausgearbeitet. Die vier sich ergebenden Kategorien sind: Kosten, Sicherheit, Flexibilität und Performance. Diesen zugeordnet sind die Kriterien: Open Source, Commmunity Projekt, professioneller Support, innere und äußere Sicherheit, Skalierbarkeit, Hardwarekonnektivität, Entwicklungswerkzeuge, Softwareentwicklung und Echtzeitverhalten. Basierend auf diesen Kriterien wird ein Bewertungsschema formuliert, welches für die Betrachtung der einzelnen Varianten benutzt wird.Bei dieser Betrachtung wurden echtzeitfähige Linuxvarianten anhand des erarbeiteten Schemas auf einen Einsatz in der Automatisierungstechnik untersucht. Betrachtet wurden die folgenden Varianten: RT-Linux, RTAI-Linux, KURT, Monta-vista-Linux, TimeSys-Linux, RED-Linux und REDICE Linux. Zusätzlich wurde auch der Standard-Linux Kernel anhand der Kriterien bezüglich seiner Einsatzmöglichkeiten untersucht. Es zeigt sich, dass mit den analysierten echtzeitfähigen Linuxvarianten für jeden Bereich in der Automatisierungstechnik ein geeignetes Betriebssystem existiert .Dabei bietet gerade das Modell der Freien Software in der Automatisierungstechnik viele Vorteile, die bei proprietären Betriebssystemen nicht vorhanden sind

    Automatisierte Palettierung mit Mehrfachgreifern

    Get PDF
    [no abstract

    XML-Verarbeitung auf Grafikkarten

    Get PDF
    Die Extensible Markup Language (XML) ist ein weit verbreitetes, strukturiertes Format zur Datenspeicherung und zum Datenaustausch. Die Komplexität und die Menge der zu verarbeitenden XML-Daten hat in den vergangenen Jahren erheblich zugenommen, und sowohl in der Wissenschaft wie auch in der Wirtschaft wird an Verfahren zur schnellen Verarbeitung von XML gearbeitet. In einigen Arbeiten werden auch Verfahren zur parallelen Verarbeitung von XML mittels üblicher Mehrkern-CPUs entwickelt. Seit einigen Jahren gewinnt die parallele Verarbeitung allgemeiner Probleme mittels Grafikprozessoren (GPUs) an Bedeutung. GPUs ähneln in ihrer Architektur und Arbeitsweise dem bekannten Single Instruction Multiple Data-Prinzip. Daher sind GPUs besonders gut geeignet für die Verarbeitung massiv-datenparalleler Probleme wie etwa der Matrixmultiplikation oder der Bildverarbeitung. XML-Dokumente bzw. XML-Datenmodelle haben eine baumartige Struktur und folglich basieren viele der Verfahren zur Verarbeitung von XML auf dieser Baumstruktur. Solche Strukturen und Verfahren können jedoch wegen der Architektur von GPUs nicht trivial von CPUs auf GPUs übertragen werden, selbst wenn es sich um Verfahren zur parallelen Verarbeitung mittels Mehrkern-CPUs handelt. Daher existieren bisher kaum Arbeiten, die die parallele Verarbeitung von XML mittels GPUs untersuchen. In der vorliegenden Arbeit wird anhand einer konkreten XML-Anwendung, der Transformation von XML-Dokumenten mit XSLT, untersucht, inwieweit die Verarbeitung von XML an die massiv-parallele Architektur von GPUs angepasst werden kann. Dazu wird zunächst ein Konzept zur XSLT-Verarbeitung durch GPUs entworfen und danach werden die vier wichtigsten in diesem Konzept eingesetzten neuen Verfahren vorgestellt: ein schnelles Sortierverfahren für GPUs, ein Verfahren um GPUs als asynchrone Koprozessoren für die CPU einsetzen zu können, ein Verfahren um XPath-Ausdrücke parallel auszuwerten und schließlich ein Verfahren zur XSLT-Verarbeitung mittels GPUs. In umfangreichen Tests wird gezeigt, dass mit den hier dargelegten Verfahren die Nutzung von GPUs für die XPath- und XSLT-Verarbeitung in vielen Fällen zu einer Leistungssteigerung gegenüber der Verarbeitung durch Mehrkern-CPUs führt. Es ist demnach möglich, GPUs auch zur Verarbeitung von XML gewinnbringend einzusetzen

    Die Systemsoftware für den First Level Trigger des HERA-B Experiments

    Full text link
    Für das HERA-B Experiment am DESY in Hamburg entwickelt der Lehrstuhl für Informatik V die Hard-und Software der ersten Triggerstufe. Das benötigte System muß hoch selektiv und effizient interessante Messungen bei einer Meßrate von 10 Mhz herausfiltern. Für die Analyse stehen 9 Mikrosekunden zur Verfügung, in denen aus einer Messung Spuren rekonstruiert werden müssen. Hierfür wird ein Multiprozessorsystem mit massiv paralleler und gepipelineter Architektur aufgebaut. Es besteht aus etwa 80 diskret aufgebauten Spezialprozessoren, die bis zu 600 Millionen Spuren/s rekonstruieren. Die Daten werden mit einer Rate von 1 Terabit/s über 1600 optische Verbindungen empfangen. Jedes Prozessorboard ist als VME-Einschub ausgeführt, der zusätzlich einen Mikroprozessor zur Steuerung besitzt. Insgesamt besteht das heterogene Steuerungssystem des Triggers aus etwa 90 Rechnern, die über VME-Bus und Ethernet kommunizieren. Während der Server und die VME-Host-Rechner mit Unix arbeiten, besitzen die Board-Mikroprozessoren kein Betriebssystem und nur den VME-Bus als Schnittstelle nach außen. Im Rahmen dieser Arbeit wurde eine Entwicklungs- und Laufzeitumgebung implementiert, die das Programmieren dieser Rechner in C und die Verwendung der C-Standardbibliothek erlaubt. Weiterhin wurde ein Prototyp für ein zentrales Trigger-Steuerprogramm, mit grafischer Oberfläche und Netzwerkkommunikation zu den einzelnen Board-Prozessen, in der Sprache Tcl/Tk entwickelt. Für Tests, Inbetriebnahme und physikalische Fragestellungen wird eine Simulation des Triggers und der vorgeschalteten drei Pretriggersysteme, die an anderen Instituten entwickelt werden, benötigt. Im Rahmen der Arbeit wurde ein objektorientiertes Framework entwickelt, mit dem logische Simulationen digitaler Schaltungen implementiert werden können. Es wird von den Instituten eingesetzt, um ihre Subsystemsimulationen zu entwickeln, die dann aufgrund der gemeinsamen Basis zu einer Gesamtsimulation zusammengefügt werden können

    Vermeidung von Interferenzen bei der Konsolidierung von Diensten auf zeitlich geteilten Ressourcen

    Get PDF
    Der steigende Bedarf an Internettraffic, Speicher und Verarbeitung benötigt immer mehr Hardwareressourcen. Zusätzlich überdimensionieren Datenzentrumbetreiber ihre Infrastruktur, um auch bei Bedarfsspitzen hinreichend Leistung zur Verfügung stellen zu können. Das führt zu einer geringen Ressourcenauslastung und damit zu einem erhöhten Energieverbrauch. Durch Konsolidierung der aktiven Dienste auf einer Teilmenge der physischen Server zu Zeiten geringer Auslastung können zum einen nicht benötigte Server ausgeschaltet werden und zum anderen sind die verbleibenden Server besser ausgelastet. Jedoch müssen sich Dienste nach der Konsolidierung die physischen Ressourcen mit anderen Diensten teilen. Durch Wechselwirkungen auf gemeinsam genutzten Ressourcen, sogenannten Interferenzen, verschlechtert sich die Performanz der Dienste. In dieser Arbeit wird auf Interferenzen eingegangen, die aufgrund des zeitlich variierenden Ressourcenverbrauchs von Diensten entstehen. Am Beispiel von der Rechenzeit einzelner Prozessorkerne wird mit Hilfe des Cutting Stock Problems mit nichtdeterministischen Längen (ND-CSP) der Energieverbrauch durch die Zahl der benötigten Ressourcen um bis zu 64,1% gesenkt. Durch Berücksichtigung der zeitlichen Variation des Ressourcenverbrauchs verbessert sich die Performanz um bis zu 59,6% gegenüber anderen Konsolidierungsstrategien. Außerdem wird das Konzept des Überlappungskoeffizienten eingeführt. Dieser beschreibt die probabilistische Beziehung zweier parallel laufender Dienste, inwiefern sie gleichzeitig aktiv sind. Sind Dienste nicht gleichzeitig aktiv, können sie ohne zu erwartende Interferenzen konsolidiert werden. Umgekehrt sollte die Konsolidierung gleichzeitig aktiver Dienste vermieden werden. Die Analyse eines Datenzentrums von Google zeigt, dass beide Szenarien einen signifikanten Anteil darstellen. Zur Berücksichtigung des Überlappungskoeffizienten wird das ND-CSP erweitert und näherungsweise gelöst. Hier zeigt sich jedoch weder eine Verbesserung noch eine Verschlechterung der Performanz der Dienste bei gleichem Energieverbrauch. Perspektivisch, bei der exakten Lösung und weiterer Optimierung, können aber damit Dienste eventuell so allokiert werden, dass ihre Interferenzen reduziert oder im Idealfall sogar weitgehend ausgeschlossen werden können.An increasing portion of IP traffic is processed and stored in data centers. However, data center providers tend to over-provision their resources. Therefore, underutilized resources unnecessarily waste energy. Consolidating services allows them to be executed within a subset of the entire data center and to turn off the unnecessary, idling machines. Additionally, the remaining machines are properly utilized and, hence, more energy-efficient. Nevertheless, this has to be balanced against degrading the quality of service due to the shared resources of the physical machines after the consolidation. This thesis focuses on the above mentioned interferences due to fluctuating workloads. These are treated in the framework of the Cutting Stock Problem, where items with non-deterministic length are introduced. This reduces the power consumption by minimizing the necessary, active resources by up to 64.1% for the exemplary CPU time of individual cores. Thanks to the awareness of workload fluctuations, it improves the performance of services by up to 59.6% compared to other allocation schemes. Additionally, the concept of 'overlap coefficients' is introduced, which describes the probabilistic relation between two services which run in parallel. The more often these services are active at the same time the higher the overlap coefficient and vice versa. Services which are not active at the same time can be consolidated without any expected interference effects, while these with common activity periods should not be consolidated. The analysis of one of Google's data centers unveils that most of the services can be mapped onto one of the two patterns, while few with undetermined relation remain. The ND-CSP is extended by the 'overlap coefficient' and approximatively solved. In contrast to the former ND-CSP, neither an improvement nor a deterioration of the consolidation results is obtained. In the future, the services can be allocated with reduced or even without interference effects if an exact solution or a multi-objective optimization is applied

    Multimonitoring und Taskmanagement

    Get PDF
    Window Manager begleiten den Computeralltag seit ungefähr 30 Jahren. Sie vereinfachen durch Visualisierung, Interaktionstechniken und Organisationsmöglichkeiten die Handhabung der verschiedensten täglichen Arbeitsprozesse von Benutzern unterschiedlichster Berufsgruppen. Das Konzept, auf dem sie basieren, ist noch älter. Trotzdem gibt es vergleichsweise wenig Literatur über die Benutzerzufriedenheit und eventuell auftretende Probleme. Gerade bei einer Software wie einem Window Manager sind diese Daten umso wichtiger, da sie applikationsübergreifend direkt auf den Benutzeralltag Einfluss nehmen. Der Fokus dieser Arbeit liegt daher auf dem Umgang der Benutzer mit den technischen Herausforderungen im alltäglichen Umgang mit Window Managern. In diesem Rahmen werden die Bereiche Multimonitoring und Taskmanagement gesondert betrachtet, da sich in diesen Bereichen die auffälligsten Veränderungen abzeichnen. Eine Gegenüberstellung bisher erstellter Studien mit Prototypen und neu entwickelten Techniken soll Klarheit bringen, inwiefern die Weiterentwicklung letztendlich dem Anwenderwunsch und folglich auch seinem Nutzen entspricht. Die Analyse der Erkenntnisse der bestehenden Studien führte zur Aufstellung von sechzehn Hypothesen zur tatsächlichen Verwendung von Window Managern, Taskmanagement und Multimonitoring, die im Rahmen einer Online Studie verifiziert werden sollten. Die Studie wurde als Online Fragebogens konzipiert und unter Beteiligung von 73 Teilnehmern durchgeführt. Die Ergebnisse der Online Studie werden gemeinsam mit den Ergebnissen der vorangegangenen Literaturstudie betrachtet und den Prototypen gegenübergestellt.Window manager have been an integral part of our daily interactions with computers for the last three decades. The underlying concept, the desktop metaphor, dates back even further. Employing visualization, interaction, and management techniques window managers simplify the handling of the everyday user processes across professions. However little is still known regarding user satisfaction with and potential problems of window managers. Developing evidence-based insight into this realm is essential for improving the usability of window-based computer interfaces as they directly affect the daily life of the end user. The thesis focuses on the technical challenges for users in the everyday work environments when interacting with window managers and their applications. More specifically this research investigates aspects of multi-monitoring and task management as they offer promising opportunities for improving the way users currently interact with window managers. The thesis presents an analysis of related work that proposes new prototypes and techniques to determine whether the presented enhancements are addressing the end user's needs and benefits. This analysis led to the development of sixteen hypotheses regarding the way users interact with window managers, and their practices regarding task management and multi-monitoring. To verify the hypotheses an online survey was designed and implemented yielding responses from 73 participants. The results of the survey were compared with the results of previous studies and technical prototypes. The most significant findings were identified in the areas of navigation, window organization and sequence, interaction between windows, task management, multitasking and multi-monitorin
    corecore