
Grids Similar to clusters but processors are more loosely coupled, tend to be heterogeneous, and are not all in a central location. Can handle workloads similar to those on supercomputers, but grid computers connect over a network (Internet?) and supercomputers’ CPUs connect to a high-speed internal bus/network Problems are broken up into parts and distributed across multiple computers in the grid – less communication betw parts than in clusters. A Proposed Architecture for Grid Systems Fabric layer: interfaces to local resources at a specific site. Connectivity layer: protocols to support usage of multiple resources for a single application; e.g., access a remote resource or transfer data between resources; and protocols to provide security.Resource layer manages a single resource, using functions supplied by the connectivity layer.Collective layer: resource discovery, allocation, scheduling, etc .Applications: use the grid resources.The collective, connectivity and resource layers together form the middleware layer for a grid. Cloud Computing 1Provides scalable services as a utility over the Internet. 2Often built on a computer grid 3Users buy services from the cloud.Grid users may develop and run their own software4Cluster/grid/cloud distinctions blur at the edges! Distributed Information Systems 1Business-oriented 2Systems to make a number of separate network applications interoperable and build “enterprise-wide information systems”. 3Two types discussed here: .Transaction processing systems .Enterprise application integration (EAI). Transaction Processing Systems1Provide a highly structured client-server approach for database applications 2Transactions are the communication model 3Obey the ACID properties: Atomic: all or nothing Consistent: invariants are preserved.Isolated (serializable).Durable: committed operations can’t be undone. Transactions Transaction processing may be centralized (traditional client/server system) or distributed.A distributed database is one in which the data storage is distributed – connected to separate processors.Nested Transactions 1A nested transaction is a transaction within another transaction (a sub-transaction) Example: a transaction may ask for two things (e.g., airline reservation info + hotel info) which would spawn two nested transactions .2Primary transaction waits for the results. While children are active parent may only abort, commit, or spawn other children. Implementing Transactions 1Conceptually, private copy of all data 2Actually, usually based on logs 3Multiple sub-transactions – commit, abort.Durability is a characteristic of top-level transactions only 4Nested transactions are suitable for distributed systems.Transaction processing monitor may interface between client and multiple data bases. Enterprise Application Integration 1Less structured than transaction-based systems2EA components communicate directly. Enterprise applications are things like HR data, inventory programs, …May use different OSs, different DBs but need to interoperate sometimes.3Communication mechanisms












