服务器 频道

短兵相接 皓龙至强新双核全面对比

  今年,Intel和AMD公司陆续推出了针对双路服务器市场的双核处理器产品。从今年的4月份开始,我们IT168评测中心就陆续的对于相关产品进行测试。在评测过多款产品、积累了较大量的测试数据之后,我们对于这两家公司的产品有了更多的了解。本系列文章将通过对比两家公司最新双核处理器及其运行平台的性能、功耗和I/O能力,让广大用户和读者充分了解它们各自的优缺点。 本文将对于两者的性能进行对比。

  【IT168评测中心】今年,用于双路服务器的处理器很有意思。Intel把在桌面处理器使用了一年多的LGA775封装移植到了Xeon处理器上(LGA771),并且开始将全新的Core微架构装了进去。AMD则采用了全新的以前从未用过的SOCKET F(LGA1207)封装,其核心却没有太多的变化(AMD Opteron 200系列处理器和Opteron 2000系列处理器规格对比)。

  一个是老瓶新酒,另一个则是新瓶陈酿。

Opteron 2210处理器

Xeon 5120处理器

  虽然市场定位相同,但是Opteron 2000系列和Xeon 5100系列在设计理念上有很大的不同,进行完全的对比并不容易。AMD Opteron处理器弃用了前端总线结构,开始利用直接连接架构(Direct Connect Architecture)高速连接处理器、内存控制器和I/O。直接连接架构的重要组成部分HyperTransport总线的应用更是使得Opteron处理器及其整个平台具有了良好的扩展性和灵活性。Opteron 2000/8000系列处理器最高支持3条cHT(coherent HyperTransport)链路,这中链路不仅可以作为双路服务器两颗处理器之间的通讯通道,还可以利用HTX扩展卡同集群内的其它服务器进行高速通讯。总得来看,Opteron系列处理器设计之初的着眼点就相当的高。

  Xeon 5100系列处理器虽然换用了全新的Core微架构,但是依然沿用了前端总线结构,为了解决上一代Xeon平台前端总线存在严重瓶颈的问题,Intel此次为其运行平台Intel 5000系列芯片组设计了双独立总线结构(DIB),并且大幅度提升了前端总线运行频率——从FSB800MHz到FSB1333MHz。Intel 5000系列芯片组主要利用高带宽、点对点的PCI-Express总线技术来进行扩展,包括其南北桥之间的总线也是基于PCI-Express技术的,Intel体系中重要的I/O扩展芯片PXH也能通过这种总线进行扩展。

  AMD Opteron处理器整合了内存控制器,这种设计的最大优点是可以有效的降低了内存子系统的延迟,但是也使得AMD平台在内存技术上无法太灵活。借着新一代Opteron处理器的发布,AMD才终于开始支持业界已经普通使用的DDR2内存。新的Opteron处理器整合了DDR2内存控制器,Opteron 1000最高可支持DDR2-800内存,理论上可以提供12.8GB/s的内存带宽,而Opteron 2000/8000处理器最高可支持DDR2-667内存,理论上可提供10.7GB/s的内存带宽。这相对于上一代Opteron是一个非常大的改进。

  Xeon 5100系列处理器的内存控制器依然在北桥芯片中,最大的改进是开始支持FB-DIMM内存。Intel在现有的DDR2内存芯片的技术上,引入了串行技术,可以实现更多的内存通道。比如Intel 5000P芯片组最多可支持4通道配置,配合FB-DIMM 667MHz内存,可提供21.3GB/s的理论内存带宽,这使得Intel新Xeon平台更趋向于平衡。但目前看来FB-DIMM远非完美,单单是其居高不下的功耗就非常让服务器厂商头痛。

  虚拟化也是今年X86服务器中的一个热点,这种技术可以帮助解决“一个台服务器,一个应用”所造成的资源(计算能力、存储能力、电力等)的浪费。Intel Virtualization Technology和AMD Virtualization均借助于硬件电路帮助提升虚拟化应用的效率。AMD强调的是其直接连接架构能够为虚拟化应用提供一个平衡的环境,从而提升AMD Virtualization技术执行的效率。Intel则是强调众多虚拟解决方案厂商的支持,目前VMware、Xen、Microsoft都已经提供了对于VT的支持。

