COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

Traditionally, the computer has been viewed as a sequential machine. Most computer
programming languages require the programmer to specify algorithms as sequences
of instructions. Processors execute programs by executing machine instructions in
a sequence and one at a time. Each instruction is executed in a sequence of opera-
tions (fetch instruction, fetch operands, perform operation, store results).
This view of the computer has never been entirely true. At the micro-operation
level, multiple control signals are generated at the same time. Instruction pipelining,
at least to the extent of overlapping fetch and execute operations, has been around
for a long time. Both of these are examples of performing functions in parallel. This
approach is taken further with superscalar organization, which exploits instruction-
level parallelism. With a superscalar machine, there are multiple execution units
within a single processor, and these may execute multiple instructions from the
same program in parallel.
As computer technology has evolved, and as the cost of computer hardware
has dropped, computer designers have sought more and more opportunities for par-
allelism, usually to enhance performance and, in some cases, to increase availability.
After an overview, this chapter looks at some of the most prominent approaches
to parallel organization. First, we examine symmetric multiprocessors (SMPs), one
of the earliest and still the most common example of parallel organization. In an
SMP organization, multiple processors share a common memory. This organization
raises the issue of cache coherence, to which a separate section is devoted. Next,
the chapter examines multithreaded processors and chip multiprocessors. Then
we describe clusters, which consist of multiple independent computers organized
in a cooperative fashion. Clusters have become increasingly common to support
workloads that are beyond the capacity of a single SMP. Another approach to the
use of multiple processors that we examine is that of nonuniform memory access
(NUMA) machines. The NUMA approach is relatively new and not yet proven in
the marketplace, but is often considered as an alternative to the SMP or cluster
approach. Finally, this chapter looks at hardware organizational approaches to vec-
tor computation. These approaches optimize the ALU for processing vectors or
arrays of floating-point numbers. They are common on the class of systems known
as supercomputers.

parallelism的更多相关文章

  1. Concurrency != Parallelism

    前段时间在公司给大家分享GO语言的一些特性,然后讲到了并发概念,大家表示很迷茫,然后分享过程中我拿来了Rob Pike大神的Slides <Concurrency is not Parallel ...

  2. Concurrency vs. Parallelism

    http://getakka.net/docs/concepts/terminology Terminology and Concepts In this chapter we attempt to ...

  3. Max Degree of Parallelism最大并行度配置

    由于公司的业务在急速增长中,发现数据库服务器已经基本撑不住这么多并发.一方面,要求开发人员调整并发架构,利用缓存减少查询.一方面从数据库方面改善并发.数据库的并行度可设置如下: 1)cost thre ...

  4. SQL Server数据库与max degree of parallelism参数

    我们今天主要向大家讲述的是SQL Server数据库中的max degree of parallelism参数,当 SQL Server 数据库在具N个微处理器或是 CPU 的计算机上运行时,它将为每 ...

  5. Storm拓扑的并行度(parallelism)介绍

    Storm拓扑的并行度(parallelism)介绍 1.Storm分为3个主要实体,用于在Storm集群中运行拓扑        工作进程:Worker Process,也称为Worker      ...

  6. 并发(Concurrency)和并行(Parallelism)的区别

    最近在读<real world haskell>里关于并行的一章时,看到作者首先对并发(Concurrency)和并行(Parallelism)的区别进行了定义和解释.以前我对这个问题也是 ...

  7. 理解 Storm 拓扑的并行度(parallelism)概念

    组成:一个运行中的拓扑是由什么构成的:工作进程(worker processes),执行器(executors)和任务(tasks)! 在一个 Storm 集群中,Storm 主要通过以下三个部件来运 ...

  8. Concurrency Is Not Parallelism (Rob pike)

    Rob pike发表过一个有名的演讲<Concurrency is not parallelism>(https://blog.golang.org/concurrency-is-not- ...

  9. Storm Topology Parallelism

    Understanding the Parallelism of a Storm Topology What makes a running topology: worker processes, e ...

随机推荐

  1. redis cluster php 客户端 predis

    php有redis的扩展,目前来说,还不支持redis cluster,推荐一下predis,功能比较全,从单个,到主从,到cluster都是支持的.效率怎么样,要靠自己去测试一下. 1,下载pred ...

  2. python 3.5.2 install pillow

    1. 首先尝试从官网下载, pip install pillow, 结果网络不行,总是连不上或者下载中就失败, C:\Windows\system32>pip install pillowCol ...

  3. robotframework----模板的使用

    模板只能放在测试用例里,可以测试大数据量,每一行模板的值,都做为用户关键字的输入参数,发下图: 删除特定证书2 的用户关键字如下:

  4. javascript实现简单多文件上传

    该上传功能主要用到html5新属性FormData,通过XMLHttpRequest对象send到服务器,支持文件多选和多次选择.文件去重.移除已选文件等 1.html代码 <div class ...

  5. ajax返回数据类型为JSON数据的处理

    JSON数据处理: 1.编码格式必须为utf8 2.echo json_encode($db->GuanQuery($sql));   返回的是关联数组.json_encode返回的是json数 ...

  6. Spring实例化Bean的三种方式及Bean的类型

    1.使用类构造器实例化  [默认的类构造器] <bean id=“orderService" class="cn.itcast.OrderServiceBean"/ ...

  7. 【leetcode】Two Sum

    题目简述: Given an array of integers, find two numbers such that they add up to a specific target number ...

  8. Trie URAL 7192 Chip Factory (15长春J)

    题目传送门 题意:从n个数中选出不同的三个数a b c,使得(a+b)^c 最大 分析:先将所有数字按位插入到字典树上,然后删除两个数字,贪心询问与剩下的数字最大异或值. /************* ...

  9. [R语言]R语言使用多线程对数据库进行大批量访问时出现无法连接问题

    问题描述: 在R中使用多线程对数据库进行写入,在服务器端运行脚本(linux环境),总是在第6-7万个任务线程时,出现无法连接到数据库的问题.任务中断,错误信息为task 6xxxx failed,C ...

  10. 学习Sass 的基本语法规则[Sass和compass学习笔记]

    自从发现可编程的css语法 Sass和基于Sass的css库compass 一个给我的感觉像c# 另外一个给我的感觉像.NET Framework,一切都为了提升开发效率和降低开发大型web的门槛. ...