1 |
Many-core architecture for programmable hardware acceleratorLee, Junghee 13 January 2014 (has links)
As the further development of single-core architectures faces seemingly insurmountable physical and technological limitations, computer designers have turned their attention to alternative approaches. One such promising alternative is the use of several smaller cores working in unison as a programmable hardware accelerator. It is clear that the vast – and, as yet, largely untapped – potential of hardware accelerators is coming to the forefront of computer architecture. There are many challenges that must be addressed for the programmable hardware accelerator to be realized in practice. In this thesis, load-balancing, on-chip communication, and an execution model are studied. Imbalanced distribution of workloads across the processing elements constitutes wasteful use of resources, which results in degrading the performance of the system. In this thesis, a hardware-based load-balancing technique is proposed, which is demonstrated to be more scalable than state-of-the-art loadbalancing techniques. To facilitate efficient communication among ever increasing number of cores, a scalable communication network is imperative. Packet switching networks-on-chip (NoC) is considered as a viable candidate for scalable communication fabric. The size of flit, which is a unit of flow control in NoC, is one of important design parameters that determine latency, throughput and cost of NoC routers. How to determine an optimal flit size is studied in this thesis and a novel router architecture is proposed, which overcomes a problem related with the flit size. This thesis also includes a new execution model and its supporting architecture. An event-driven model that is an extension of hardware description language is employed as an execution model. The dynamic scheduling and module-level prefetching for supporting the event-driven execution model are evaluated.
|
2 |
Harmony: an execution model for heterogeneous systemsDiamos, Gregory Frederick 10 November 2011 (has links)
The emergence of heterogeneous and many-core architectures presents a
unique opportunity to deliver order of magnitude performance
increases to high performance applications by matching certain classes
of algorithms to specifically tailored architectures. However, their
ubiquitous adoption has been limited by a lack of
programming models and management frameworks designed to reduce the
high degree of complexity of software development inherent to
heterogeneous architectures. This dissertation introduces Harmony, an execution
model for heterogeneous systems that draws heavily from concepts and
optimizations used in processor micro-architecture to provide:
(1) semantics for simplifying heterogeneity management, (2) dynamic scheduling
of compute intensive kernels to heterogeneous processor resources, and
(3) online monitoring driven performance optimization for heterogeneous many
core systems. This work focuses on simplifying development and ensuring binary
portability and scalability across system configurations and sizes.
|
3 |
Contribution à la mise en oeuvre d'un moteur d'exécution de modèles UML pour la simulation d'applications temporisées et concurrentes. / Contribution to the realization of an UML execution engine for simulating timed and concurrent applicationsBenyahia, Abderraouf 26 November 2012 (has links)
L'Ingénierie Dirigée par les Modèles (IDM) place les modèles au cœur des processus de d'ingénierie logicielle et système. L'IDM permet de maitriser la complexité des logiciels et d'améliorer la rapidité et la qualité des processus de développement. Le Model Driven Architecture (MDA) est une initiative de l'Object Management Group (OMG) définissant un cadre conceptuel, méthodologique et technologique pour la mise-en-œuvre de flots de conception basés sur l'IDM. Le MDA s'appuie particulièrement sur une utilisation intensive des formalismes normalisés par l'OMG pour la mise-en-œuvre des flots IDM (UML pour la modélisation, QVT pour les transformations, etc.). Ce travail s'intéresse à la sémantique d'exécution du langage UML appliqué à l'exécution de modèles des applications temps réel embarquées. Dans ce contexte, l'OMG propose une norme qui définit un modèle d'exécution pour un sous-ensemble d'UML appelé fUML (foundational UML subset). Ce modèle d'exécution définit une sémantique précise non ambigüe facilitant la transformation de modèles, l'analyse, l'exécution de modèles et la génération de code. L'objectif de cette thèse est d'étudier et mettre-en-œuvre un moteur d'exécution de modèles UML pour les systèmes temps réel embarqués en explicitant les hypothèses portant sur la sémantique d'exécution des modèles à un niveau d'abstraction élevé afin de permettre l'exécution d'un modèle le plus tôt possible dans le flot de conception de l'application. Pour cela, nous avons étendu le modèle d'exécution défini dans fUML, en apportant une contribution sur trois aspects importants concernant les systèmes temps réel embarqués : * Gestion de la concurrence: fUML ne fournit aucun mécanisme pour gérer la concurrence dans son moteur d'exécution. Nous répondons à ce problème par l'introduction d'un ordonnanceur explicite permettant de contrôler les différentes exécutions parallèles, tout en fournissant la flexibilité nécessaire pour capturer et simuler différentes politiques d'ordonnancements. * Gestion du temps : fUML ne fixe aucune hypothèse sur la manière dont les informations sur le temps sont capturées ainsi que sur les mécanismes qui les traitent dans le moteur d'exécution. Pour cela, nous introduisons une horloge, en se basant sur le modèle de temps discret, afin de prendre en compte les contraintes temporelles dans les exécutions des modèles. * Gestion des profils : les profils ne sont pas pris en compte par ce standard, cela limite considérablement la personnalisation du moteur d'exécution pour prendre en charge de nouvelles variantes sémantiques. Pour répondre à ce problème, nous ajoutons les mécanismes nécessaires qui permettent l'application des profils et la capture des extensions sémantiques impliquées par l'utilisation d'un profil. Une implémentation de ces différentes extensions est réalisée sous forme d'un plugin Eclipse dans l'outil de modélisation Papyrus UML. / Model Driven Engineering (MDE) places models at the heart of the software engineering process. MDE helps managing the complexity of software systems and improving the quality of the development process. The Model Driven Architecture (MDA) initiative from the Object Management Group (OMG) defines a framework for building design flows in the context of MDE. MDA relies heavily on formalisms which are normalized by the OMG, such as UML for modeling, QVT for model transformations and so on. This work deals with the execution semantics of the UML language applied to embedded real-time applications. In this context, the OMG has a norm which defines an execution model for a subset of UML called fUML (foundational UML subset). This execution model gives a precise semantics to UML models, which can be used for analyzing models, generating code, or verifying transformations. The goal of this PhD thesis is to define and build an execution engine for UML models of embedded real-time systems, which takes into account the explicit hypothesis made by the designer about the execution semantics at a high level of abstraction, in order to be able to execute models as early as possible in the design flow of a system. To achieve this goal, we have extended the fUML execution model along three important axes with regard to embedded real-time systems: - Concurrency: fUML does not provide any mechanism for handling concurrent activities in its execution engine. We address this issue by introducing an explicit scheduler which allows us to control the execution of concurrent tasks. - Time: fUML does not provide any mean to handle time. By adding a clock to the model of execution, we can take into account the elapsed time as well as temporal constraints on the execution of activities. - Profiles: fUML does not take profiles into account, which makes it difficult to personalize the execution engine with new semantic variants. The execution engine we propose allows the use of UML models with profiles, and interprets these profiles as semantic extensions of the execution model. An implementation of these extensions has been realized as an Eclipse plug-in using the Papyrus UML modeling tool.
|
4 |
Ordonnancement d'applications à flux de données pour les MPSoC embarqués hybrides comprenant des unités de calcul programmables et des accélérateurs matériels / Scheduling of dynamic streaming applications on hybrid embedded MPSoCs comprising programmable computing units and hardware acceleratorsArras, Paul-Antoine 03 February 2015 (has links)
Bien que de nombreux appareils numériques soient aujourd'hui capables de lire des contenus vidéo en temps réel et d'offrir une restitution de grande qualité, le décodage vidéo dans les systèmes embarqués n'en est pas pour autant devenu une opération anodine. En effet, les codecs récents tels que H.264 et HEVC sont d'une complexité telle que le recours à des architectures mixtes logiciel/matériel est presque incontournable. Or les plateformes de ce type sont notoirement difficiles à programmer efficacement. Cette thèse relève le défi du développement d'applications à flux de données pour les cibles embarquées hybrides et de leur exécution efficace, et propose plusieurs contributions. La première est une extension des heuristiques d'ordonnancement de liste pour tenir compte des contraintes mémorielles. La seconde est un modèle d'exécution à flot de données compatible avec la plupart des modèles existants et avec une large classe de plateformes matérielles, ainsi qu'un ordonnanceur dynamique. Enfin, de nombreux développements ont été menés sur une architecture réelle de STMicroelectronics pour démontrer la faisabilité de l'approche. / Although numerous electronic devices are nowadays able to play video contents in real time and offer high-quality reproduction, video decoding in embedded systems has not become a trivial process yet. As a mater of fact, recent codecs such as H.264 and HEVC exhibit such a complexity that resorting to mixed sofware-hardware architecture is almost unavoidable. However, programming efficiently this kind of platforms is well-known to be tricky. This thesis addresses the issue of developing streaming applications for hybrid embedded targets and executing them efficiently, and proposes several contributions. The first one is an extension of the classical list-scheduling heuristics to take memory constraints into account. Te second one is a datafow execution model compatible with most existing models and with a large set of hardware platforms, as well as a dynamic scheduler. Lastly, numerous developments have been carried out on a real-world architecture from STMicroelectronics so as to demonstrate the feasibility of the approach.
|
5 |
[en] QEEF: AN EXTENSIBLE QUERY EXECUTION ENGINE / [pt] QEEF: UMA MÁQUINA DE EXECUÇÃO DE CONSULTASFAUSTO VERAS MARANHAO AYRES 30 June 2004 (has links)
[pt] O processamento de consultas em Sistemas de Gerência de
Banco de Dados tradicionais tem sido largamente estudado na
literatura e utilizado comercialmente com enorme sucesso.
Isso é devido, em parte, à eficiência das Máquinas de
Execução de Consultas (MEC) no suporte ao modelo de
execução tradicional. Porém, o surgimento de novos cenários
de aplicação, principalmente em conseqüência do modelo
computacional da web, motivou a pesquisa de novos modelos
de execução, tais como: modelo adaptável e modelo contínuo,
além da pesquisa de modelos de dados semi-estruturados, tal
como o XML, ambos não suportados pelas MEC tradicionais. O
objetivo desta tese consiste no desenvolvimento de uma MEC
extensível frente a diferentes modelos de execução e de
dados. Adicionalmente, esta proposta trata de maneira
ortogonal o modelo de execução e o modelo de dados, o que
permite a avaliação de planos de execução de consultas
(PEC) com fragmentos em diferentes modelos. Utilizou-se a
técnica de framework de software para a especificação da
MEC extensível, produzindo o framework QEEF (Query
Execution Engine Framework). A extensibilidade da
solução reflete-se em um meta-modelo, denominado QUEM
(QUery Execution Meta-model), capaz de exprimir diferentes
modelos em um meta-PEC. O framework QEEF pré-processa um
meta-PEC e produz um PEC final a ser avaliado pela MEC
instanciada. Como parte da validação desta proposta,
instanciou-se o QEEF para diferentes modelos de execução e
de dados. / [en] Querying processing in traditional Database Management
Systems (DBMS) has been extensively studied in the
literature and adopted in industry. Such success is, in
part, due to the performance of their Query Execution
Engines (QEE) for supporting the traditional query
execution model. The advent of new query scenarios, mainly
due to the web computational model, has motivate the
research on new execution models such as: adaptive and
continuous, and on semistructured data models, such as XML,
both not natively supported by traditional query engines.
This thesis proposes the development of an extensible QEE
adapted to the new execution and data models. Achieving
this goal, we use a software design approach based on
framework technique to produce the Query Execution Engine
Framework (QEEF). Moreover, we address the question of the
orthogonality between execution and data models, witch
allows for executing query execution plans (QEP) with
fragments in different models. The extensibility of our
solution is specified by in a QEP by an execution meta-
model named QUEM (QUery Execution Meta-model) used to
express different models in a meta-QEP. During query
evaluation, the latter is pre-processed by the QEEF
producing a final QEP to be evaluated by the running QEE.
The QEEF is instantiated for different execution and data
models as part of the validation of this proposal.
|
Page generated in 0.0955 seconds