• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 53
  • 11
  • 10
  • 10
  • 8
  • 6
  • 3
  • 1
  • 1
  • Tagged with
  • 125
  • 47
  • 29
  • 27
  • 19
  • 18
  • 18
  • 17
  • 15
  • 14
  • 12
  • 12
  • 11
  • 10
  • 9
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
61

Αλγόριθμοι μηχανικής μάθησης σε πολυεπεξεργαστικά περιβάλλοντα

Στεργίου, Κώστας 27 April 2015 (has links)
Σκοπός της διπλωματικής εργασίας είναι η μελέτη αλγορίθμων Μηχανικής Μάθησης σε περιβάλλοντα πολυεπεξεργασίας. Οι τελευταίες εξελίξεις στον τομέα της παράλληλης και της κατανεμημένης επεξεργασίας, έχουν φέρει πραγματική επανάσταση στην κατασκευή των υπολογιστών. Παρότι όμως η εξέλιξη του υλικού (hardware) προχωρά με αλματώδεις ρυθμούς, η αντίστοιχη ανάπτυξη του λογισμικού καθυστερεί σε μεγάλο βαθμό. Αποτέλεσμα είναι να παρέχεται σε απλούς χρήστες μεγάλη επεξεργαστική ισχύς, η οποία όμως παραμένει αναξιοποίητη, λόγω των εφαρμογών που δεν μπορούν να εκμεταλλευτούν σε ικανοποιητικό βαθμό την παρεχόμενη ισχύ. Η ανάπτυξη αλγορίθμων στον τομέα της τεχνητής νοημοσύνης έως τώρα γίνονταν σύμφωνα με τα κλασικά πρότυπα της συναρτησιακής μεθόδου ή στην καλύτερη περίπτωση με τεχνικές αντικειμενοστραφούς προγραμματισμού. Σε κάθε περίπτωση, η εκτέλεση του αλγορίθμου γίνεται σε έναν επεξεργαστή με τις εντολές να εκτελούνται σειριακά. Την τελευταία δεκαετία αναπτύχθηκαν εφαρμογές και περιβάλλοντα τα οποία διευκόλυναν την εκτέλεση πολλών διαφορετικών αλγορίθμων και μεθόδων μέσω ενός κοινού περιβάλλοντος διεπαφής με τον χρήστη (πχ Weka, R, Matlab κλπ). Η προσέγγιση αυτή διευκόλυνε την διάδοση αλγορίθμων και μεθόδων που ήταν πριν πολύ δύσκολο να εκτελεστούν από ανθρώπους που δεν είχαν την κατάλληλη εξοικείωση με τον προγραμματισμό. Από την άλλη πλευρά όμως πρόσθεσε ένα ακόμη επίπεδο πολυπλοκότητας στις μεθόδους που αναπτύσσονταν γι’ αυτά τα περιβάλλοντα, κάτι που είχε σαν αποτέλεσμα αλγόριθμους πιο αργούς και με αυξημένους περιορισμούς λόγω των μηχανισμών της εφαρμογής που τους φιλοξενούσε. Οι μετρήσεις έγιναν με την χρήση αλγόριθμων δέντρων απόφασης. Η κατηγορία αυτή των μεθόδων μηχανικής μάθησης είναι ένας εξαιρετικός υποψήφιος, για να μεταφερθεί σε νέες πολυεπεξεργαστικές πλατφόρμες καθώς αποτελούνται από επαναληπτικές διαδικασίες που δεν χρειάζονται να περιμένουν άλλες για να εκτελεστούν. Στην παρούσα εργασία αναπτύχθηκε μια εφαρμογή, η οποία μπορεί να δέχεται σαν όρισμα έναν ή περισσότερους αλγόριθμους δέντρων απόφασης, να ορίζει τις παραμέτρους αυτών και κατόπιν να τους εκτελεί παράλληλα. Οι συγκεκριμένες μέθοδοι που επιλέχθηκαν, έχουν υλοποιηθεί αρχικά μέσα στο περιβάλλον Weka, για να μπορέσουν όμως να εκτελεστούν παράλληλα έπρεπε να ενσωματωθούν σε μια άλλη εφαρμογή, η οποία θα μπορούσε να δημιουργήσει πολλά διαφορετικά στιγμιότυπα. Η χρήση της εφαρμογής που αναπτύξαμε επιτρέπει την παράλληλη εκτέλεση αλγορίθμων, αλλά απέχει πολύ από τον μπορεί να τους βελτιστοποιήσει, έτσι ώστε να μπορέσουν να εκτελεστούν με την μέγιστη δυνατή ταχύτητα. Αυτό συμβαίνει, γιατί ακόμα και εκτός του περιβάλλοντος για το οποία αναπτύχθηκε, ο κώδικάς τους χρησιμοποιεί τις γενικές και αφηρημένες τεχνικές που είναι απαραίτητες για την ενσωμάτωσή τους στο Weka. Παρόλα αυτά, καταφέραμε να τρέξουμε πολλές διαφορετικές εκδόσεις αλγορίθμων, μέσα σε ένα κλάσμα του χρόνου που θα απαιτούνταν για να τρέξουν όλες αυτές οι μορφές μέσα στο Weka. Παρατηρήσαμε ότι η επίδραση των παραμέτρων στον χρόνο εκτέλεσης των μεθόδων δεν είναι ιδιαίτερα σημαντική. Αντίθετα, το μέγεθος των δεδομένων μεταβάλλει σε αρκετά βαθμό τον χρόνο εκτέλεσης, χωρίς όμως η σχέση του χρόνου εκτέλεσης και του μεγέθους των στοιχείων να είναι γραμμική. Καλύτερη σχεδίαση των μεθόδων θα μπορούσε να επιφέρει δραματική επιτάχυνση του χρόνου εκτέλεσης. / --
62

