Dissertations / Theses on the topic 'Parallel programming (Computer science)'
Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles
Consult the top 50 dissertations / theses for your research on the topic 'Parallel programming (Computer science).'
Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.
You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.
Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.
Gamble, James Graham. "Explicit parallel programming." Thesis, This resource online, 1990. http://scholar.lib.vt.edu/theses/available/etd-06082009-171019/.
Full textRoe, Paul. "Parallel programming using functional languages." Thesis, Connect to e-thesis, 1991. http://theses.gla.ac.uk/1052.
Full textHandler, Caroline. "Parallel process placement." Thesis, Rhodes University, 1989. http://hdl.handle.net/10962/d1002033.
Full textBergstrom, Lars. "Parallel functional programming with mutable state." Thesis, The University of Chicago, 2013. http://pqdtopen.proquest.com/#viewpdf?dispub=3568360.
Full textImmutability greatly simplifies the implementation of parallel languages. In the absence of mutable state the language implementation is free to perform parallel operations with fewer locks and fewer restrictions on scheduling and data replication. In the Manticore project, we have achieved nearly perfect speedups across both Intel and AMD manycore machines on a variety of benchmarks using this approach.
There are parallel stateful algorithms, however, that exhibit significantly better performance than the corresponding parallel algorithm without mutable state. For example, in many search problems, the same problem configuration can be reached through multiple execution paths. Parallel stateful algorithms share the results of evaluating the same configuration across threads, but parallel mutation-free algorithms are required to either duplicate work or thread their state through a sequential store. Additionally, in algorithms where each parallel task mutates an independent portion of the data, non-conflicting mutations can be performed in parallel. The parallel state-free algorithm will have to merge each of those changes individually, which is a sequential operation at each step.
In this dissertation, we extend Manticore with two techniques that address these problems while preserving its current scalability. Memoization , also known as function caching, is a technique that stores previously returned values from functions, making them available to parallel threads of executions that call that same function with those same values. We have taken this deterministic technique and combined it with a high-performance implementation of a dynamically sized, parallel hash table to provide scalable performance. We have also added mutable state along with two execution models — one of which is deterministic — that allow the user to share arbitrary results across parallel threads under several execution models, all of which preserve the ability to reason locally about the behavior of code.
For both of these techniques, we present a detailed description of their implementations, examine a set of relevant benchmarks, and specify their semantics.
Lee, I.-Ting Angelina. "Memory abstractions for parallel programming." Thesis, Massachusetts Institute of Technology, 2012. http://hdl.handle.net/1721.1/75636.
Full textCataloged from PDF version of thesis.
Includes bibliographical references (p. 156-163).
A memory abstraction is an abstraction layer between the program execution and the memory that provides a different "view" of a memory location depending on the execution context in which the memory access is made. Properly designed memory abstractions help ease the task of parallel programming by mitigating the complexity of synchronization or admitting more efficient use of resources. This dissertation describes five memory abstractions for parallel programming: (i) cactus stacks that interoperate with linear stacks, (ii) efficient reducers, (iii) reducer arrays, (iv) ownershipaware transactions, and (v) location-based memory fences. To demonstrate the utility of memory abstractions, my collaborators and I developed Cilk-M, a dynamically multithreaded concurrency platform which embodies the first three memory abstractions. Many dynamic multithreaded concurrency platforms incorporate cactus stacks to support multiple stack views for all the active children simultaneously. The use of cactus stacks, albeit essential, forces concurrency platforms to trade off between performance, memory consumption, and interoperability with serial code due to its incompatibility with linear stacks. This dissertation proposes a new strategy to build a cactus stack using thread-local memory mapping (or TLMM), which enables Cilk-M to satisfy all three criteria simultaneously. A reducer hyperobject allows different branches of a dynamic multithreaded program to maintain coordinated local views of the same nonlocal variable. With reducers, one can use nonlocal variables in a parallel computation without restructuring the code or introducing races. This dissertation introduces memory-mapped reducers, which admits a much more efficient access compared to existing implementations. When used in large quantity, reducers incur unnecessarily high overhead in execution time and space consumption. This dissertation describes support for reducer arrays, which offers the same functionality as an array of reducers with significantly less overhead. Transactional memory is a high-level synchronization mechanism, designed to be easier to use and more composable than fine-grain locking. This dissertation presents ownership-aware transactions, the first transactional memory design that provides provable safety guarantees for "opennested" transactions. On architectures that implement memory models weaker than sequential consistency, programs communicating via shared memory must employ memory-fences to ensure correct execution. This dissertation examines the concept of location-based memoryfences, which unlike traditional memory fences, incurs latency only when synchronization is necessary.
by I-Ting Angelina Lee.
Ph.D.
Child, Christopher H. T. "Approximate dynamic programming with parallel stochastic planning operators." Thesis, City University London, 2011. http://openaccess.city.ac.uk/1109/.
Full textLewis, E. Christopher. "Achieving robust performance in parallel programming languages /." Thesis, Connect to this title online; UW restricted, 2001. http://hdl.handle.net/1773/6996.
Full textDing, Weiren. "Selsyn-C : a self-synchronizing parallel programming language." Thesis, McGill University, 1992. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=22494.
Full textWe outline our approach by presenting: (1) our motivation, (2) an overview of the extensions to C that form the SELSYN-C programming language, and (3) the development of a new scheduling mechanism that can be used to effectively compile SELSYN-C programs for a real parallel processor, the BBN Butterfly GP-1000. Different scheduling strategies for this mechanism were studied via several experimental tests and the results of these experiments are reported.
A source-to-source compiler supporting the SELSYN-C language has been implemented. Included in this thesis is a description of both the compiler and associated run-time environment.
Vaudin, John. "A unified programming system for a multi-paradigm parallel architecture." Thesis, University of Warwick, 1991. http://wrap.warwick.ac.uk/108849/.
Full textDazzi, Patrizio. "Tools and models for high level parallel and Grid programming." Thesis, IMT Alti Studi Lucca, 2008. http://e-theses.imtlucca.it/12/1/Dazzi_phdthesis.pdf.
Full textBrandis, Robert Craig. "IPPM : Interactive parallel program monitor." Full text open access at:, 1986. http://content.ohsu.edu/u?/etd,111.
Full textLee, ChuanChe. "Parallel programming on General Block Min Max Criterion." CSUSB ScholarWorks, 2006. https://scholarworks.lib.csusb.edu/etd-project/3065.
Full textChau, Genghis. "Cilkpride : always-on visualizations for parallel programming." Thesis, Massachusetts Institute of Technology, 2017. http://hdl.handle.net/1721.1/112834.
Full textThis electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.
Cataloged from student-submitted PDF version of thesis.
Includes bibliographical references (page 59).
Parallel programming is an increasingly important way for programmers to squeeze more performance out of their programs. Parallelization is error-prone, however, and programmers often forget to run error checkers and performance analyzers regularly. This thesis presents Cilkpride, an IDE plug-in that uses always-on visualizations to show programmers information on on their parallel program directly inside their IDE. Cilkpride runs a race checker and program profiler every time code is changed and immediately displays output to make programmers always aware of parallelization errors and performance bottlenecks. Programmers can then react and fix these issues quickly. To evaluate the system, we asked students who had taken MIT's 6.172 class, a performance engineering course, to use Cilkpride. Students found Cilkpride useful, helping them find races and bottlenecks.
by Genghis Chau.
M. Eng.
Wu, Jing 1964. "A parallel flow analysis method on structured programming languages." Thesis, McGill University, 1995. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=23951.
Full textThis thesis presents new methods of compiler flow analysis for modern computer languages running on a uniprocessor or multiprocessor. These methods allow flow analysis information to be extracted directly from a high-level representation of the source programs, even in parallel. To achieve this goal, we develop and utilize the Extended Abstract Syntax Tree (EAST), and the Symbol Table Data Relational Tree (STDRT) representations, to perform our flow analysis based on these structures. By these approaches, the compiler is able to keep the most useful information and apply this information during various optimization stages. We also introduce several scheduling algorithms for parallelizing the flow analysis phase. An experimental compiler and its results support the usefulness of these methods.
Li, Li. "Model-based automatic performance diagnosis of parallel computations /." view abstract or download file of text, 2007. http://proquest.umi.com/pqdweb?did=1335366371&sid=1&Fmt=2&clientId=11238&RQT=309&VName=PQD.
Full textTypescript. Includes vita and abstract. Includes bibliographical references (leaves 119-123). Also available for download via the World Wide Web; free to University of Oregon users.
Girimaji, Sanjay. "Data-parallel programming with multiple inheritance on the connection machine." FIU Digital Commons, 1990. https://digitalcommons.fiu.edu/etd/3940.
Full textCoffin, Michael Howard. "Par: An approach to architecture-independent parallel programming." Diss., The University of Arizona, 1990. http://hdl.handle.net/10150/185150.
Full textAlahmadi, Marwan Ibrahim. "Optimizing data parallelism in applicative languages." Diss., Georgia Institute of Technology, 1990. http://hdl.handle.net/1853/8457.
Full textHuck, Kevin A. "Knowledge support for parallel performance data mining /." Connect to title online (Scholars' Bank) Connect to title online (ProQuest), 2009. http://hdl.handle.net/1794/10087.
Full textKuper, Lindsey. "Lattice-based data structures for deterministic parallel and distributed programming." Thesis, Indiana University, 2015. http://pqdtopen.proquest.com/#viewpdf?dispub=3726443.
Full textDeterministic-by-construction parallel programming models guarantee that programs have the same observable behavior on every run, promising freedom from bugs caused by schedule nondeterminism. To make that guarantee, though, they must sharply restrict sharing of state between parallel tasks, usually either by disallowing sharing entirely or by restricting it to one type of data structure, such as single-assignment locations.
I show that lattice-based data structures, or LVars, are the foundation for a guaranteed-deterministic parallel programming model that allows a more general form of sharing. LVars allow multiple assignments that are inflationary with respect to a given lattice. They ensure determinism by allowing only inflationary writes and "threshold" reads that block until a lower bound is reached. After presenting the basic LVars model, I extend it to support event handlers, which enable an event-driven programming style, and non-blocking "freezing" reads, resulting in a quasi-deterministic model in which programs behave deterministically modulo exceptions.
I demonstrate the viability of the LVars model with LVish, a Haskell library that provides a collection of lattice-based data structures, a work-stealing scheduler, and a monad in which LVar computations run. LVish leverages Haskell's type system to index such computations with effect levels to ensure that only certain LVar effects can occur, hence statically enforcing determinism or quasi-determinism. I present two case studies of parallelizing existing programs using LVish: a k-CFA control flow analysis, and a bioinformatics application for comparing phylogenetic trees.
Finally, I show how LVar-style threshold reads apply to the setting of convergent replicated data types (CvRDTs), which specify the behavior of eventually consistent replicated objects in a distributed system. I extend the CvRDT model to support deterministic, strongly consistent threshold queries. The technique generalizes to any lattice, and hence any CvRDT, and allows deterministic observations to be made of replicated objects before the replicas' states converge.
Pinder, Robert William 1977. "Applications of genetic programming to parallel system optimization." Thesis, Massachusetts Institute of Technology, 2000. http://hdl.handle.net/1721.1/86507.
Full textIncludes bibliographical references (p. 81-84).
by Robert William Pinder.
M.Eng.
Huang, Kai 1980. "Data-race detection in transactions-everywhere parallel programming." Thesis, Massachusetts Institute of Technology, 2003. http://hdl.handle.net/1721.1/16964.
Full textIncludes bibliographical references (p. 69-72).
This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.
This thesis studies how to perform dynamic data-race detection in programs using "transactions everywhere", a new methodology for shared-memory parallel programming. Since the conventional definition of a data race does not make sense in the transactions-everywhere methodology, this thesis develops a new definition based on a weak assumption about the correctness of the target program's parallel-control flow, which is made in the same spirit as the assumption underlying the conventional definition. This thesis proves, via a reduction from the problem of 3cnf-formula satisfiability, that data-race detection in the transactions-everywhere methodology is an NP-complete problem. In view of this result, it presents an algorithm that approximately detects data races. The algorithm never reports false negatives. When a possible data race is detected, the algorithm outputs simple information that allows the programmer to efficiently resolve the root of the problem. The algorithm requires running time that is worst-case quadratic in the size of a graph representing all the scheduling constraints in the target program.
by Kai Huang.
M.Eng.
Watkins, Rees Collyer. "Algorithmic skeletons as a method of parallel programming." Thesis, Rhodes University, 1993. http://hdl.handle.net/10962/d1004889.
Full textBakken, David Edward. "Supporting fault-tolerant parallel programming in Linda." Diss., The University of Arizona, 1994. http://hdl.handle.net/10150/186872.
Full textWong, Chi-Kin. "Reusable template library for parallel patterns." [Gainesville, Fla.] : University of Florida, 2002. http://purl.fcla.edu/fcla/etd/UFE0000618.
Full textAuvil, Loretta Sue. "Problem specific environments for parallel scientific computing." Thesis, This resource online, 1992. http://scholar.lib.vt.edu/theses/available/etd-12042009-020030/.
Full textDick, Andrew J. "Object-oriented distributed and parallel I/O streams." Thesis, National Library of Canada = Bibliothèque nationale du Canada, 1999. http://www.collectionscanada.ca/obj/s4/f2/dsk2/ftp03/MQ39189.pdf.
Full textGopinath, Prabha Shankar. "Programming and execution of object-based, parallel, hard, real-time applications /." The Ohio State University, 1988. http://rave.ohiolink.edu/etdc/view?acc_num=osu1487592050228249.
Full textOladele, Jean-David G. "Implementation of a Parallel Program, Program Generator." [Gainesville, Fla.] : University of Florida, 2002. http://purl.fcla.edu/fcla/etd/UFE0000583.
Full textNgo, Ton Anh. "The role of performance models in parallel programming and languages /." Thesis, Connect to this title online; UW restricted, 1997. http://hdl.handle.net/1773/6990.
Full textYue, Kwok B. (Kwok Bun). "Semaphore Solutions for General Mutual Exclusion Problems." Thesis, University of North Texas, 1988. https://digital.library.unt.edu/ark:/67531/metadc331970/.
Full textKopek, Christopher Vincent. "Parallel intrusion detection systems for high speed networks using the divided data parallel method." Electronic thesis, 2007. http://dspace.zsr.wfu.edu/jspui/handle/10339/191.
Full textZhang, Yuan. "Static analyses and optimizations for parallel programs with synchronization." Access to citation, abstract and download form provided by ProQuest Information and Learning Company; downloadable PDF file, 169 p, 2008. http://proquest.umi.com/pqdweb?did=1601517931&sid=6&Fmt=2&clientId=8331&RQT=309&VName=PQD.
Full textKim, Eunkee. "Implementation patterns for parallel program and a case study." [Gainesville, Fla.] : University of Florida, 2002. http://purl.fcla.edu/fcla/etd/UFE0000552.
Full textValiveti, Natana Carleton University Dissertation Computer Science. "Parallel computational geometry on Analog Hopfield Networks." Ottawa, 1992.
Find full textVelusamy, Vijay. "Adapting Remote Direct Memory Access based file system to parallel Input-/Output." Master's thesis, Mississippi State : Mississippi State University, 2003. http://library.msstate.edu/etd/show.asp?etd=etd-11112003-092209.
Full textLandry, Kenneth D. "Instructional footprinting : a basis for exploiting concurrency through instructional decomposition and code motion /." Diss., This resource online, 1993. http://scholar.lib.vt.edu/theses/available/etd-06062008-165834/.
Full textChattopadhyay, Vaishali. "Distributed parallel computation using standard ML." Online access for everyone, 2007. http://www.dissertations.wsu.edu/Thesis/Fall2007/v_chattopadhyay_111607.pdf.
Full textDeitz, Steven J. "High-level programming language abstractions for advanced and dynamic parallel computations /." Thesis, Connect to this title online; UW restricted, 2005. http://hdl.handle.net/1773/6967.
Full textChamberlain, Bradford L. "The design and implementation of a region-based parallel programming language /." Thesis, Connect to this title online; UW restricted, 2001. http://hdl.handle.net/1773/6953.
Full textBerrios, Joseph Stephen. "Using wait-free synchronization to increase system reliability and performance." [Gainesville, Fla.]: University of Florida, 2002. http://purl.fcla.edu/fcla/etd/UFE0000506.
Full textChronaki, Catherine Eleftherios. "Parallelism in declarative languages /." Online version of thesis, 1990. http://hdl.handle.net/1850/10793.
Full textHakansson, Carolyn Ann. "The design and implementation of a parallel prolog opcode-interpreter on a multiprocessor architecture /." Full text open access at:, 1987. http://content.ohsu.edu/u?/etd,146.
Full textKondo, Boubacar. "An investigation of parallel algorithms developed for graph problems and their implementation on parallel computers." Virtual Press, 1991. http://liblink.bsu.edu/uhtbin/catkey/770951.
Full textDepartment of Computer Science
Wendelborn, Andrew Lawrence. "Data flow implementations of a lucid-like programming language." Title page, contents and summary only, 1985. http://web4.library.adelaide.edu.au/theses/09PH/09phw471.pdf.
Full textMontagne, Euripides. "Program structures and computer architectures for parallel processing." Thesis, McGill University, 1985. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=65949.
Full text馬家駒 and Ka-kui Ma. "Transparent process migration for parallel Java computing." Thesis, The University of Hong Kong (Pokfulam, Hong Kong), 2001. http://hub.hku.hk/bib/B31226474.
Full textMa, Ka-kui. "Transparent process migration for parallel Java computing /." Hong Kong : University of Hong Kong, 2001. http://sunzi.lib.hku.hk/hkuto/record.jsp?B23589371.
Full textLindhult, Johan. "Operational Semantics for PLEX : A Basis for Safe Parallelization." Licentiate thesis, Västerås : School of Innovation, Design and Engineering, Mälardalen University, 2008. http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-631.
Full textPereira, Marcio Machado 1959. "Scheduling and serialization techniques for transactional memories." [s.n.], 2015. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275547.
Full textTese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação
Made available in DSpace on 2018-08-27T10:12:59Z (GMT). No. of bitstreams: 1 Pereira_MarcioMachado_D.pdf: 2922376 bytes, checksum: 9775914667eadf354d7e256fb2835859 (MD5) Previous issue date: 2015
Resumo: Nos últimos anos, Memórias Transacionais (Transactional Memories ¿ TMs) têm-se mostrado um modelo de programação paralela que combina, de forma eficaz, a melhoria de desempenho com a facilidade de programação. Além disso, a recente introdução de extensões para suporte a TM por grandes fabricantes de microprocessadores, também parece endossá-la como um modelo de programação para aplicações paralelas. Uma das questões centrais na concepção de sistemas de TM em Software (STM) é identificar mecanismos ou heurísticas que possam minimizar a contenção decorrente dos conflitos entre transações. Apesar de já terem sido propostos vários mecanismos para reduzir a contenção, essas técnicas têm um alcance limitado, uma vez que o conflito é evitado por interrupção ou serialização da execução da transação, impactando consideravelmente o desempenho do programa. Este trabalho explora uma abordagem complementar para melhorar o desempenho de STM através da utilização de escalonadores. Um escalonador de TM é um componente de software que decide quando uma determinada transação deve ser executada ou não. Sua eficácia é muito sensível às métricas usadas para prever o comportamento das transações, especialmente em cenários de alta contenção. Este trabalho propõe um novo escalonador, Dynamic Transaction Scheduler ¿ DTS, para selecionar a próxima transação a ser executada. DTS é baseada em uma política de "recompensa pelo sucesso" e utiliza uma métrica que mede com melhor precisão o trabalho realizado por uma transação. Memórias Transacionais em Hardware (HTMs) são mecanismos interessante para implementar TM porque integram o suporte a transações no nível da arquitetura. Por outro lado, aplicações que usam HTM podem ter o seu desempenho dificultado pela falta de escalabilidade e transbordamento da cache de dados. Este trabalho apresenta um extenso estudo de desempenho de aplicações que usam HTM na arquitetura Haswell da Intel. Ele avalia os pontos fortes e fracos desta nova arquitetura, realizando uma exploração das várias características das aplicações de TM. Este estudo detalhado revela as restrições impostas pela nova arquitetura e introduz uma política de serialização simples, porém eficaz, para garantir o progresso das transações, além de proporcionar melhor desempenho
Abstract: In the last few years, Transactional Memories (TMs) have been shown to be a parallel programming model that can effectively combine performance improvement with ease of programming. Moreover, the recent introduction of (H)TM-based ISA extensions, by major microprocessor manufacturers, also seems to endorse TM as a programming model for today¿s parallel applications. One of the central issues in designing Software TM (STM) systems is to identify mechanisms or heuristics that can minimize contention arising from conflicting transactions. Although a number of mechanisms have been proposed to tackle contention, such techniques have a limited scope, because conflict is avoided by either interrupting or serializing transaction execution, thus considerably impacting performance. This work explores a complementary approach to boost the performance of STM through the use of schedulers. A TM scheduler is a software component that decides when a particular transaction should be executed. Their effectiveness is very sensitive to the accuracy of the metrics used to predict transaction behaviour, particularly in high-contention scenarios. This work proposes a new Dynamic Transaction Scheduler ¿ DTS to select a transaction to execute next, based on a new policy that rewards success and an improved metric that measures the amount of effective work performed by a transaction. Hardware TMs (HTM) are an interesting mechanism to implement TM as they integrate the support for transactions at the lowest, most efficient, architectural level. On the other hand, for some applications, HTMs can have their performance hindered by the lack of scalability and by limitations in cache store capacity. This work presents an extensive performance study of the implementation of HTM in the Haswell generation of Intel x86 core processors. It evaluates the strengths and weaknesses of this new architecture by exploring several dimensions in the space of TM application characteristics. This detailed performance study provides insights on the constraints imposed by the Intel¿s Transaction Synchronization Extension (Intel¿s TSX) and introduces a simple, but efficient, serialization policy for guaranteeing forward progress on top of the best-effort Intel¿s HTM which was critical to achieving performance
Doutorado
Ciência da Computação
Doutor em Ciência da Computação