An Introduction to Parallel Computing
Author: Ananth Grama
Introduction to Parallel Computing, Second Edition
Ananth Grama
Anshul Gupta
George Karypis
Vipin Kumar
Increasingly, parallel processing is being seen as the only cost-effective method for the fast solution of computationally large and data-intensive problems. The emergence of inexpensive parallel computers such as commodity desktop multiprocessors and clusters of workstations or PCs has made such parallel methods generally applicable, as have software standards for portable parallel programming. This sets the stage for substantial growth in parallel software.
Data-intensive applications such as transaction processing and information retrieval, data mining and analysis and multimedia services have provided a new challenge for the modern generation of parallel platforms. Emerging areas such as computational biology and nanotechnology have implications for algorithms and systems development, while changes in architectures, programming models and applications have implications for how parallel platforms are made available to users in the form of grid-based services.
This book takes into account these new developments as well as covering the more traditional problems addressed by parallel computers. Where possible it employs an architecture-independent view of the underlying platforms and designs algorithms for an abstract model. Message Passing Interface (MPI), POSIX threads and OpenMP have been selected as programming models and the evolving application mix of parallel computing is reflected in various examples throughout the book.
* Provides a complete end-to-end source on almost every aspect of parallel computing (architectures,programming paradigms, algorithms and standards).
* Covers both traditional computer science algorithms (sorting, searching, graph, and dynamic programming algorithms) as well as scientific computing algorithms (matrix computations, FFT).
* Covers MPI, Pthreads and OpenMP, the three most widely used standards for writing portable parallel programs.
* The modular nature of the text makes it suitable for a wide variety of undergraduate and graduate level courses including parallel computing, parallel programming, design and analysis of parallel algorithms and high performance computing.
Ananth Grama is Associate Professor of Computer Sciences at Purdue University, working on various aspects of parallel and distributed systems and applications.
Anshul Gupta is a member of the research staff at the IBM T. J. Watson Research Center. His research areas are parallel algorithms and scientific computing.
George Karypis is Assistant Professor in the Department of Computer Science and Engineering at the University of Minnesota, working on parallel algorithm design, graph partitioning, data mining, and bioinformatics.
Vipin Kumar is Professor in the Department of Computer Science and Engineering and the Director of the Army High Performance Computing Research Center at the University of Minnesota. His research interests are in the areas of high performance computing, parallel algorithms for scientific computing problems and data mining.
Book about: History of Gay People in Alcoholics Anonymous or The Personal Trainers Handbook
Pro SQL Server 2005 Service Broker
Author: Klaus Aschenbrenner
Rich with practical examples, Pro SQL Server 2005 Service Broker is the most complete and incisive book on this important new technology, an invaluable resource for all serious database and web developers. Focused on best practices, it explains in detail how Service Broker supports and enhances database and web applications.
Table of Contents:
Foreword xiiiAbout the Author xv
About the Technical Reviewer xvii
Acknowledgments xix
Introduction xxi
The Service Broker Programming Model
Fundamentals of Message-Based Processing 3
Message Concepts 4
Message Anatomy 4
Messaging in Daily Life 5
Why Messaging? 5
Asynchronous Message Processing 6
Deferred Message Processing 6
Fault Tolerance 7
Distributed Systems 7
Messaging Problems 8
Performance 8
Queue Reader Management 9
Transaction Management 10
Message Sequencing and Correlation 10
Maintenance 11
Messaging Architectures 12
SOA 12
SODA 12
Available Messaging Technologies 13
MSMQ 13
Queued Components 14
BizTalk Server 14
XML Web Services 14
WCF 14
Summary 15
Introduction to Service Broker 17
Conversations 17
Dialogs 17
Dialog Lifetime 18
Conversation Groups 19
Message Sequencing 20
Reliable Delivery 20
Error Handling 21
Anatomy of a Service 21
Message Types 23
Contracts 23
Queues 24
Service Programs 25
Routes 25
Security 25
Transport Security 25
Dialog Security 26
Message Processing 27
Performance 29
Benefits 30
Summary 30
Service Broker in Action 31
Defining Service Broker Applications 31
Message Types 32
Contracts 36
Queue 39
Service 41
Sending Messages 45
Retrieving and Processing Messages 51
Retrieving Messages 53
Processing Messages 55
Error Handling 59
Error Handling in Service Programs 59
Poison-Message Handling 63
Ending Conversations with Errors 66
Summary 68
Service Broker Activation 69
Activation Basics 69
Startup Strategies 70
When Is Activation Needed? 71
Internal Activation 72
Controlling Message Throughput 79
Stored-Procedure Signing 82
Calling a Stored Procedure in Another Database 90
Using a Single Stored Procedure to Process Many Queues 94
External Activation 97
Parallel Activation 112
Troubleshooting Activation 117
When the Activated Stored Procedure Doesn't Run 117
When Messages Remain on the Queue 117
Summary 118
Service Broker with Managed Code 119
The Managed Assembly 119
Architecture and Design of the Managed Assembly 123
Building a Managed Service Broker Client 129
Building a Managed Service Program 133
Derive Your Service Class 134
Implement an Entry Point 134
Implement Message Type Handling 136
Deploy the Assembly 136
Register the Managed Stored Procedure 138
Configure the Service Broker Activation 139
Using the Service Program 139
A Practical Example 142
Summary 150
Locking and Transaction Management 151
Conversation Groups and Locks 151
State Handling 158
Get Conversation Group 159
The Receive Loop with State Handling 160
State Handling with a Managed Stored Procedure 164
A Practical Example 170
Compensation Logic with Service Broker 198
Transaction Management 204
Basic Receive Loop 204
Measuring Performance 205
Batched Commits 208
Cursor-Based Processing 210
Set-Based Processing 213
Binary Payload 216
Summary 219
Distributed Service Broker Applications 221
Communication 221
Service Broker Protocols 222
Sending a Message 222
Routing 224
Routing Algorithm 225
Managing Routes 226
Distributed Applications 228
The Application 228
Setting Up Routes 229
Establishing a Communication Channel 232
Setting Up Security 236
Summary 249
Advanced Service Broker Programming
Advanced Distributed Service Broker Programming 253
Transport Security 253
Local Route 254
Transport Route 255
Dialog Security 257
Service Broker Security Protocol 257
Configuration 259
Encryption 268
Transport Encryption 269
Dialog Encryption 270
Recommendation 271
Transport Protocol 271
Setting Up Tracing 271
The Captured Service Broker Message 273
Replaying Service Broker Messages 276
Replacing Certificates 276
Transport Security 276
Dialog Security 277
Service Listing Manager 277
Exporting a Service Listing 279
Importing a Service Listing 281
Summary 284
Service-Oriented Database Architecture 285
Service-Oriented Database Architecture 285
SOA 286
Reasons for SODA Architectures 287
Requirements for a SODA Service Provider 288
Data in SODA 288
Outside Data 289
Inside Data 290
SODA Features in SQL Server 2005 292
XML Support 292
Native Web Services 295
SQLCLR 307
Query Notifications 316
Summary 327
Real-World Application Scenarios 329
Asynchronous Triggers 329
Defining the Problem 330
Implementing the Trigger 331
Creating the Service Broker Infrastructure 333
Writing the Service Program 334
Batch Frameworks 337
Creating the Service Broker Infrastructure 338
The Implementation of the Batch Framework 339
Extending the Batch Framework 345
Publish-Subscribe Frameworks 348
Defining the Infrastructure 349
Applying Publisher Logic 351
Publishing Information 356
Priority-Based Message Processing 358
Implementing Priority-Based Messaging 358
Reliable Web Service Requests 371
Service Broker Infrastructure 372
Implementation of the Web Proxy 376
Using the Web Proxy in a Smart Client 388
Summary 393
High Availability and Scalability 395
Database Mirroring 395
Implementation Details 396
Setting Up Database Mirroring 397
Using Service Broker with Database Mirroring 402
Load Balancing 404
Service Deployment 405
Initiator Configuration 406
Message Forwarding 408
Reliable Delivery 408
Security 408
Network Topology Abstraction 409
Centralized Routing Instance 410
Work Distribution 410
Using Message Forwarding 411
Monitoring Message Forwarding 415
Configuration Notice Service 416
Implementing Dynamic Routing 417
Implementing the Configuration Notice Service 417
Summary 422
Administration 423
SQL Profiler 423
Using SQL Profiler 425
System Monitor 428
SQL Server Management Objects 432
Creating Service Broker Objects 434
Retrieving Information 435
Summary 436
Index 437
No comments:
Post a Comment