Optimisation de la performance des applications de mémoire transactionnelle sur des plates-formes multicoeurs : une approche basée sur l'apprentissage automatique

Bastos castro, Marcio 03 December 2012 (has links) (PDF)
Le concept de processeur multicœurs constitue le facteur dominant pour offrir des hautes performances aux applications parallèles. Afin de développer des applications parallèles capable de tirer profit de ces plate-formes, les développeurs doivent prendre en compte plusieurs aspects, allant de l'architecture aux caractéristiques propres à l'application. Dans ce contexte, la Mémoire Transactionnelle (Transactional Memory - TM) apparaît comme une alternative intéressante à la synchronisation basée sur les verrous pour ces plates-formes. Elle permet aux programmeurs d'écrire du code parallèle encapsulé dans des transactions, offrant des garanties comme l'atomicité et l'isolement. Lors de l'exécution, les opérations sont exécutées spéculativement et les conflits sont résolus par ré-exécution des transactions en conflit. Bien que le modèle de TM ait pour but de simplifier la programmation concurrente, les meilleures performances ne pourront être obtenues que si l'exécutif est capable de s'adapter aux caractéristiques des applications et de la plate-forme. Les contributions de cette thèse concernent l'analyse et l'amélioration des performances des applications basées sur la Mémoire Transactionnelle Logicielle (Software Transactional Memory - STM) pour des plates-formes multicœurs. Dans un premier temps, nous montrons que le modèle de TM et ses performances sont difficiles à analyser. Pour s'attaquer à ce problème, nous proposons un mécanisme de traçage générique et portable qui permet de récupérer des événements spécifiques à la TM afin de mieux analyser les performances des applications. Par exemple, les données tracées peuvent être utilisées pour détecter si l'application présente des points de contention ou si cette contention est répartie sur toute l'exécution. Notre approche peut être utilisée sur différentes applications et systèmes STM sans modifier leurs codes sources. Ensuite, nous abordons l'amélioration des performances des applications sur des plate-formes multicœurs. Nous soulignons que le placement des threads (thread mapping) est très important et peut améliorer considérablement les performances globales obtenues. Pour faire face à la grande diversité des applications, des systèmes STM et des plates-formes, nous proposons une approche basée sur l'Apprentissage Automatique (Machine Learning) pour prédire automatiquement les stratégies de placement de threads appropriées pour les applications de TM. Au cours d'une phase d'apprentissage préliminaire, nous construisons les profiles des applications s'exécutant sur différents systèmes STM pour obtenir un prédicteur. Nous utilisons ensuite ce prédicteur pour placer les threads de façon statique ou dynamique dans un système STM récent. Finalement, nous effectuons une évaluation expérimentale et nous montrons que l'approche statique est suffisamment précise et améliore les performances d'un ensemble d'applications d'un maximum de 18%. En ce qui concerne l'approche dynamique, nous montrons que l'on peut détecter des changements de phase d'exécution des applications composées des diverses charges de travail, en prévoyant une stratégie de placement appropriée pour chaque phase. Sur ces applications, nous avons obtenu des améliorations de performances d'un maximum de 31% par rapport à la meilleure stratégie statique.
63

