原文:http://blog.sina.com.cn/s/blog_6203dcd60100xokd.html 【第四阶段 : 第一次服务多机化】
当IO性能得到解决以后,我们可能就会面临CPU瓶颈,即程序处理不过来了。那这个时候,最好的方式,就是优化程序。从整体架构和具体业务逻辑上去分析并...
分类:
Web程序 时间:
2014-05-01 07:56:48
阅读次数:
503
在进入java平台的线程对象之前,基于基础篇(一)的一些问题,我先插入两个基本概念。
[线程的并发与并行]
在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurr.....
分类:
编程语言 时间:
2014-05-01 06:09:22
阅读次数:
459
1. 类型clock_t:
是个long型,用来记录一段时间内的时钟计时单元数,即CPU的运行单元时间。size_t: 标准C库中定义的,应为unsigned
int,在64位系统中为long unsigned int。time_t: 从1970年1月1日0时0分0秒到该时间点所经过的秒数。stru...
分类:
其他好文 时间:
2014-05-01 06:03:10
阅读次数:
289
当CPU发出写操作命令时,也要根据它产生的主存地址分为两种情形:一种是不命中时,只向主存写入信息,不必同时把这个地址单元所在的整块内容调入Cache中;另一种是命中时,这时会遇到如何保持Cache与主存的一致性问题,通常有三种处理方式:
1.直写式(write through)即CPU在向C...
分类:
其他好文 时间:
2014-05-01 03:57:54
阅读次数:
393
1:temp = array[i]*i: 2410.0 ms
2:temp = GET(array,i) *i: 2410.0 ms
3:temp = get(array,i)*i: 2950.0 ms
4:int a = get(array,i);temp = a*i: 3340.0 ms
5: int a = array[i];temp = a*i;: 1990.0...
分类:
其他好文 时间:
2014-04-30 22:25:38
阅读次数:
303
关于是否是GPU瓶颈还是CPU瓶颈,NV的paper中说调整CPU或GPU的时钟,改变频率,来检测性能瓶颈到底来自那里。
这个方法还需要借助辅助工具,一般游戏逻辑帧和图形帧是分离的,可以改变逻辑帧和图形帧的频率试试。看看帧数是否明显降低。
或者忽略所有的Draw Calls看看fps。
显存位宽是显存在一个时钟周期内所能传送数据的位数,表示瞬间所能传输的数据量。
是显存和芯片之间交换...
分类:
其他好文 时间:
2014-04-29 13:45:20
阅读次数:
368
一,多线程概述
1. 进程和线程
计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行.假定工厂的电力有限,一次只能给一个车间使用,也就是说,一个车间开工的时候,其他车间都必须停工,背后的含义就是,单个CPU一次只能运行一个任务.进程就好比工厂的车间,它代表CPU所能处理的单个任务,任一时刻,CPU总是运行一个进程,其他进程处于非运行状态.一个车间里,可以有很多工人,他们协...
分类:
编程语言 时间:
2014-04-29 13:43:20
阅读次数:
276
2.3存储管理
存储器管理的对象是主存储器(主存、内存)。
主要功能包括:分配 回收主存空间 提高主存利用率扩充主存 对主存信息实现有效保护
2.3.1 基本概念
1. 存储器的结构
一般结构有两种:寄存器—主存—外存
寄存器—缓存—主存—外存
存储组织的功能:是在存储技术和CPU寻址技术许可的范围内组织合理的存储结构,
使得各层次的存储器都处于均衡的繁忙状态...
分类:
其他好文 时间:
2014-04-29 13:15:21
阅读次数:
392
1.段寄存器
8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU访问内存时,由这4个段寄存器提供内存单元的段地址。
CS和IP是8086中最关键的寄存器,他们指示了CPU当前要读取指令的地址。CS是代码段寄存器,IP为指令指针寄存器。在8086PC机中,任意时刻,设CS中的内容是M,IP中的内容是N,8086CPU将从内存地址:M*16+N处读取指令并执行。也可以这...
分类:
其他好文 时间:
2014-04-29 13:13:21
阅读次数:
333
qemu/kvm为客户机提供了完整的硬件环境,在客户机看来其所拥有的CPU为vCPU,在KVM看来每个客户机都是一个标准的linux进程qemu进程。在宿主机上vCPU是qemu进程派生出来的普通线程。在linux中进程有两种模式:用户模式,内核模式。而kvm增加了第三种模式:客户模式。用户模式主要是一些IO的模拟管理。内核模式主要执行一些安全性高性能的指令。客户模式执行大部分的代码。 下面讲下v...
分类:
其他好文 时间:
2014-04-29 13:11:20
阅读次数:
754