5 research outputs found
Predicting model training time to optimize distributed machine learning applications
Despite major advances in recent years, the field of Machine Learning continues to face research and technical challenges. Mostly, these stem from big data and streaming data, which require models to be frequently updated or re-trained, at the expense of significant computational resources. One solution is the use of distributed learning algorithms, which can learn in a distributed manner, from distributed datasets. In this paper, we describe CEDEs—a distributed learning system in which models are heterogeneous distributed Ensembles, i.e., complex models constituted by different base models, trained with different and distributed subsets of data. Specifically, we address the issue of predicting the training time of a given model, given its characteristics and the characteristics of the data. Given that the creation of an Ensemble may imply the training of hundreds of base models, information about the predicted duration of each of these individual tasks is paramount for an efficient management of the cluster’s computational resources and for minimizing makespan, i.e., the time it takes to train the whole Ensemble. Results show that the proposed approach is able to predict the training time of Decision Trees with an average error of 0.103 s, and the training time of Neural Networks with an average error of 21.263 s. We also show how results depend significantly on the hyperparameters of the model and on the characteristics of the input data.This work has been supported by national funds through FCT – Fundação para a Ciência e Tecnologia through projects UIDB/04728/2020, EXPL/CCI-COM/0706/2021, and CPCA-IAC/AV/475278/2022
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
Shared resource interference is observed by applications as dynamic
performance asymmetry. Prior art has developed approaches to reduce the impact
of performance asymmetry mainly at the operating system and architectural
levels. In this work, we study how application-level scheduling techniques can
leverage moldability (i.e. flexibility to work as either single-threaded or
multithreaded task) and explicit knowledge on task criticality to handle
scenarios in which system performance is not only unknown but also changing
over time. Our proposed task scheduler dynamically learns the performance
characteristics of the underlying platform and uses this knowledge to devise
better schedules aware of dynamic performance asymmetry, hence reducing the
impact of interference. Our evaluation shows that both criticality-aware
scheduling and parallelism tuning are effective schemes to address interference
in both shared and distributed memory applicationsComment: Published in ICPP Workshops '2
Transactional memory on heterogeneous architectures
Tesis Leida el 9 de Marzo de 2018.Si observamos las necesidades computacionales de hoy, y tratamos de predecir
las necesidades del mañana, podemos concluir que el procesamiento heterogéneo
estará presente en muchos dispositivos y aplicaciones.
El motivo es lógico: algoritmos diferentes y datos de naturaleza diferente encajan mejor
en unos dispositivos de cómputo que en otros. Pongamos como ejemplo una
tecnología de vanguardia como son los vehículos inteligentes. En este tipo de
aplicaciones la computación heterogénea no es una opción, sino un requisito.
En este tipo de vehículos se recolectan y analizan imágenes, tarea para la cual
los procesadores gráficos (GPUs) son muy eficientes.
Muchos de estos vehículos utilizan algoritmos sencillos,
pero con grandes requerimientos de tiempo real, que deben
implementarse directamente en hardware utilizando FPGAs.
Y, por supuesto, los procesadores multinúcleo tienen un
papel fundamental en estos sistemas, tanto organizando el trabajo de otros coprocesadores
como ejecutando tareas en las que ningún otro procesador
es más eficiente. No obstante, los procesadores tampoco siguen siendo dispositivos
homogéneos. Los diferentes núcleos de un procesador pueden
ofrecer diferentes características en términos de potencia y consumo
energético que se adapten a las necesidades de cómputo de la aplicación.
Programar este conjunto de dispositivos es una tarea compleja, especialmente
en su sincronización.
Habitualmente, esta sincronización se basa en operaciones atómicas, ejecución y
terminación de kernels, barreras y señales. Con estas primitivas de sincronización
básicas se pueden construir otras estructuras más complejas.
Sin embargo, la programación de estos
mecanismos es tediosa y propensa a fallos. La memoria transaccional
(TM por sus siglas en inglés) se ha propuesto como un mecanismo
avanzado a la vez que simple para garantizar la exclusión mutua
On-Chip-Netzwerk-Architekturen für eingebettete hierarchische Multiprozessoren
Ax J. On-Chip-Netzwerk-Architekturen für eingebettete hierarchische Multiprozessoren. Bielefeld: Universität Bielefeld; 2019.Das Ziel der vorliegenden Arbeit ist die Realisierung und Analyse einer skalierbaren
Verbindungsstruktur für ein Multi-Prozessorsystem auf einem Chip (MPSoC). Durch
die zunehmende Digitalisierung werden in immer mehr Geräten des täglichen Lebens
und der Industrie mikroelektronische Systeme eingesetzt. Hierbei handelt es sich häufig
um energiebeschränkte Systeme, die zusätzlich einen stetig steigenden Bedarf an
Rechenleistung aufweisen. Ein Trend, diesen Bedarf zu decken ist die Integration von
zunehmend mehr Prozessorkernen auf einem einzelnen Mikrochip. Many-Core-Systeme
mit vielen hunderten bis tausenden ressourceneffizienten CPU-Kernen versprechen
hierbei eine besonders hohe Energieeffizienz. Im Vergleich zu Systemen mit wenigen
leistungsfähigen, jedoch auch komplexeren CPUs, wird bei Many-Cores die Rechenleistung
durch massive Parallelität erzielt. In der AG Kognitronik und Sensorik der
Universität Bielefeld wird dazu das CoreVA-MPSoC entwickelt. Um hunderte von CPUs
auf einen Chip zu integrieren, verfügt das CoreVA-MPSoC über eine hierarchische
Verbindungsstruktur. Diese besteht aus einem On-Chip-Netzwerk (NoC), welches eine
Vielzahl von CPU-Cluster koppelt. In jedem CPU-Cluster sind mehrere ressourceneffiziente
VLIW-Prozessorkerne über eine eng gekoppelte Bus-Struktur verbunden.
Der Fokus dieser Arbeit ist die Entwicklung und Entwurfsraumexploration einer
ressourceneffizienten NoC-Architektur für den Einsatz im CoreVA-MPSoC. Die Entwurfsraumexploration
findet dazu auf verschiedenen Ebenen statt. Auf der Ebene der
Verbindungsstruktur des NoCs werden verschiedene Topologien und Mechanismen der
Flusskontrolle untersucht. Des Weiteren wird die Entwicklung und Analyse eines synchronen,
mesochronen und asynchronen NoCs vorgestellt, um die Skalierbarkeit und
Energieeffizienz dieser Methoden zu untersuchen. Eine weitere Ebene bildet die Schnittstelle
zum Prozessorsystem bzw. CPU-Cluster, die einen maßgeblichen Einfluss auf die
Softwareentwicklung und Gesamtperformanz des Systems hat. Auf Systemebene wird
schließlich die Anbindung verschiedener Speicherarchitekturen an das NoC vorgestellt
und deren Auswirkung auf Performanz und Energiebedarf analysiert. Ein abstraktes
Modell des CoreVA-MPSoCs mit Fokus auf dem NoC erlaubt die Abschätzung von Fläche,
Performanz und Energie des Systems, bzw. der Ausführung von Streaming-Anwendungen.
Dieses Modell kann im CoreVA-MPSoC-Compiler für die automatische Abbildung
von Anwendungen auf dem MPSoC eingesetzt werden. Zehn Streaming-Anwendungen,
vorwiegend aus dem Bereich der Signal- und Bildverarbeitung, zeigen bei der Abbildung
auf einem CoreVA-MPSoC mit 32 CPUs eine durchschnittliche Beschleunigung um den
Faktor 24 gegenüber der Ausführung auf einer CPU.
Ein CoreVA-MPSoC mit 64 CPUs und insgesamt 3MB Speicher besitzt bei einer prototypischen
Implementierung in einer 28-nm-FD-SOI-Standardzellenbibliothek einen
Flächenbedarf von 14,4mm2. Bei einer Taktfrequenz von 700MHz liegt die durchschnittliche
Leistungsaufnahme bei 2W. Eine FPGA-basierte Emulation auf einem
FPGA-Cluster aus Xilinx Virtex-5-FPGAs erlaubt zudem eine skalierbare Verifikation
eines CoreVA-MPSoCs mit nahezu beliebig vielen CPUs