Adaptive transaction scheduling for transactional memory systems

Yoo, Richard M. January 2008 (has links)
Thesis (M. S.)--Electrical and Computer Engineering, Georgia Institute of Technology, 2008. / Committee Chair: Lee, Hsien-Hsin; Committee Member: Blough, Douglas; Committee Member: Yalamanchili, Sudhakar.
64

Statically configured heterogeneous SMT processor

Vellore Suriyakumar, Avinankumar. January 2009 (has links)
Thesis (M.S.)--State University of New York at Binghamton, Thomas J. Watson School of Engineering and Applied Science, Department of Computer Science, 2009. / Includes bibliographical references.
65

Distributed JAVA virtual machine with thread migration /

Zhu, Wenzhang. January 2004 (has links)
Thesis (Ph. D.)--University of Hong Kong, 2005.
66

Distributed object sharing for cluster-based Java virtual machine /

Fang, Weijian. January 2004 (has links)
Thesis (Ph. D.)--University of Hong Kong, 2005.
67

Efficient synchronization for a large-scale multi-core chip architecture

Zhu, Weirong. January 2007 (has links)
Thesis (D.Eng.)--University of Delaware, 2007. / Principal faculty advisor: Guang R. Gao, Dept. of Electrical and Computer Engineering. Includes bibliographical references.
68

Optimisation de la performance des applications de mémoire transactionnelle sur des plates-formes multicoeurs : une approche basée sur l'apprentissage automatique / Improving the Performance of Transactional Memory Applications on Multicores : A Machine Learning-based Approach

