source from: https://computing.llnl.gov

Factors determines a large-scale program's performance

4         * Application related factors:

5                 * algorithms

6                 * dataset size

7                 * Memory Usage Pattern

8                 * Use of IO

9                 * Communication Patterns

10                 * Task Granularity

11                 * Load Balancing

12                 * Amdahl's Law

13

14         * Hardware factors

15                 * Processors Architecture

16                 * Memory Hierarchy

17                 * I/O configuration

18                 * Network

19

20         * Software factors

21                 * OS

22                 * Compiler

23                 * Preprocessor

24                 * Communication protocols

25                 * Libraries

Performance analysis:

  Timers, Profiles, system stat, memory tools

Learn some about hardware archiecture:

Intel Xeon 5500/5600

  4-core/ 6-core

  2.4/2.8 GHz

  Cache

    L1 Data 32Kb, private

    L1 Instruction 32Kb, private

        L2 256K, private

     L3 8Mb/12Mb, shared

Cpu-Memory bandwidth: 32 Gb/s

Intel Xeon E5-2670

    8-core, 2.6GHz

Cache

      L1 Data 32K, private

      L1 Instruction 32K, private

      L2 256K, private

      L3 20Mb, shared

CPU-Memory bandwidth  51.2G/s

AMD processors

     2.2 GHz

  Cache

       L1  Data 64k (2-way)

       L1  Instruction 64k(2-way)

       L2  512K private

       L3  2M shared

  Direct - connect Architecture

    CPU-memory bandwidth 10.7G/s per socket F

    other connect socket bandwidth 8G/s(2-way)

  4x Infiniband Interconnect

    * SDR 1.25G/s

    * DDR 2.5G/s

* QDR  5G/s

Learn something about NUMA  

  -physical: each node has sevearl(2-4) sockets, each socket has sevearl(4-8) CPU cores. On same socket, cores share L3 cache; socket-socket communcation through CPU-memory bus, almost 2x ~ 5x slower.   

-design consideration: CPU affinity(numactl --cpunodebind), local memory policy. other compiler/running-time options(mpirun --bind-to-socket -bynode)

Finally and most importantly, a good algorithm.   

一些网摘的hpc材料的更多相关文章

  1. Feedly订阅Blog部落格RSS网摘 - Blog透视镜

    网络信息爆炸的时代,如何更有效率地阅读文章,订阅RSS网摘,可以快速地浏览文章标题,当对某些文章有兴趣时,才点下连结连到原网站,阅读更详细的文章,Feedly Reader阅读器除了提供在线版订阅RS ...

  2. Bloglines订阅Blog部落格RSS网摘 - Blog透视镜

    网络信息蓬勃发展,Blog部落格越来越普及,如果逐一地去浏览网站,势必费时费力,倘若信息可以自己送上门,那就可以节省不少时间,就好像看报纸的标题,有兴趣才点连结,进到网站浏览文章内容,Blogline ...

  3. TCP/IP协议头部结构体(网摘小结)(转)

    源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...

  4. Vim命令快捷键(网摘)

    Vim命令快捷键(网摘) 原文出处:[?---->home]

  5. c#与C++类型转换网摘

    转载自 C++和C#转换 https://www.cnblogs.com/zjoch/p/4147182.html c#与C++类型转换,网摘 //c++:HANDLE(void   *)       ...

  6. Delphi 中DataSnap技术网摘

    Delphi2010中DataSnap技术网摘 一.为DataSnap系统服务程序添加描述 这几天一直在研究Delphi 2010的DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7 ...

  7. Python入门及容易!网摘分享给大家!

    Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Pyth ...

  8. 【网摘】DICOM 基础简介

    一 什么是DICOM?DICOM是Digital Imaging and Communication of Medicine的缩写,是美国放射学会(American College of Radiol ...

  9. PHP 调用微信JS-SDK 开发详解 [网摘]

    一:准备文件,并将文件置于网站根目录下 access_token.json {"access_token":"","expire_time" ...

随机推荐

  1. POJ3237-Tree (树链剖分,线段树区间更新+点更新+区间查询)

    两个更新操作,一个将第i条路径权值改为w,一个是将a-b之间所有路径权值取反. 一个查询操作,求a-b之间路径中权值最大的边. 很容易想到维护一个最大最小值,取反就是把最大最小取反交换一下. 开始遇到 ...

  2. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题

    本次有两个编程问题,一个是求两个数的和满足一定值的数目,另一个是求中位数. 2SUM问题 问题描述 The goal of this problem is to implement a variant ...

  3. [转]freemarker中的list

    转至:http://zhuyuehua.iteye.com/blog/1975251 freemarker list (长度,遍历,下标,嵌套,排序) 1. freemarker获取list的size ...

  4. Kicad使用经验谈

    最近开始学习使用Linux上的开源软件KiCad来绘制电路图和PCB.学习这个还是比较快的,用了两天了,觉得还是蛮方便的. 在这两天的使用以及今后的使用过程中,一定会有很多想要谈的.所以,就写下这篇博 ...

  5. Objective-C的singleton模式

    最近因为在ios应用开发中,考虑到一些公共方法的封装使用,就决定使用单例模式的写法了..不知道,Object-c中的单例模式的写法是否和java中的写法是否有所区别?于是阿堂从网上一搜,发现“ Obj ...

  6. socket断开连接的四次握手及常见过程解析

    TCP的协议文档对TCP的一些规定:文档名称-RFC793  TCP消息头的控制位 URG:紧急指针字段有效 ACK:确认头部字段有效 PSH:强制函数 RST:重置链接 SYN:同步系列号码 FIN ...

  7. jQuery提交Json数据到Webservice,并接收返回的Json数据

    jQuery ajax webservice:get 和 post 一.GET 方式 客户端 复制代码 代码如下: var data = { classCode: "0001"}; ...

  8. poj2105 IP Address(简单题)

    题目链接:id=2105">http://poj.org/problem?id=2105 ----------------------------------------------- ...

  9. C++ 预编译头文件

    1.解决什么问题? C++ 编译器是单独,分别编译的,每个cpp文件,进行预编译(也就是对#include,define 等进行文本替换),生成编译单元.编译单元是一个自包含文件,C++编译器对编译单 ...

  10. Codeforces Beta Round #85 (Div. 1 Only) B. Petya and Divisors 暴力

    B. Petya and Divisors Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/111 ...