系统对比 AMD Opteron 2000系列 Intel Xeon 5100系列
模块化/可扩展 支持 需要北桥
SMP 双路四核 双路四核
直接连接架构 支持 不支持
双核技术 支持 支持
32bit计算 支持 支持
64bit计算 AMD64 EM64T
HyperTransport技术 支持 不支持
内存控制器 整合于处理器 整合于北桥
硬件辅助虚拟化 AMD-V VT
前端总线频率 1800-3000MHz* 1066MHz/1333MHz
前端总线带宽 14.4-24GB/s 17-21.3GB/s
最大处理器间带宽 8.0GB/s 8.5-10.66GB/s
内存类型 DDR2 400/533/667 FB-DIMM DDR2 533/667
最大双路内存带宽 21.2GB/s 21.3GB/s
最大L1 Cache 64KB Icache/core
64KB Dcache/core
32KB Icache/core
32KB Dcache/core
最大L2 Cache 1MB/core 4MB(share)
双路最大I/O带宽 32GB/s 14GB/s
SIMD指令集 SSE/SSE2/SSE3 SSE/SSE2/SSE3/SSE4
 
  我们选择了AMD Opteron 2210和Intel Xeon 5120处理器进行对比测试,它们都是各自产品线内的中低端产品,主频相近(前者1.80GHz,后者1.86GHz),相信也是未来一年内双核服务器中的主流配置。

  测试平台和测试方法

AMD Opteron 2210测试平台

主板

TYAN Thunder h2000M (S3992)

芯片组

Broadcom HT1000+HT2000

处理器

AMD Opteron 2210 x 2

主频

1.8GHz

HTT

1000MHz

L2容量

1MB x 2

处理器设置

AMD Power Now! Disable

内存

Ramaxel 1GB 2Rx8 PC2-4200R-444 x 8

磁盘控制器

板载adaptec AIC-7902W SCSI/RAID控制器

硬盘

日立Ultrastar 147GB万转SCSI硬盘(型号HUS103014FL3800)

磁盘设置

磁盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区, 文件服务器、磁盘测试均在格式化后的扩展分区上进行

操作系统

Microsoft Windows Server2003,5.02.3790,SP1

网卡

Broadcom NetXtreme Gigabit Ethernet (BCM5780整合GbE)

 

Intel Xeon 5120测试平台

主板

X7DB3

芯片组

Intel 5000P

驱动程序

INF 7.3.1.1013

处理器

Intel Xeon 5120 x2

主频

1.86GHz

FSB

1066MHz

L2容量

4MB(共享)

处理器设置

XDbit Disable
EIST Disable
C1 State Disable

内存

Ramaxel 1GB 2Rx8 PC2-4200R-444 x4 FB-DIMM

配置 4通道 Interleaving开启

磁盘控制器

LSI Logic MegaRAID SAS 8308ELP扩展卡

硬盘

Maxtor ATLAS 10k V 147GB SAS x3

驱动程序

1.17.0.32(2/3/2006)

磁盘设置

三块硬盘组建为RAID 5模式,条带大小为64KB,Read=Normal,Write=BadBBU。
磁盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区,共享文件夹、磁盘测试均在格式化后的扩展分区上进行

操作系统

Microsoft Windows Server2003,5.02.3790,SP1

网卡

Intel PRO/1000 EB Network Connection with I/O Acceleration

驱动程序