Castro, Márcio 03 December 2012 (has links)
Le concept de processeur multicœurs constitue le facteur dominant pour offrir des hautes performances aux applications parallèles. Afin de développer des applications parallèles capable de tirer profit de ces plate-formes, les développeurs doivent prendre en compte plusieurs aspects, allant de l'architecture aux caractéristiques propres à l'application. Dans ce contexte, la Mémoire Transactionnelle (Transactional Memory – TM) apparaît comme une alternative intéressante à la synchronisation basée sur les verrous pour ces plates-formes. Elle permet aux programmeurs d'écrire du code parallèle encapsulé dans des transactions, offrant des garanties comme l'atomicité et l'isolement. Lors de l'exécution, les opérations sont exécutées spéculativement et les conflits sont résolus par ré-exécution des transactions en conflit. Bien que le modèle de TM ait pour but de simplifier la programmation concurrente, les meilleures performances ne pourront être obtenues que si l'exécutif est capable de s'adapter aux caractéristiques des applications et de la plate-forme. Les contributions de cette thèse concernent l'analyse et l'amélioration des performances des applications basées sur la Mémoire Transactionnelle Logicielle (Software Transactional Memory – STM) pour des plates-formes multicœurs. Dans un premier temps, nous montrons que le modèle de TM et ses performances sont difficiles à analyser. Pour s'attaquer à ce problème, nous proposons un mécanisme de traçage générique et portable qui permet de récupérer des événements spécifiques à la TM afin de mieux analyser les performances des applications. Par exemple, les données tracées peuvent être utilisées pour détecter si l'application présente des points de contention ou si cette contention est répartie sur toute l'exécution. Notre approche peut être utilisée sur différentes applications et systèmes STM sans modifier leurs codes sources. Ensuite, nous abordons l'amélioration des performances des applications sur des plate-formes multicœurs. Nous soulignons que le placement des threads (thread mapping) est très important et peut améliorer considérablement les performances globales obtenues. Pour faire face à la grande diversité des applications, des systèmes STM et des plates-formes, nous proposons une approche basée sur l'Apprentissage Automatique (Machine Learning) pour prédire automatiquement les stratégies de placement de threads appropriées pour les applications de TM. Au cours d'une phase d'apprentissage préliminaire, nous construisons les profiles des applications s'exécutant sur différents systèmes STM pour obtenir un prédicteur. Nous utilisons ensuite ce prédicteur pour placer les threads de façon statique ou dynamique dans un système STM récent. Finalement, nous effectuons une évaluation expérimentale et nous montrons que l'approche statique est suffisamment précise et améliore les performances d'un ensemble d'applications d'un maximum de 18%. En ce qui concerne l'approche dynamique, nous montrons que l'on peut détecter des changements de phase d'exécution des applications composées des diverses charges de travail, en prévoyant une stratégie de placement appropriée pour chaque phase. Sur ces applications, nous avons obtenu des améliorations de performances d'un maximum de 31% par rapport à la meilleure stratégie statique. / Multicore processors are now a mainstream approach to deliver higher performance to parallel applications. In order to develop efficient parallel applications for those platforms, developers must take care of several aspects, ranging from the architectural to the application level. In this context, Transactional Memory (TM) appears as a programmer friendly alternative to traditional lock-based concurrency for those platforms. It allows programmers to write parallel code as transactions, which are guaranteed to execute atomically and in isolation regardless of eventual data races. At runtime, transactions are executed speculatively and conflicts are solved by re-executing conflicting transactions. Although TM intends to simplify concurrent programming, the best performance can only be obtained if the underlying runtime system matches the application and platform characteristics. The contributions of this thesis concern the analysis and improvement of the performance of TM applications based on Software Transactional Memory (STM) on multicore platforms. Firstly, we show that the TM model makes the performance analysis of TM applications a daunting task. To tackle this problem, we propose a generic and portable tracing mechanism that gathers specific TM events, allowing us to better understand the performances obtained. The traced data can be used, for instance, to discover if the TM application presents points of contention or if the contention is spread out over the whole execution. Our tracing mechanism can be used with different TM applications and STM systems without any changes in their original source codes. Secondly, we address the performance improvement of TM applications on multicores. We point out that thread mapping is very important for TM applications and it can considerably improve the global performances achieved. To deal with the large diversity of TM applications, STM systems and multicore platforms, we propose an approach based on Machine Learning to automatically predict suitable thread mapping strategies for TM applications. During a prior learning phase, we profile several TM applications running on different STM systems to construct a predictor. We then use the predictor to perform static or dynamic thread mapping in a state-of-the-art STM system, making it transparent to the users. Finally, we perform an experimental evaluation and we show that the static approach is fairly accurate and can improve the performance of a set of TM applications by up to 18%. Concerning the dynamic approach, we show that it can detect different phase changes during the execution of TM applications composed of diverse workloads, predicting thread mappings adapted for each phase. On those applications, we achieve performance improvements of up to 31% in comparison to the best static strategy.
69

