Fundamentals of Distributed Object Systems


Book Description

Distributed Object Computing teaches readers the fundamentals of CORBA, the leading architecture for design of software used in parallel and distributed computing applications. Since CORBA is based on open standards, it is the only effective way to learn object-oriented programming for distributed systems. This language independent book allows material to be taught using Java, C++ or other Object Oriented Programming Languages.




COM and CORBA Side by Side


Book Description

"This book helps software practitioners analyze and transcend their personal biases toward COM or CORBA so that they may objectively seek the best implementation strategy. The author helps you cut through vendor marketing hype by presenting a clear, logical formula to help you choose between the two technologies. In short, COM and CORBA Side by Side is an invaluable resource for making informed, critical decisions about using one or both of these technologies in your next project."--Jacket.




Large-scale Distributed Systems and Energy Efficiency


Book Description

Addresses innovations in technology relating to the energy efficiency of a wide variety of contemporary computer systems and networks With concerns about global energy consumption at an all-time high, improving computer networks energy efficiency is becoming an increasingly important topic. Large-Scale Distributed Systems and Energy Efficiency: A Holistic View addresses innovations in technology relating to the energy efficiency of a wide variety of contemporary computer systems and networks. After an introductory overview of the energy demands of current Information and Communications Technology (ICT), individual chapters offer in-depth analyses of such topics as cloud computing, green networking (both wired and wireless), mobile computing, power modeling, the rise of green data centers and high-performance computing, resource allocation, and energy efficiency in peer-to-peer (P2P) computing networks. Discusses measurement and modeling of the energy consumption method Includes methods for energy consumption reduction in diverse computing environments Features a variety of case studies and examples of energy reduction and assessment Timely and important, Large-Scale Distributed Systems and Energy Efficiency is an invaluable resource for ways of increasing the energy efficiency of computing systems and networks while simultaneously reducing the carbon footprint.




Task Scheduling for Parallel Systems


Book Description

A new model for task scheduling that dramatically improves the efficiency of parallel systems Task scheduling for parallel systems can become a quagmire of heuristics, models, and methods that have been developed over the past decades. The author of this innovative text cuts through the confusion and complexity by presenting a consistent and comprehensive theoretical framework along with realistic parallel system models. These new models, based on an investigation of the concepts and principles underlying task scheduling, take into account heterogeneity, contention for communication resources, and the involvement of the processor in communications. For readers who may be new to task scheduling, the first chapters are essential. They serve as an excellent introduction to programming parallel systems, and they place task scheduling within the context of the program parallelization process. The author then reviews the basics of graph theory, discussing the major graph models used to represent parallel programs. Next, the author introduces his task scheduling framework. He carefully explains the theoretical background of this framework and provides several examples to enable readers to fully understand how it greatly simplifies and, at the same time, enhances the ability to schedule. The second half of the text examines both basic and advanced scheduling techniques, offering readers a thorough understanding of the principles underlying scheduling algorithms. The final two chapters address communication contention in scheduling and processor involvement in communications. Each chapter features exercises that help readers put their new skills into practice. An extensive bibliography leads to additional information for further research. Finally, the use of figures and examples helps readers better visualize and understand complex concepts and processes. Researchers and students in distributed and parallel computer systems will find that this text dramatically improves their ability to schedule tasks accurately and efficiently.




Programming Multicore and Many-core Computing Systems


Book Description

Programming multi-core and many-core computing systems Sabri Pllana, Linnaeus University, Sweden Fatos Xhafa, Technical University of Catalonia, Spain Provides state-of-the-art methods for programming multi-core and many-core systems The book comprises a selection of twenty two chapters covering: fundamental techniques and algorithms; programming approaches; methodologies and frameworks; scheduling and management; testing and evaluation methodologies; and case studies for programming multi-core and many-core systems. Program development for multi-core processors, especially for heterogeneous multi-core processors, is significantly more complex than for single-core processors. However, programmers have been traditionally trained for the development of sequential programs, and only a small percentage of them have experience with parallel programming. In the past, only a relatively small group of programmers interested in High Performance Computing (HPC) was concerned with the parallel programming issues, but the situation has changed dramatically with the appearance of multi-core processors on commonly used computing systems. It is expected that with the pervasiveness of multi-core processors, parallel programming will become mainstream. The pervasiveness of multi-core processors affects a large spectrum of systems, from embedded and general-purpose, to high-end computing systems. This book assists programmers in mastering the efficient programming of multi-core systems, which is of paramount importance for the software-intensive industry towards a more effective product-development cycle. Key features: Lessons, challenges, and roadmaps ahead. Contains real world examples and case studies. Helps programmers in mastering the efficient programming of multi-core and many-core systems. The book serves as a reference for a larger audience of practitioners, young researchers and graduate level students. A basic level of programming knowledge is required to use this book.