9.3.39.0(4/3/2006)

  我们在上述配置的服务器上分别安装了Microsoft Windows 2003 SP1企业版,正确安装了各个硬件的驱动程序,确保服务器工作在非常好的的状态。

  我们所使用的评测项目如下:

  • SPECCPU2000 v1.2

  SPEC是标准性能评估公司(Standard Performance Evaluation Corporation)的简称。SPEC是由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护一套用于评估计算机系统的标准。

  SPEC CPU2000是SPEC组织推出的一套CPU子系统评估软件,它包括CINT2000和CFP2000两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能。计算系统中的处理器、内存和编译器都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2000的影响非常的小。

  SPECfp测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、DCC以及科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。

  我们在被测服务器中安装了Intel C++ 8.1 Compiler、Intel Fortran 8.1 Compiler这两款SPEC CPU2000必需的编译器,另外安装了Microsoft Visual Studio 2003.net提供必要的库文件。按照SPEC的要求我们根据自己的情况编辑了新的Config文件,可以满足Base测试。然后我们根据被测系统实际可同时处理的线程数量,设定用户数量,分别运行SPEC base和SPEC rate base测试的结果(其中SPEC base代表系统执行某个任务的速度,而SPEC base rate测试代表系统可以同时处理任务的能力)。

  • ScienceMark v2.0 Membench

  ScienceMark v2.0是一款用于测试系统特别是处理器在科学计算应用中的性能的软件,MemBenchmark是其中针对处理器缓存、系统内存而设计的功能模块,它可以测试系统内存带宽、L1 Cache延迟、L2 Cache延迟和系统内存延迟,另外还可以测试不同指令集的性能差异。

  • IOMeter 2004.7.30

  IOMeter是一款功能非常强大的IO测试软件,它除了可以在本机运行测试本机的IO(磁盘)性能之外,还提供了模拟网络应用的能力。在这次的测试中,我们仅仅让它在本机运行测试服务器的磁盘性能。为了全面测试被测服务器的IO性能,我们分别选择了不同的测试脚本。

  • Max_throughput(read):文件尺寸为64KB,100%读取操作,随机率为0%,用于检测磁盘系统的最大读取吞吐量

  • Max_IO(read):文件尺寸为512B,100%读取操作,随机率为0%,用于检测磁盘系统的最大读取操作IO处理能力

  • Max_throughput(write):文件尺寸为64KB,0%读取操作,随机率为0%,用于检测磁盘系统的最大写入吞吐量

  • Max_IO(write):文件尺寸为512B,0%读取操作,随机率为0%,用于检测磁盘系统的最大写入操作IO处理能力

  • SiSoftware.Sandra.Enterprise.v2007.5.10.98

  SiSoftware Sandra是一款可运行在32bit和64bit Windows操作系统上的分析软件,这款软件可以对于系统进行方便、快捷的基准测试,还可以用于查看系统的软件、硬件等信息。今年该软件推出了2007版,该版本新增了4项基准测试,包括Power Management Efficiency、Memory Latency、Physical Disks和CD-ROM and DVD这四个项目。另外,它还对于原有的几个基准测试模块进行升级,比如在Arithmetic benchmarks中增加了对SSE3 & SSE4 SSE4的支持,在Multi-Media benchmark中增加了对于SSE4的支持,另外还升级了File System benchmark和Removable Storage benchmark两个子项目。对于新的硬件的支持当然也是该软件每次升级的重要内容之一。SiSoftware Sandra所有的基准测试都针对SMP和SMT进行了优化,最高可支持32/64路平台,这也是我们选择这款软件的原因之一。

  • WebBench v5.0

  WebBench是针对服务器作为Web Server时的性能进行测试,我们在被测服务器上安装了IIS6.0组件,以提供测试所需的Web服务。在测试中我们开启了网络实验室中的56台客户端,分别使用了WebBench 5.0内置的动态CGI以及静态页面脚本对服务器进行了测试。

  静态测试是由客户端读取预先放置在服务器Web Server下的Web页面(wbtree),这项测试主要考察的是服务器磁盘系统以及网络连接性能。我们使用了实验室中的56台客户端,配合Static_mt.tst多线程静态脚本测试向被测服务器发送请求。

  动态测试偏重于对服务器CPU子系统的性能测试,它对于Web服务器提供了足够的负载。我们将一个C语言编写的CGI源文件Simcigi.c编译为Simcgi.exe,并将其作为动态测试中的CGI脚本。在测试过程中,每台安装了WebBench客户端软件的PC,会在300秒的时间内持续向服务器发送CGI请求,而控制台会纪录并汇总服务器所响应CGI请求的数据。CGI测试的成绩高低,主要取决于服务器处理器子系统性能的优劣。处理器子系统包括CPU、内存以及内存控制器,CPU频率、缓存以及内存容量大小和内存带宽,都会影响该项成绩。

  • NetBench v7.03

  NetBench是针对文件服务器的性能测试软件,影响NetBench性能的主要是服务器的磁盘子系统,服务器磁盘控制器、条带大小、读写缓存、硬盘类型、组建磁盘阵列模式、内存容量、网络拓朴结构等都会对测试结果有明显的影响。我们在被测服务器上设立了文件服务器,NetBench通过网络实验室中60个客户端来模拟网络中的PC向文件服务器所发出的文件传输请求,文件服务器则将存储在磁盘上的文件数据发送给相应的客户端。在测试过程中,客户端会以每四台一组的步进依次增加并且向服务器发送文件传输请求,测试结束后控制台收集数据并绘制出服务器的数据传输变化曲线。

  • Benchmarkfactory 4.6

  大部分的服务器应用都同数据库有着密切的联系,因此我们今年开始着手在在服务器测试中加入对于数据库性能的测试。我们选择了Benchmark Factory 4.6软件和Microsoft SQL2000 SP4来测试不同的硬件平台在数据库应用中的表现。

  我们选择了BF内置的标准测试脚本AS3AP,这项测试可用于对于ANSI结构化查询语言(SQL)关系型数据库进行测试,它可用于测试DBMS(单用户微机数据库管理系统),也可用于测试高性能并行或者分布式数据库。

  • 系统功耗监测

  我们使用UNI-T UT71E智能数字万用表对于被测服务器系统的整体功耗进行了监测,利用随机附带的接口程序,我们可以记录被测服务器任意时间段内的功率变化。

  处理器性能测试

