Spelling suggestions: "subject:"multicore architecture"" "subject:"1ulticore architecture""
1 |
A Parallel Particle Swarm Optimization Algorithm for Option PricingPrasain, Hari 19 July 2010 (has links)
Financial derivatives play significant role in an investor's success.
Financial option is one form of derivatives.
Option pricing is one of the challenging and fundamental
problems of computational finance. Due to highly volatile and dynamic market
conditions, there are no closed form solutions available except
for simple styles of options such as, European options.
Due to the complex nature of the governing mathematics, several
numerical approaches have been proposed in the past to price American style and
other complex options approximately.
Bio-inspired and nature-inspired algorithms have been considered for
solving large, dynamic and complex scientific and engineering problems.
These algorithms are inspired by techniques developed by the insect
societies for their own survival. Nature-inspired algorithms, in particular,
have gained prominence in real world optimization problems such as in mobile ad hoc
networks. The option pricing problem fits very well into this category
of problems due to the ad hoc nature of the market. Particle swarm
optimization (PSO) is one of the novel global search algorithms based
on a class of nature-inspired techniques known as swarm intelligence.
In this research, we have designed a sequential PSO based option pricing algorithm
using basic principles of PSO. The algorithm is applicable for both
European and American options, and handles both constant and variable volatility.
We show that our results for European options compare well with
Black-Scholes-Merton formula.
Since it is very important and critical to lock-in profit making opportunities in
the real market, we have also designed and developed parallel algorithm to expedite
the computing process.
We evaluate the performance of our algorithm on a cluster of
multicore machines that supports three different architectures: shared memory,
distributed memory, and a hybrid architectures.
We conclude that for a shared memory
architecture or a hybrid architecture, one-to-one mapping
of particles to processors is recommended for performance
speedup. We get a speedup of 20 on a cluster of four nodes
with 8 dual-core processors per node.
|
2 |
A Parallel Particle Swarm Optimization Algorithm for Option PricingPrasain, Hari 19 July 2010 (has links)
Financial derivatives play significant role in an investor's success.
Financial option is one form of derivatives.
Option pricing is one of the challenging and fundamental
problems of computational finance. Due to highly volatile and dynamic market
conditions, there are no closed form solutions available except
for simple styles of options such as, European options.
Due to the complex nature of the governing mathematics, several
numerical approaches have been proposed in the past to price American style and
other complex options approximately.
Bio-inspired and nature-inspired algorithms have been considered for
solving large, dynamic and complex scientific and engineering problems.
These algorithms are inspired by techniques developed by the insect
societies for their own survival. Nature-inspired algorithms, in particular,
have gained prominence in real world optimization problems such as in mobile ad hoc
networks. The option pricing problem fits very well into this category
of problems due to the ad hoc nature of the market. Particle swarm
optimization (PSO) is one of the novel global search algorithms based
on a class of nature-inspired techniques known as swarm intelligence.
In this research, we have designed a sequential PSO based option pricing algorithm
using basic principles of PSO. The algorithm is applicable for both
European and American options, and handles both constant and variable volatility.
We show that our results for European options compare well with
Black-Scholes-Merton formula.
Since it is very important and critical to lock-in profit making opportunities in
the real market, we have also designed and developed parallel algorithm to expedite
the computing process.
We evaluate the performance of our algorithm on a cluster of
multicore machines that supports three different architectures: shared memory,
distributed memory, and a hybrid architectures.
We conclude that for a shared memory
architecture or a hybrid architecture, one-to-one mapping
of particles to processors is recommended for performance
speedup. We get a speedup of 20 on a cluster of four nodes
with 8 dual-core processors per node.
|
3 |
DSL pour la fouille des réseaux sociaux sur des architectures Multi-coeurs / DSL (Domain Specific Language) for Social Network Analysis on multicore architecturesMessi Nguele, Thomas 15 September 2018 (has links)
Les réseaux complexes sont des ensembles constitués d’un grand nombre d’entités interconnectées par des liens. Ils sont modélisés par des graphes dans lesquels les noeuds représentent les entités et les arêtes entre les noeuds représentent les liens entre ces entités. Ces graphes se caractérisent par un très grand nombre de sommets et une très faible densité de liens. Les réseaux sociaux sont des exemples de réseaux complexes où les entités sont des individus et les liens sont les relations (d’amitié, d’échange de messages) entre ces individus.L’analyse des réseaux complexes est généralement basée sur l’exploration locale du graphe sous-jacent : après avoir traité un nœud u, les prochains noeuds auxquels l’application fait référence appartiennent au voisinage de u. Étant donné que le graphe sous-jacent est habituellement non structuré, les séquences d’accès aux données en mémoire tendent à avoir une faible localité lorsque qu’on utilise par exemple le stockage de Yale qui est l’un des meilleurs connus. En plus, dans les applications basées sur l’analyse des réseaux le nombre de calculs requis pour chaque noeud peut être très variable, ce qui, dans les mises en œuvre parallèles (multithreadées), se traduit par un déséquilibre de charges entre les threads.Le travail réalisé dans cette thèse était lié au développement d’applications d’analyse des réseaux sociaux, qui soient à la fois faciles à écrire et efficaces. A cet effet, deux pistes ont été explorées: a)L’exploitation de la structure en communautés pour définir des techniques de stockage qui réduisent les défauts de cache lors de l’analyse des réseaux sociaux; b)La prise en compte de l’hétérogénéité des degrés des noeuds pour optimiser la mise en oeuvre parallèle.La première contribution de cette thèse met en évidence l'exploitation de la structure en communautés des réseaux complexes pour la conception des algorithmes de numérotation des graphes (NumBaCo, CN-order) permettant la réduction des défauts de cache des applications tournant dans ces graphes.Les résultats expérimentaux en mode séquentiel sur plusieurs architectures (comme Numa4) ont montré que les défauts de cache et ensuite le temps d'exécution étaient effectivement réduits; et que CN-order se sert bien des avantages des autres heuristiques de numérotation (Gorder, Rabbit, NumBaCo) pour produire les meilleurs résultats.La deuxième contribution de cette thèse a considéré le cas des applications multi-threadées. Dans ce cas, la réduction des défauts de cache n'est pas suffisante pour assurer la diminution du temps d'exécution; l'équilibre des charges entre les threads doit être assuré pour éviter que certains threads prennent du retard et ralentissent ainsi toute l'application. Dans ce sens, nous nous sommes servis de la propriéte de l'hétérogénéité des dégrés des noeuds pour développer l'heuristique Deg-scheduling. Les résultats expérimentaux avec plusieurs threads sur l'architecture Numa4 montrent que Deg-scheduling combiné aux heuristiques de numérotation permet d'obtenir de meilleur résultats.La dernière contribution de cette thèse porte sur l'intégration des deux catégories d'heuristiques développées dans les DSLs parallèles d'analyse des graphes. Par exemple, avec le DSL Green-Marl, les performances sont améliorées à la fois grâce aux heuristiques de numérotation et grâce aux heuristiques d’ordonnancement (temps réduit de 35% grâce aux heuristiques). Mais avec le DSL Galois, les performances sont améliorées uniquement grâce aux heuristiques de numérotation (réduction de 48%). / A complex network is a set of entities in a relationship, modeled by a graph where nodes represent entities and edges between nodes represent relationships. Graph algorithms have inherent characteristics, including data-driven computations and poor locality. These characteristics expose graph algorithms to several challenges, because most well studied (parallel) abstractions and implementation are not suitable for them. The main question in this thesis is how to develop graph analysis applications that are both --easy to write (implementation challenge), -- and efficient (performance challenge)? We answer this question with parallelism (parallel DSLs) and also with knowledge that we have on complex networks (complex networks properties such as community structure and heterogeneity of node degree).The first contribution of this thesis shows the exploitation of community structure in order to design community-aware graph ordering for cache misses reduction. We proposed NumBaCo and compared it with Gorder and Rabbit (which appeared in the literature at the same period NumBaCo was proposed). This comparison allowed to design Cn-order, another heuristic that combines advantages of the three algorithms (Gorder, Rabbit and NumBaCo) to solve the problem of complex-network ordering for cache misses reduction. Experimental results with one thread on Core2, Numa4 and Numa24 (with Pagerank and livejournal for example) showed that Cn-order uses well the advantages of the other orders and outperforms them.The second contribution of this thesis considered the case of multiple threads applications. In that case, cache misses reduction was not sufficient to ensure execution time reduction; one should also take into account load balancing among threads. In that way, heterogeneity of node degree was used in order to design Deg-scheduling, a heuristic to solve degree-aware scheduling problem. Deg-scheduling was combined to Cn-order, NumBaCo, Rabbit, and Gorder to form respectively Comm-deg-scheduling, Numb-deg-scheduling, Rab-deg-scheduling and Gor-deg-scheduling. Experimental results with many threads on Numa4 showed that Degree-aware scheduling heuristics (Comm-deg-scheduling, Numb-deg-scheduling, Rab-deg-scheduling and Gor-deg-scheduling) outperform their homologous graph ordering heuristics (Cn-order, NumBaCo, Rabbit, and Gorder) when they are compared two by two.The last contribution was the integration of graph ordering heuristics and degree-aware scheduling heuristics in graph DSLs and particularly Galois and Green-Marl DSLs. We showed that with Green-Marl, performances are increased by both graph ordering heuristics and degree-aware scheduling heuristics (time was reduced by 35% due to heuristics). But with Galois, performances are increased only with graph ordering heuristics (time was reduced by 48% due to heuristics).In perspective, instead of using complex networks properties to design heuristics, one can imagine to use machine learning. Another perspective concerns the theoretical aspect of this thesis. We showed that graph ordering for cache misses reduction and degree-aware scheduling for load balancing problems are NP-complete. We provided heuristics to solve them. But we didn't show how far these heuristics are to the optimal solutions. It is good to know it in the future.
|
4 |
Memristor Based Low Power High Throughput Circuits and Systems DesignHasan, Md Raqibul 17 May 2016 (has links)
No description available.
|
5 |
Comprendre la performance des algorithmes d'exclusion mutuelle sur les machines multicoeurs modernes / Understanding the performance of mutual exclusion algorithms on modern multicore machinesGuiroux, Hugo 17 December 2018 (has links)
Une multitude d'algorithmes d'exclusion mutuelle ont été conçus au cours des vingt cinq dernières années, dans le but d'améliorer les performances liées à l'exécution de sections critiques et aux verrous.Malheureusement, il n'existe actuellement pas d'étude générale et complète au sujet du comportement de ces algorithmes d'exclusion mutuelle sur des applications réalistes (par opposition à des applications synthétiques) qui considère plusieurs métriques de performances, telles que l'efficacité énergétique ou la latence.Dans cette thèse, nous effectuons une analyse pragmatique des mécanismes d'exclusion mutuelle, dans le but de proposer aux développeurs logiciels assez d'informations pour leur permettre de concevoir et/ou d'utiliser des mécanismes rapides, qui passent à l'échelle et efficaces énergétiquement.Premièrement, nous effectuons une étude de performances de 28 algorithmes d'exclusion mutuelle faisant partie de l'état de l'art, en considérant 40 applications et quatre machines multicœurs différentes.Nous considérons non seulement le débit (la métrique de performance traditionnellement considérée), mais aussi l'efficacité énergétique et la latence, deux facteurs qui deviennent de plus en plus importants.Deuxièmement, nous présentons une analyse en profondeur de nos résultats.Plus particulièrement, nous décrivons neufs problèmes de performance liés aux verrous et proposons six recommandations aidant les développeurs logiciels dans le choix d'un algorithme d'exclusion mutuelle, se basant sur les caractéristiques de leur application ainsi que les propriétés des différents algorithmes.A partir de notre analyse détaillée, nous faisons plusieurs observations relatives à l'interaction des verrous et des applications, dont plusieurs d'entre elles sont à notre connaissance originales:(i) les applications sollicitent fortement les primitives lock/unlock mais aussi l'ensemble des primitives de synchronisation liées à l'exclusion mutuelle (ex. trylocks, variables de conditions),(ii) l'empreinte mémoire d'un verrou peut directement impacter les performances de l'application,(iii) pour beaucoup d'applications, l'interaction entre les verrous et l'ordonnanceur du système d'exploitation est un facteur primordial de performance,(iv) la latence d'acquisition d'un verrou a un impact très variable sur la latence d'une application,(v) aucun verrou n'est systématiquement le meilleur,(vi) choisir le meilleur verrou est difficile, et(vii) l'efficacité énergétique et le débit vont de pair dans le contexte des algorithmes d'exclusion mutuelle.Ces découvertes mettent en avant le fait que la synchronisation à base de verrou ne se résume pas seulement à la simple interface "lock - unlock".En conséquence, ces résultats appellent à plus de recherche dans le but de concevoir des algorithmes d'exclusion mutuelle avec une empreinte mémoire faible, adaptatifs et qui implémentent l'ensemble des primitives de synchronisation liées à l'exclusion mutuelle.De plus, ces algorithmes ne doivent pas seulement avoir de bonnes performances d'un point de vue du débit, mais aussi considérer la latence ainsi que l'efficacité énergétique. / A plethora of optimized mutual exclusion lock algorithms have been designed over the past 25 years to mitigate performance bottlenecks related to critical sections and synchronization.Unfortunately, there is currently no broad study of the behavior of these optimized lock algorithms on realistic applications that consider different performance metrics, such as energy efficiency and tail latency.In this thesis, we perform a thorough and practical analysis, with the goal of providing software developers with enough information to achieve fast, scalable and energy-efficient synchronization in their systems.First, we provide a performance study of 28 state-of-the-art mutex lock algorithms, on 40 applications, and four different multicore machines.We not only consider throughput (traditionally the main performance metric), but also energy efficiency and tail latency, which are becoming increasingly important.Second, we present an in-depth analysis in which we summarize our findings for all the studied applications.In particular, we describe nine different lock-related performance bottlenecks, and propose six guidelines helping software developers with their choice of a lock algorithm according to the different lock properties and the application characteristics.From our detailed analysis, we make a number of observations regarding locking algorithms and application behaviors, several of which have not been previously discovered:(i) applications not only stress the lock/unlock interface, but also the full locking API (e.g., trylocks, condition variables),(ii) the memory footprint of a lock can directly affect the application performance,(iii) for many applications, the interaction between locks and scheduling is an important application performance factor,(iv) lock tail latencies may or may not affect application tail latency,(v) no single lock is systematically the best,(vi) choosing the best lock is difficult (as it depends on many factors such as the workload and the machine), and(vii) energy efficiency and throughput go hand in hand in the context of lock algorithms.These findings highlight that locking involves more considerations than the simple "lock - unlock" interface and call for further research on designing low-memory footprint adaptive locks that fully and efficiently support the full lock interface, and consider all performance metrics.
|
Page generated in 0.1058 seconds