Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues. This revised edition incorporates much-demanded updates throughout the book, based on feedback and corrections reported from classrooms since 2008 Learn the fundamentals of programming multiple threads accessing shared memory Explore mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques from simple locks to transactional memory systems Visit the companion site and download source code, example Java programs, and materials to support and enhance the learning experience
Ada 2012 is the latest version of the international standard for the programming language Ada. It is designated ISO/IEC 8652:2012 (E) and is a new edition replacing the 2005 version. The primary goals for the new version were to further enhance its capabilities particularly in those areas where its reliability and predictability are of great value. Many important new features have been included such as those defining dynamic contracts and for handling multiprocessors and are integrated within the existing language framework in an elegant and coherent manner. The Ada 2012 Rationale describes not only the changes from Ada 2005 but also the reason for the changes. It starts with an introduction providing a general overview and this is followed by seven chapters focusing on contracts and aspects; extended expressions; structure and visibility; tasking and real time; iterators and pools; predefined library and containers. The book concludes with an epilogue largely concerned with compatibility issues.
With significant growth of bio-molecular sequence data in the last decade the need for algorithms to extract patterns and meaningful information from such data has been felt strongly. Alignment of sequences, in order to determine regions of common descent, has also been an important area of research as it helps scientist discover the evolution of species. Another problem that researchers are putting in a lot of effort into, is document summary. As the lower bound for computation is being met for various algorithms, to further expedite the computing on large data sets, parallelization has become imperative. New multiprocessor architectures like the Cell Broadband Engine have the potential to do extensive calculations and act as mini-supercomputers. Other applications for these include onboard aircraft fault diagnosis and prognosis. We take a peek into some existing algorithms for these problems as well as propose novel algorithms along with their implementations to address these problems in the field of bioinformatics.