SiSoftware.Sandra.Enterprise.v2007.5.10.98

  Opteron 2210 Xeon 5120
Processor Arithmetic
 Dhrystone ALU(MIPS) 26019 34567
Whetstone iSSE3(MFLOPS) 21955 23112
Processor Multi-Media
Integer x8 iSSE4(it/s) 67557* 205123
Floating-Point x4 iSSE2(it/s) 73295 111132

  Sisoftware Sandra Enterprise 2007在Arithmetic benchmarks中增加了对SSE3 & SSE4的支持,在Multi-Media benchmark中增加了对于SSE4的支持,AMD Opteron 2210处理器和Intel Xeon 5120处理器对于指令集的支持情况并不相同:

  • AMD Opteron 2210:MMX(+)、3DNow!(+)、SSE、SSE2、SSE3、X86-64

  • Intel Xeon 5120:MMX、SSE、SSE2、SSE3、SSE4、EM64T

  因此,除了Processor Multi-Media Integer测试之外,其它的三个测试项目均具有可比性。从上面的表格可以看出,这两款主频相当的处理器的性能差异巨大!Xeon 5120的Dhrystone ALU性能比Opteron 2210高出33%,Whetstone iSSE3性能比Opteron 2210高出5%,Floating-Point x4 iSSE2性能比Opteron 2210高出51%。

  Processor Multi-Media Integer测试中,Opteron2210只能调用MMX/SSE指令集,而Xeon 5120则可以调用SSE4指令集,因此Opteron 2210的性能几乎只有Xeon 5120的三分之一而已。

  缓存内存性能测试

ScienceMark Membench

  Opteron 2210 Xeon 5120
L1带宽 29794.86 52358.39
L2带宽 9440.91 15683.28

内存带宽(MB/s)

4532.81 2918.25

L1 Cache Latency (ns)

32 Bytes Stride

1.67 1.61

L2 Cache Latency(ns)

4 Bytes Stride

1.67 1.61

16 Bytes Stride

2.78 2.14

64 Bytes Stride

9.47 5.89

256 Bytes Stride

6.68 6.43

512 Bytes Stride

7.24 6.43

Memory Latency(ns)

4 Bytes Stride

2.23 1.61

16 Bytes Stride

7.24 2.14

64 Bytes Stride

30.07 6.96

256 Bytes Stride

72.96 7.50

512 Bytes Stride

76.3 8.04

Algorithm Bandwidth(MB/s)

Compiler

2150.32 2068.71

REP MOVSD

2210.95 2086.7

ALU Reg Copy

2247.43 2019.78

