17 research outputs found

    Implementation and Evaluation of Algorithmic Skeletons: Parallelisation of Computer Algebra Algorithms

    Get PDF
    This thesis presents design and implementation approaches for the parallel algorithms of computer algebra. We use algorithmic skeletons and also further approaches, like data parallel arithmetic and actors. We have implemented skeletons for divide and conquer algorithms and some special parallel loops, that we call ‘repeated computation with a possibility of premature termination’. We introduce in this thesis a rational data parallel arithmetic. We focus on parallel symbolic computation algorithms, for these algorithms our arithmetic provides a generic parallelisation approach. The implementation is carried out in Eden, a parallel functional programming language based on Haskell. This choice enables us to encode both the skeletons and the programs in the same language. Moreover, it allows us to refrain from using two different languages—one for the implementation and one for the interface—for our implementation of computer algebra algorithms. Further, this thesis presents methods for evaluation and estimation of parallel execution times. We partition the parallel execution time into two components. One of them accounts for the quality of the parallelisation, we call it the ‘parallel penalty’. The other is the sequential execution time. For the estimation, we predict both components separately, using statistical methods. This enables very confident estimations, although using drastically less measurement points than other methods. We have applied both our evaluation and estimation approaches to the parallel programs presented in this thesis. We haven also used existing estimation methods. We developed divide and conquer skeletons for the implementation of fast parallel multiplication. We have implemented the Karatsuba algorithm, Strassen’s matrix multiplication algorithm and the fast Fourier transform. The latter was used to implement polynomial convolution that leads to a further fast multiplication algorithm. Specially for our implementation of Strassen algorithm we have designed and implemented a divide and conquer skeleton basing on actors. We have implemented the parallel fast Fourier transform, and not only did we use new divide and conquer skeletons, but also developed a map-and-transpose skeleton. It enables good parallelisation of the Fourier transform. The parallelisation of Karatsuba multiplication shows a very good performance. We have analysed the parallel penalty of our programs and compared it to the serial fraction—an approach, known from literature. We also performed execution time estimations of our divide and conquer programs. This thesis presents a parallel map+reduce skeleton scheme. It allows us to combine the usual parallel map skeletons, like parMap, farm, workpool, with a premature termination property. We use this to implement the so-called ‘parallel repeated computation’, a special form of a speculative parallel loop. We have implemented two probabilistic primality tests: the Rabin–Miller test and the Jacobi sum test. We parallelised both with our approach. We analysed the task distribution and stated the fitting configurations of the Jacobi sum test. We have shown formally that the Jacobi sum test can be implemented in parallel. Subsequently, we parallelised it, analysed the load balancing issues, and produced an optimisation. The latter enabled a good implementation, as verified using the parallel penalty. We have also estimated the performance of the tests for further input sizes and numbers of processing elements. Parallelisation of the Jacobi sum test and our generic parallelisation scheme for the repeated computation is our original contribution. The data parallel arithmetic was defined not only for integers, which is already known, but also for rationals. We handled the common factors of the numerator or denominator of the fraction with the modulus in a novel manner. This is required to obtain a true multiple-residue arithmetic, a novel result of our research. Using these mathematical advances, we have parallelised the determinant computation using the Gauß elimination. As always, we have performed task distribution analysis and estimation of the parallel execution time of our implementation. A similar computation in Maple emphasised the potential of our approach. Data parallel arithmetic enables parallelisation of entire classes of computer algebra algorithms. Summarising, this thesis presents and thoroughly evaluates new and existing design decisions for high-level parallelisations of computer algebra algorithms

    New advances in vehicular technology and automotive engineering

    Get PDF
    An automobile was seen as a simple accessory of luxury in the early years of the past century. Therefore, it was an expensive asset which none of the common citizen could afford. It was necessary to pass a long period and waiting for Henry Ford to establish the first plants with the series fabrication. This new industrial paradigm makes easy to the common American to acquire an automobile, either for running away or for working purposes. Since that date, the automotive research grown exponentially to the levels observed in the actuality. Now, the automobiles are indispensable goods; saying with other words, the automobile is a first necessity article in a wide number of aspects of living: for workers to allow them to move from their homes into their workplaces, for transportation of students, for allowing the domestic women in their home tasks, for ambulances to carry people with decease to the hospitals, for transportation of materials, and so on, the list don’t ends. The new goal pursued by the automotive industry is to provide electric vehicles at low cost and with high reliability. This commitment is justified by the oil’s peak extraction on 50s of this century and also by the necessity to reduce the emissions of CO2 to the atmosphere, as well as to reduce the needs of this even more valuable natural resource. In order to achieve this task and to improve the regular cars based on oil, the automotive industry is even more concerned on doing applied research on technology and on fundamental research of new materials. The most important idea to retain from the previous introduction is to clarify the minds of the potential readers for the direct and indirect penetration of the vehicles and the vehicular industry in the today’s life. In this sequence of ideas, this book tries not only to fill a gap by presenting fresh subjects related to the vehicular technology and to the automotive engineering but to provide guidelines for future research. This book account with valuable contributions from worldwide experts of automotive’s field. The amount and type of contributions were judiciously selected to cover a broad range of research. The reader can found the most recent and cutting-edge sources of information divided in four major groups: electronics (power, communications, optics, batteries, alternators and sensors), mechanics (suspension control, torque converters, deformation analysis, structural monitoring), materials (nanotechnology, nanocomposites, lubrificants, biodegradable, composites, structural monitoring) and manufacturing (supply chains). We are sure that you will enjoy this book and will profit with the technical and scientific contents. To finish, we are thankful to all of those who contributed to this book and who made it possible.info:eu-repo/semantics/publishedVersio
    corecore