Análise da escalabilidade de aplicações em computadores multicore

Silva, Samuel Reghim 14 June 2013 (has links)
Made available in DSpace on 2016-06-02T19:06:05Z (GMT). No. of bitstreams: 1 5312.pdf: 1746409 bytes, checksum: f1bdfc6eec1ef747466c9ed99d5d8835 (MD5) Previous issue date: 2013-06-14 / Financiadora de Estudos e Projetos / Multicore processors allow applications to explore thread-level parallelism in order to enable improvements on the elapsed time. The sharing of the memory subsystem and the discrepancy between the speeds of processors and memory access operations, however, may entail limitations to the scalability caused by thread competition for the resources. The automatic determination of the appropriate number of threads for an application that ensure efficient executions, although widely desired, is a non-trivial problem. This work aimed to evaluate the factors limiting the scalability of OpenMP parallel applications related to the contention for shared resources in multicore processors, with the goal of identifying the characteristics of applications that limit their scalability. It was found that memory accesses are a major limitation to the performance gains with parallelism. The granularity, indicating the ratio of memory accesses to processing, has been verified as being an important performance factor of parallel executions. Estimates of granularity can be obtained from the applications' source code. Different data access modes, however, point to the need to estimate the combination of granularity with information about the data access locality to properly determine the scalability of applications. / Processadores multicore permitem que aplicações explorem paralelismo no nível de threads para habilitar melhorias no tempo de conclusão da execução. O compartilhamento do subsistema de memória e a disparidade entre as velocidades dos processadores e das operações de acesso à memória, contudo, podem implicar em limitações na escalabilidade causadas pela competição das threads pelos recursos. A determinação da quantidade apropriada de threads que garanta execuções eficientes para uma aplicação é um problema não trivial cuja obtenção automatizada é amplamente desejada. Neste trabalho, buscou-se avaliar os fatores limitantes para a escalabilidade de aplicações paralelas com OpenMP relacionados à contenção pelos recursos compartilhados em processadores multicore, com o objetivo de identificar características das aplicações que limitem sua escalabilidade. Constatou-se que os acessos à memória são a principal limitação aos ganhos de desempenho com o paralelismo. A granularidade, que indica a proporção de acessos à memória em relação ao processamento, foi verificada como sendo um indicativo importante do desempenho das execuções paralelas. Estimativas de granularidade podem ser obtidas a partir do código-fonte das aplicações. Diferentes modos de acessos aos dados apontam, todavia, para a necessidade de combinação da estimativa de granularidade com informações sobre a localidade dos acessos aos dados para determinar corretamente a escalabilidade das aplicações.
70

The power of insults : A study of condescending linguistic strategies in four English online discussion forums

Holmberg, Anna January 2008 (has links)
The aim of this study is to investigate how language is used, online, in a condescending way in order to make the recipient feel belittled. The research questions sought to find out what kind of linguistic strategies are used online in order to make language function in a derogatory way as well as the linguistic reactions these strategies evoke in the recipients. How this derogatory usage can be met by using specific linguistic strategies was also explored. The study was conducted by performing qualitative discourse analysis based on the theoretical framework of Culpeper’s (1996) impoliteness theory. The data consisted of excerpts from four different threads in online discussion forums. The results indicate that there are several ways to insult someone, and that sarcasm, in particular, is heavily utilized in order to make language function in a derogatory manner. The conclusion of the study is that phenomena such as the flouting of maxims, face-threatening acts, impoliteness strategies and flaming are all utilized when trying to belittle someone. All these linguistic strategies performed with the intention to insult people have proved to have a negative affect on people who are exposed to them. This affect can be detected through the linguistic reactions they rendered, for example: counter-attacks with insults of their own and refuting the insults. The present study contributes to enlightening linguistic strategies which are being used in a derogatory way and as such might function to raise awareness of the power invested in language.

Page generated in 0.0292 seconds