Large-Scale Computing Techniques for Complex System Simulations


Book Description

Complex systems modeling and simulation approaches are being adopted in a growing number of sectors, including finance, economics, biology, astronomy, and many more. Technologies ranging from distributed computing to specialized hardware are explored and developed to address the computational requirements arising in complex systems simulations. The aim of this book is to present a representative overview of contemporary large-scale computing technologies in the context of complex systems simulations applications. The intention is to identify new research directions in this field and to provide a communications platform facilitating an exchange of concepts, ideas and needs between the scientists and technologist and complex system modelers. On the application side, the book focuses on modeling and simulation of natural and man-made complex systems. On the computing technology side, emphasis is placed on the distributed computing approaches, but supercomputing and other novel technologies are also considered.




Advanced Computational Infrastructures for Parallel and Distributed Adaptive Applications


Book Description

A unique investigation of the state of the art in design, architectures, and implementations of advanced computational infrastructures and the applications they support Emerging large-scale adaptive scientific and engineering applications are requiring an increasing amount of computing and storage resources to provide new insights into complex systems. Due to their runtime adaptivity, these applications exhibit complicated behaviors that are highly dynamic, heterogeneous, and unpredictable—and therefore require full-fledged computational infrastructure support for problem solving, runtime management, and dynamic partitioning/balancing. This book presents a comprehensive study of the design, architecture, and implementation of advanced computational infrastructures as well as the adaptive applications developed and deployed using these infrastructures from different perspectives, including system architects, software engineers, computational scientists, and application scientists. Providing insights into recent research efforts and projects, the authors include descriptions and experiences pertaining to the realistic modeling of adaptive applications on parallel and distributed systems. The first part of the book focuses on high-performance adaptive scientific applications and includes chapters that describe high-impact, real-world application scenarios in order to motivate the need for advanced computational engines as well as to outline their requirements. The second part identifies popular and widely used adaptive computational infrastructures. The third part focuses on the more specific partitioning and runtime management schemes underlying these computational toolkits. Presents representative problem-solving environments and infrastructures, runtime management strategies, partitioning and decomposition methods, and adaptive and dynamic applications Provides a unique collection of selected solutions and infrastructures that have significant impact with sufficient introductory materials Includes descriptions and experiences pertaining to the realistic modeling of adaptive applications on parallel and distributed systems The cross-disciplinary approach of this reference delivers a comprehensive discussion of the requirements, design challenges, underlying design philosophies, architectures, and implementation/deployment details of advanced computational infrastructures. It makes it a valuable resource for advanced courses in computational science and software/systems engineering for senior undergraduate and graduate students, as well as for computational and computer scientists, software developers, and other industry professionals.




Design and Analysis of Distributed Algorithms


Book Description

This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques presented can be applied to any distributed computing environment (e.g., distributed systems, communication networks, data networks, grid networks, internet, etc.). The text provides a wealth of unique material for learning how to design algorithms and protocols perform tasks efficiently in a distributed computing environment.




Parallel Computing: Fundamentals, Applications and New Directions


Book Description

This volume gives an overview of the state-of-the-art with respect to the development of all types of parallel computers and their application to a wide range of problem areas. The international conference on parallel computing ParCo97 (Parallel Computing 97) was held in Bonn, Germany from 19 to 22 September 1997. The first conference in this biannual series was held in 1983 in Berlin. Further conferences were held in Leiden (The Netherlands), London (UK), Grenoble (France) and Gent (Belgium). From the outset the aim with the ParCo (Parallel Computing) conferences was to promote the application of parallel computers to solve real life problems. In the case of ParCo97 a new milestone was reached in that more than half of the papers and posters presented were concerned with application aspects. This fact reflects the coming of age of parallel computing. Some 200 papers were submitted to the Program Committee by authors from all over the world. The final programme consisted of four invited papers, 71 contributed scientific/industrial papers and 45 posters. In addition a panel discussion on Parallel Computing and the Evolution of Cyberspace was held. During and after the conference all final contributions were refereed. Only those papers and posters accepted during this final screening process are included in this volume. The practical emphasis of the conference was accentuated by an industrial exhibition where companies demonstrated the newest developments in parallel processing equipment and software. Speakers from participating companies presented papers in industrial sessions in which new developments in parallel computing were reported.




Web-powered Databases


Book Description

This text provides a snapshot of contemporary research and development activities in the area of Web and Internet databases. It also provides case studies of successful Web database applications, including an online pay claim, a product catalogue and multiple-choice assessment through the Web.