COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

Operating System Design Issues
Full exploitation of a cluster hardware configuration requires some enhancements
to a single-system operating system.

FAILURE

MANAGEMENT

How failures are managed by a cluster depends on the
clustering method used (Table 17.2). In general, two approaches can be taken to
dealing with failures: highly available clusters and fault-tolerant clusters. A highly
available cluster offers a high probability that all resources will be in service. If a failure
occurs, such as a system goes down or a disk volume is lost, then the queries in progress
are lost. Any lost query, if retried, will be serviced by a different computer in the
cluster. However, the cluster operating system makes no guarantee about the state of
partially executed transactions. This would need to be handled at the application level.

A fault-tolerant cluster ensures that all resources are always available. This
is achieved by the use of redundant shared disks and mechanisms for backing out
uncommitted transactions and committing completed transactions.
The function of switching applications and data resources over from a failed
system to an alternative system in the cluster is referred to as failover. A related
function is the restoration of applications and data resources to the original system
once it has been fixed; this is referred to as failback. Failback can be automated, but
this is desirable only if the problem is truly fixed and unlikely to recur. If not, auto-
matic failback can cause subsequently failed resources to bounce back and forth
between computers, resulting in performance and recovery problems.

LOAD

BALANCING

A cluster requires an effective capability for balancing the
load among available computers. This includes the requirement that the cluster
be incrementally scalable. When a new computer is added to the cluster, the
load-balancing facility should automatically include this computer in scheduling
applications. Middleware mechanisms need to recognize that services can appear
on different members of the cluster and may migrate from one member to another.

PARALLELIZING

COMPUTATION

n some cases, effective use of a cluster requires
executing software from a single application in parallel. [KAPP00] lists three general
approaches to the problem:
• Parallelizing compiler: A parallelizing compiler determines, at compile time,
which parts of an application can be executed in parallel. These are then split
off to be assigned to different computers in the cluster. Performance depends
on the nature of the problem and how well the compiler is designed. In gen-
eral, such compilers are difficult to develop.
• Parallelized application: In this approach, the programmer writes the applica-
tion from the outset to run on a cluster, and uses message passing to move data,
as required, between cluster nodes. This places a high burden on the program-
mer but may be the best approach for exploiting clusters for some applications.

• Parametric computing: This approach can be used if the essence of the ap-
plication is an algorithm or program that must be executed a large number
of times, each time with a different set of starting conditions or parameters.
A good example is a simulation model, which will run a large number of dif-
ferent scenarios and then develop statistical summaries of the results. For this
approach to be effective, parametric processing tools are needed to organize,
run, and manage the jobs in an effective manner.

Full exploitation of a cluster hardware configuration requires some enhancements to a single-system operating system.的更多相关文章

  1. Failed to upgrade Oracle Cluster Registry configuration(root.sh)

        近期在给客户基于Suse 11 sp3安装Oracle 10g RAC,在安装完clusterware运行/u01/app/crs/root.sh时收到错误提示.Failed to upgra ...

  2. emulator: ERROR: Unable to load VM from snapshot. The snapshot has been saved for a different hardware configuration.

    emulator: ERROR: Unable to load VM from snapshot. The snapshot has been saved for a different hardwa ...

  3. Operating system management of address-translation-related data structures and hardware lookasides

    An approach is provided in a hypervised computer system where a page table request is at an operatin ...

  4. 硬件模块化机器人操作系统 Hardware Robot Operating System (H-ROS)

    原文网址:http://www.ros.org/news/2016/10/hardware-robot-operating-system-h-ros.html 推荐网址:https://h-ros.c ...

  5. PatentTips - Hardware virtualization such as separation kernel hypervisors

    BACKGROUND 1. Field Innovations herein pertain to computer virtualization, computer security and/or ...

  6. VMWare File Format Learning && Use VHD File To Boot VMWare && CoreOS Docker Configuration And Running

    目录 . Virtual Machine Introduce . Vmware Image File Format . VHD File Format . Convert VHD File Into ...

  7. ovirt user guide

    Contents [hide]  1 ⁠Accessing the User Portal 1.1 Logging in to the User Portal 1.2 Logging out of t ...

  8. [SQL in Azure] High Availability and Disaster Recovery for SQL Server in Azure Virtual Machines

    http://msdn.microsoft.com/en-us/library/azure/jj870962.aspx Microsoft Azure virtual machines (VMs) w ...

  9. TUNING FOR ALL FLASH DEPLOYMENTS

    Ceph Tuning and Best Practices for All Flash Intel® Xeon® ServersLast updated: January 2017 TABLE OF ...

随机推荐

  1. XCTest各种断言

    XCTFail(format…) 生成一个失败的测试: XCTAssertNil(a1, format...)为空判断,a1为空时通过,反之不通过: XCTAssertNotNil(a1, forma ...

  2. rsa 签名 加密解密

    A->B 签名 ==========================A方+A方的私钥 => B收到后 用A方的公钥 验证签名 ==========================A-> ...

  3. tornado 第二种路由方法(装饰器)

    #!/usr/bin/env python # _*_coding:utf-8 _*_ import tornado.ioloop import tornado.web application = t ...

  4. Servlet.init() for servlet springMvc

  5. ASP.NET 保存txt文件

    public void ProcessRequest(HttpContext context) { context.Response.Clear(); context.Response.Buffer ...

  6. [mysql]数据库基础知识

    数据库管理系统DBMS 软件 bin config db (保存数据) 写程序: 数据库在本地 找到目录 添加数据 数据库在远程 socket连接上远程机器 socket发送命令 需要做的事情 程序 ...

  7. code first 创建和初始化数据库

    1.前言 Code First是Entity Framework提供的一种新的编程模型.通过Code First我们可以在还没有建立数据库的情况下就开始编码,然后通过代码对象来生成数据库.当然我们在实 ...

  8. Mybatis 学习笔记1 不整合Spring的方式使用mybatis

    两种方式都包含了: package com.test.mybatis; import java.util.List; import org.apache.ibatis.io.Resources; im ...

  9. DDD~概念中的DDD(转)

    概念中的DDD DDD: 领域驱动设计,它是对面向对象的的分析和设计(OOAD,Object Orient Analysis Design)的一个补充,对技术框架进行了分层规划,同时对每个类进行了策略 ...

  10. Delphi基本类型--枚举 子界 集合 数组

    [plain] view plain copy <strong>根据枚举定义集合 </strong> TMyColor = (mcBlue, mcRed); TMyColorS ...