MMX Reg Copy

2321.01 2046.38

MMX Reg 3dNow

4080.22 -

MMX Reg SSE

4532.81 2906.74

SSE PAlign

3455.83 2897.37

SSE PAlign SSE

4530.49 2918.25

SSE2 PAlign

3456.07 2888.73

SSE2 PAlign SSE

4529.26 2917.67

MMX Block 4kb

3729.19 2460.69

MMX Block 16kb

4003.97 2663.69

SSE Block 4kb

3825.39 2452.03

SSE Block 16kb

4093.81 2668.89

  ScicenMark v2.0 Membench的测试结果显示Opteron 2210平台的内存带宽为4532 MB/s,而Xeon 5120平台的内存带宽为2918 MB/s,差异相当的明显。在Algorithm Bandwidth测试中,不同算法应用下的带宽测试结果也是Opteron 2210占据明显的优势。

  Xeon 5120的L1缓存延迟和L2缓存延迟都比Opteron 2210的短,这主要是Xeon 5100系列开始采用Core微架构的结果。更令人意想不到的时候,以前在内存延迟方面占据明显的优势的Opteron 2210明显落后于Xeon 5120。虽然Opteron 2000系列采用延迟较长的DDR2内存是一个方面的因素,但是总体来说其延迟增加并不多(该文的对比了Opteron 2000和Opteron 200的内存延迟)。

  从上面的数据来看,Intel Xeon 5120内存延迟的测试结果依然保持在L2缓存的数量级上,因此我们认为Xeon 5120处理器更加适用于ScienceMark的算法(或者说此时测试所采用的数据没有能真正的调用缓存以外的数据,随后的测试中能进一步解释这个问题)。

SiSoftware.Sandra.Enterprise.v2007.5.10.98

  Opteron 2210 Xeon 5120
