Friday, February 6, 2009

An Introduction to Parallel Computing or Pro SQL Server 2005 Service Broker

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     xiii
About 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