What is demand computing? Cluster, grid, and cloud computing Examples of demand computing Demand computing handling techniques How cloud handle demand computing? Limitation of demand computing?
On-demand computing (ODC) is a business computing model that allows companies to provide access to computing resources as they become necessary, rather than full time a computing and communications infrastructure that facilitates flexible business service delivery and provides the basis for: ◦ Autonomic computing ◦ Fast response to external business-affecting changes. ◦ Adaptive business processes to protect revenues and contain costs ◦ Complex interactions inside and outside of organizational boundaries ◦ Resilience against external threats such as viruses, intrusions, and power outages.
IBM has identified five levels of autonomic computing: Basic: Highly skilled staff required; very hands-on; business is often hostage to IT outages. Managed: Skilled staff required to interpret management data; small amount of automation; business may still be hostage to IT outages. Predictive: Not-so-skilled staff interpret and approve actions; more automation; business may still be hostage to IT outages, though less frequently than before. Adaptive: Staff monitor automated changes/corrections and ensure good system performance; business may still be hostage to IT outages, but these can be contracted using service-level agreements. Autonomic: Fully automated; staff focuses on facilitating the business in line with stated policies.
a group of linked computers, working together closely thus in many respects forming a single computer Cluster computing category ◦ High-availability (HA) clusters ◦ Load-balancing clusters ◦ Compute clusters Source: http://www.rdi.ku.ac.th/Techno_ku60/res-96/index96.htmlhttp://www.rdi.ku.ac.th/Techno_ku60/res-96/index96.html
High-availability (HA): clusters are linked together to share computational workload or function as a single virtual computer Load-balancing clusters: multiple computers are linked together to share computational workload or function as a single virtual computer Compute clusters: Often clusters are used primarily for computational purposes, rather than handling IO-oriented operations such as web service or databases
Closed system cluster computing ◦ Internal Connected ◦ high security ◦ only 1 IP address, each node cannot manage external data Open system cluster computing ◦ Direct connect to external network ◦ each node has its own IP address ◦ suitable for being web servers or ftp servers
a special type of parallel computing that relies on complete connected to a network by a conventional network interface, such as Ethernet. combination of computer resources from multiple administrative domains to reach a common goal Grid size can vary by a considerable amount
Cloud computing means using multiple server computers via a digital network, as though they were one computer. ◦ Often, the services available are considered part of cloud computing.
Cloud computing shares characteristics with: ◦ Autonomic computing — computer systems capable of self-management ◦ Client–server model – client–server computing refers broadly to any distributed application that distinguishes between service providers (servers) and service requesters (clients) ◦ Grid computing — a form of distributed computing and parallel computing, whereby a 'super and virtual computer' is composed of a cluster of networked, loosely coupled computers acting in concert to perform very large tasks ◦ Mainframe computer — powerful computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing ◦ Utility computing — the "packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity ◦ Peer-to-peer – distributed architecture without the need for central coordination, with participants being at the same time both suppliers and consumers of resources (in contrast to the traditional client–server model) ◦ Service-oriented computing – Cloud computing provides services related to computing while, in a reciprocal manner, service-oriented computing consists of the computing techniques that operate on software-as-a-service.
self-managing computing model named after, and patterned on, the human body's autonomic nervous system control the functioning of computer applications and systems without input from the user The goal of autonomic computing is to create systems that run themselves, capable of high-level functioning while keeping the system's complexity invisible to the user
a type of distributed computing in which computer owners donate their computing resources (such as processing power and storage) to one or more "projects“ Costs for volunteer computing participants ◦ Increased power consumption - A CPU that is idle generally has lower power consumption than when it is active ◦ Decreased performance of the PC - If the volunteer computing application attempts to run while the computer is in use, it will impact performance of the PC
Grid Computing is computing technology that includes a combination of computer resources that offers seamless access to computing power and data storage capacity distributed over the globe Cloud Computing: Developed from grid computing technology, cloud computing technology offers highly flexible on-demand provisioning of its resources
Grid computing is focused towards solving a computational problem whereas Cloud computing is focused towards providing 'On Demand' services. Types of services provided by Cloud Infrastructure a) SaaS (Software as a Service) b) PaaS ( Platform as a Service) c) IaaS (Infrastructure as a Service) Grid Computing is possible only with applications that can be parallelized whereas Cloud computing does not have any such restriction. In Grid, resource allocation is primarily controlled by the contract between the user (known as Virtual Organization) and allocator (known as Admin Domain). Therefore a user, irrespective of his requirement will always get the resources ONLY as agreed upon in the contract. On the other hand in Cloud there is no such restriction. Cloud supports 'On-Demand' provisioning as it follows the principle of 'Pay as you go'. Based on the user's requirements Cloud will allocate the required resources thus enabling easy scalability in order to achieve the desired SLA.