Memory Bandwidth
RAM Int Buff iSSE2(MB/s) 10764 4152
RAM Float Buff iSSE2(MB/s) 10722 4158
Memory Latency
Random Access    
1kB 1.7 1.6
4kB 1.7 1.6
16kB 1.7 1.6
64kB 1.7 7.6
256kB 9.6 8.4
1MB 12.2 8.6
4MB 112.3 14.4
16MB 119.3 118.5
64MB 127.1 134.9
Linear Access    
1kB 1.7 1.6
4kB 1.7 1.6
16kB 1.7 1.6
64kB 1.7 6.6
256kB 9.6 6.6
1MB 9.6 6.6
4MB 30.6 7.3
16MB 30.8 25.5
64MB 30.7 25.6
Cache and Memory(MB/s)
2KB 73233 169224 
4KB 70565 212754
8KB 69892 226392
16KB 72724 236478
32KB 73363 234714
64KB 71060 222290
128KB 62404 173958
256KB 56193 69226
512KB 43541 68656
1MB 35921 65802
4MB 23093 54043
16MB 9272 7008
64MB 9177 4703
256MB 8740 4430
1GB 6990 3544

  Sisoft Sandra 2007内存带宽测试结果显示Opteron 2210平台的内存带宽是Xeon 5120平台的2.5倍,而两者的理论内存带宽基本是相同的。需要注意的是,这个数字也不能说明FB-DIMM是如此的不堪,我们依然认为这是不同的测试软件所采用的算法不同所导致的。

  在内存延迟方面,无论是随机测试还是线性测试,当测试数据块小于4MB(也就是Xeon 5120的L2缓存的容量的时候),Xeon 5120平台都占据着明显的优势。而当测试数据块容量超过L2缓存容量的时候,Xeon 5120只有在线性测试中领先了,Opteron 2210则在随机测试中具有优势。

  Cache and Memory带宽测试中也表现出来同样的趋势,当测试数据块容量小于4MB时,Xeon 5120均明显的优于Opteron 2210(这一点同,ScienceMark Membench的L1/L2测试结果是相符的)。当测试数据块容量大于4MB时,Opteron 2210立刻赶超了上来。

  Web服务器性能测试

  在测试Web服务器的时候,我们一般的会选择静态Web应用和动态CGI应用进行测试。在静态测试过程,服务器的I/O能力(比如磁盘吞吐量、网卡吞吐量)的高低是限制这项测试主要因素。动态测试时,吞吐量远没有达到被测服务器网卡的吞吐量上限,测试结果主要反映处理器、内存等部分的性能。

  如上图所示,配置了双路Xeon 5120处理器和4GB FB-DIMM DDR2-533内存的服务器动态CGI请求处理能力达到了6829 Requests/s,而配置了双路Opteron 2210处理器和8GB DDR2-533的服务器动态CGI请求处理能力达到了6223 Requests/s。Opteron 2210落后于Xeon 5120约9.7%。

  不过,也不要就此断定Xeon 5120就是胜券在握了。在4个客户端到32个客户端同时发送请求的时候,均是Opteron 2210占据优势,特别是在24个客户端的时候,领先Xeon 5120大约6.1%。从36个客户端同时发送请求的时候,Xeon 5120才开始占据优势。

  数据库性能测试

  我们在被测服务器上安装了Microsoft SQL 2000 SP4,按照测试要求建立了数据库。BF在测试之前会在数据库中生成9个表,其中包括4个500万行的表格,每行包括100字节的数据,因此每个表格容量大约是476MB,整个数据库容量为1.86GB。我们用60个客户端模拟800个用户,并且以8个一组依次增加,在这个数据库中进行查询、添加、删除、修改等操作。在测试期间,数据的吞吐量很小,因此磁盘吞吐量和网络吞吐量都不会成为瓶颈。

  从测试曲线来看,Xeon 5120和Opteron 2210所表现出来的特性是完全不同的。Opteron 2210的曲线比较平滑,峰值出现在360个虚拟用户接入被测服务器的时候,达到了35596 Tps。在300个虚拟用户之后,服务器的处理能力均维持在35000 Tps的水平上。而Xeon 5120在多于96个虚拟用户少于360个虚拟用户的时候,性能处于“爆发”状态,性能普遍在40000 Tps以上,峰值甚至超过了60000 Tps,但是当接入的虚拟用户的数量更多的时候,其性能只能维持在25000 Tps左右。

  IT168评测中心观点

  虽然AMD Opteron 2000的核心从Italy升级到了Santa Rosa,但是其处理器核心部分几乎没有变化,比如每个处理器核心都配置了64KB数据缓存、64KB指令缓存和1MB L2缓存。整数管线长度为12级,浮点管线长度为17级。从我们的测试来看,其新双核系列处理器Opteron 2000在性能上几乎没有提高,即便是使用了更高频率的DDR2内存也没有太多的改观(点击查看Opteron 2000和Opteron 200性能对比)。采用了全新的Core微架构的Xeon 5100系列处理器相对于上一代产品的表现可谓是脱胎换骨,在双核产品上Intel终于可以扬眉吐气了(Xeon 5100、Xeon 5100、Paxville DP和Nocoana性能对比)。

  按照这样的情况来判断,Intel Xeon 5100完胜AMD Opteron 2000似乎也是顺理成章的事情了。但是,通过我们这次一对一的仔细对比来看,我们认为两者仍然是各有胜负。

  虽然Sisoft Sandra 2007的测试结果显示Xeon 5120处理器的领先优势不是一点两点,但是在实际应用测试中其性能优势并没有那么大,这说明Xeon 5120处理器也只是在部分应用中有优势。通过分析,我们认为Xeon 5120处理器的缓存性能出众,如果应用不超出其缓存,那么可以提高极高的效能。而当应用需要频繁的访问内存的时候,则性能表现一般——从MS SQL数据库性能测试可以看出这一点。

  极具架构前瞻性的Opteron体系在这次测试中依然表现出来了相当的实力。Opteron 2210整体而言更加均衡,在Sisoft Sandra 2007处理器测试中表现一般,但是当应用需要频繁访问内存的时候,它彰显实力的时候就来了,Cache and Memory带宽测试很明显的表明了这一点。在MS SQL数据库性能测试中其稳定的表现也证实了这一点。

  总得来说,Xeon 5120如同一个短跑运动员,具有巨大的爆发力,而Opteron 2210则如同一个稳健的长跑运动员,耐力非凡。

0
相关文章