Today all computers, from tablet/desktop computers to super computers, work in parallel. A basic knowledge of the architecture of parallel computers and how to program them, is thus, essential for students of computer science and IT professionals.
In its second edition, the book retains the lucidity of the first edition and has added new material to reflect the advances in parallel computers. It is designed as text for the final year undergraduate students of computer science and engineering and information technology. It describes the principles of designing parallel computers and how to program them. This second edition, while retaining the general structure of the earlier book, has added two new chapters, ‘Core Level Parallel Processing’ and ‘Grid and Cloud Computing’ based on the emergence of parallel computers on a single silicon chip popularly known as multicore processors and the rapid developments in Cloud Computing. All chapters have been revised and some chapters are re-written to reflect the emergence of multicore processors and the use of MapReduce in processing vast amounts of data.
The new edition begins with an introduction to how to solve problems in parallel and describes how parallelism is used in improving the performance of computers. The topics discussed include instruction level parallel processing, architecture of parallel computers, multicore processors, grid and cloud computing, parallel algorithms, parallel programming, compiler transformations, operating systems for parallel computers, and performance evaluation of parallel computers.
Interspersed with copious examples and numerous exercises, this timely textbook would be a handy and treasured volume for students as well as working professionals.
KEY FEATURES
• Coverage of topics is comprehensive
• Describes architecture of parallel computers, including multicore processors, cloud computing, parallel programming, and operating systems for parallel computers
• Lucid style with numerous examples and exercises
About the Author
V. Rajaraman, Ph.D. (Wisconsin), is Honorary Professor in the Supercomputer Education and Research Centre, Indian Institute of Science, Bangalore.Earlier Prof. Rajaraman was Professor of Computer Science and Electrical Engineering at IIT Kanpur (1963–1982), Professor of Computer Science, Indian Institute of Science, Bangalore (1982–1994), and IBM Professor of Information Technology, Jawaharlal Nehru Centre for Advanced Scientific Research (1994–2001).
A pioneer in Computer Science education and research in India, Prof. Rajaraman was awarded Shanti Swarup Bhatnagar Prize in 1976. He is also the recipient of Homi Bhabha Prize by UGC, Om Prakash Bhasin Award, ISTE Award for excellence in teaching computer engineering, Rustom Choksi Award, Zaheer Medal by the Indian National Science Academy, and Padma Bhushan by President of India in 1998. Indian National Academy of Engineering conferred upon him the Lifetime Contribution Award in Engineering in 2005. An author of several well established and highly successful computer books, Prof. Rajaraman has published many research papers in national and international journals.|RAM MURTHY C. SIVA, Ph.D. (IISc, Bangalore), is the Richard Karp Institute Chair Professor of Computer Science and Engineering at the Indian Institute of Technology Madras, Chennai. Until recently he held the Indian National Academy of Engineering Chair Professorship. Prof. Murthy has authored many textbooks, and has published over 150 research papers in peer-reviewed international journals and over 150 research papers in refereed international conference proceedings. He is a recipient of Best Ph.D. Thesis Award from the Indian Institute of Science, Indian National Science Academy (INSA) Medal for Young Scientists, Dr. Vikram Sarabhai Research Award, IBM (USA) Real-Time Innovation Award, and several Best Paper Awards. Prof. Murthy is an elected Fellow of INSA, TWAS (Italy) and IEEE (USA).
Table of Contents:
Preface 1. INTRODUCTION 2. SOLVING PROBLEMS IN PARALLEL 3. INSTRUCTION LEVEL PARALLEL PROCESSING 4. STRUCTURE OF PARALLEL COMPUTERS 5. CORE LEVEL PARALLEL PROCESSING 6. GRID AND CLOUD COMPUTING 7. PARALLEL ALGORITHMS 8. PARALLEL PROGRAMMING 9. COMPILER TRANSFORMATIONS FOR PARALLEL COMPUTERS 10. OPERATING SYSTEMS FOR PARALLEL COMPUTERS 11. PERFORMANCE EVALUATION OF PARALLEL COMPUTERS Appendix • Index