《关于并行貌似正确的废话》系列文章:

  1. 关于并行貌似正确的废话–串行已经尽力了
  2. 关于并行貌似正确的废话-程序语言发展的启示
  3. 《关于并行貌似正确的废话-程序员是优秀的管理者》

封装这一永恒的主题,在多核的时代还会永恒下去吗?答案是肯定的!

既然四个核的存储一致性都很难通过高效的机制保证,众核时代,更是如此。这众核肯定是若干个小的,结构简单的,功能不同的核的集合体。未来的程序,单单的串行,这么多核,很难充分的利用。功耗已经很高了,多少个核,就至少是多少倍的功耗提升,仅仅依靠投机也是不行的。

Continue reading »

 

《关于并行貌似正确的废话》系列文章:

  1. 关于并行貌似正确的废话–串行已经尽力了
  2. 关于并行貌似正确的废话-程序语言发展的启示
  3. 《关于并行貌似正确的废话-程序员是优秀的管理者》

怎么办?解铃还需系铃人。既然自动的做不了,程序员就需要有并行的头脑,用并行的语言和开发方式,设计,实现。怎么并行?

或许计算机和程序语言的发展史能给我们一些启发。

Continue reading »

 

《关于并行貌似正确的废话》系列文章:

  1. 关于并行貌似正确的废话–串行已经尽力了
  2. 关于并行貌似正确的废话-程序语言发展的启示
  3. 《关于并行貌似正确的废话-程序员是优秀的管理者》

在没有革命性的芯片制造技术之前,咱们必须得接受要想快,只能并行!即使出来了新的CPU制造技术,只要有计算,就需要时间,只要有时间需求,人就想要程序跑的越快越好。这是必须的,除了程序员,没有人会享受程序运行的过程。用计算机的人只想要结果!所以性能,将是永恒的主题。

怎么提升性能?咱们从下往上看。

Continue reading »

 

LLVM之父,相信有很多人都知道,Chris Lattner。从2000年开始,搞LLVM到现在。LLVM最初的想法还是来自Chris Lattner的导师:Vikram Adve。编译界的大牛。

这篇文章来自CGO 2009的Keynote:《The Next Generation of Compilers》,keynote是学术会议上的精彩环节,一般是该领域的最权威学者做主题演讲,演讲的内容是很前瞻,高屋建瓴性质的。 Continue reading »

 

认识Native Client

Native Client (Nacl) 是Google提出的一种让浏览器直接运行机器码的技术,让Web应用可以从客户机上获得更多的性能,同时又不会引起安全问题。这个技术类似于微软的ActiveX。程序员可以使用C++或者其他语言编写web应用程序,再通过Nacl发布。程序中可以调用一些系统服务中安全的API,如声卡或者图形显示等。Nacl能使用的本地系统调用都是已经规定好的,所以安全性有保证。这篇文章介绍如何使用Native Client。 Continue reading »

 

先看图

大肠杆菌和Linux系统的控制网络对比

大肠杆菌和Linux系统的控制网络对比

图片来自《科学松鼠会》,很棒的探索新知的网站:)

生物信息学里把DNA序列看成生物体的操作系统,这张图左侧是大肠杆菌的控制网络,右侧是Linux系统的。 Continue reading »

 

概览SPEC

Standard Performance Evaluation Corporation:标准性能测试协会,一个致力于发布管理计算机性能标准化测试的组织.建立于1988年,会员包括Apple,Dell,IBM,Intel,Microsoft和Sun。Spec的测试例子被光感应用于计算机系统的性能测试中。

SPEC的测试例子是为了测试实际生活中的场景,如SPEC web2005通过并发HTTP请求测试web服务器的性能.SPEC CPU通过多个例子的运行时间长短衡量CPU的性能。SPEC的测试例子都采用平台无关代码编写,以便能使用各种编译器和平台来测试。现在的工业界更是针对SPEC中的测试例子做优化来证明编译器,CPU,web服务器等等的性能提升。

SPEC发布了以下性能测试集:

  • SPEC CPU2006/2000用来测试CPU,存储和编译器的性能
  • SPEC jms 2007,用于测试JAVA消息服务的性能
  • SPEC web 2005 用于测试PHP或者JSP的性能
  • SPEC Viewperf,用于测试OpenGL 3D图形系统的性能
  • SPEC apc,用于测试给定系统中多个3D交互应用的性能
  • SPEC OMP2001 使用OpenMP测试并行系统的性能
  • SPEC MPI2007 使用MPI测试并行系统的性能
  • SPEC JVM 2008,测试Java Runtime Environment(JAVA运行时环境,JRE)在不同客户和服务器系统上的JAVA性能
  • SPEC jAppServer2004, 测试JAVA 2 Enterprise Edition应用服务器的性能
  • SPEC jbb2005,同样测试JAVA系统的性能,但测试的是a three-tier client/server system (with emphasis on the middle tier)
  • SPEC Mail2001,测试邮件服务器的 Continue reading »
 

注,这份表格并非本人整理,来自wwxu的邮件。

会议 会议全称 领域 William & Mary 列表 -2008 新加坡国立 列表 -1999 复旦列表-2008 篇均引用次数 大陆发表情况 3年投稿意愿 Abstract Deadline Full Paper Deadline Notification of decision
1. ASPLOS Architectural Support for Programming Languages and Operating Systems 体系结构 操作系统 编译技术 A+ Rank1 Rank1 39.1 1982年来尚未发表 2009-8-3 2009-8-10 2009-11-6
2. CGO International Symposium on Code Generation and Optimization 编译技术 A N/A Rank2 4.4 2009 ICT 2篇;国内公司 3篇 2009-9-3 2009-9-10 2009-11-11
3. DAC Design Automation Conference 电路设计 体系机构 测试技术 A Rank1 Rank1 8 1964年来发表9篇
2009-11-9
4. DATE Design, Automation and Test in Europe 电路设计 体系机构 测试技术 A Rank2 Rank2 2.48 1993年,约20篇
2010-1-15
5. DSN The 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks 可靠设计 体系机构 软件系统 A+ N/A Rank2 9.51 1970年5-6篇
2009-10-8
6. FSE International Symposium on Foundations of Software Engineering 软件工程 A Rank1 Rank1 10 08港科技06港科技2港城市1篇
2009-11-9 2010-1-6
7. HPCA International Symposium on High-Performance Computer Architecture 体系结构 A+ Rank1 Rank1 15.7 1995年来发表1篇 2009-7-24 2009-7-31 2009-10-10
8. ICCAD International Conference on Computer-Aided Design 电路设计 测试技术 A Rank1 N/A 9 1990年来发表6篇
2009-5-11
9. ICDCS IEEE Intl Conf on Distributed Comp Systems 分布式系统 A Rank2 Rank2 8.8 1981年来发表6篇
2009-11-25 2010-2-8
10. ICS The International Conference on Supercomputing 高性能计算 A Rank1 Rank2 9 1987年来4篇 2010-1-11 2010-1-18 2010-3-22
11. ISCA International Symposium on Computer Architecture 体系结构 A+ Rank1 Rank1 25.7 1973年来发表5篇 2009-7-10 2010-1-15 2010-2-15
12. ISLPED International Symposium on Low Power Electrical Design 低功耗体系结构 N/A N/A N/A



2010-3-5 2010-4-30
13. ITC International Test Conference 测试技术 A N/A N/A 2.86 1970年,9篇
2010-3-17 2010-6-22
14. MICRO International Symposium on Microarchitecture 体系结构 A+ Rank1 Rank1 15.3 1968年来发表9篇,1995年后尚未发表 2009-5-15 2009-5-22 2009-7-28
15. NSDI Symposium on Networked Systems, Design and Implementation
A N/A Rank1 13.5 2004年来尚未发表 2009-9-25 2009-10-2 2009-12-18
16. OOPSLA Conference on Object Oriented Programming Systems Languages and Applications 编译技术 A+ Rank1 Rank1 11.6 2007 香港; 2006 香港 2009-3-19 2009-3-23
17. OSDI Usenix Symposium on Operating Systems Design and Implementation 操作系统 A+ Rank1 Rank1 66.3 1994年来尚未发表(2008第二作者)
2010-3-7 2010-7-20
18. PACT IEEE Intl Conf on Parallel Architectures and Compilation Techniques 并行计算 A Rank1 Rank2 7.1 1997年来2篇 2010-3-20 2010-3-27
19. PLDI Conference on Programming Language Design and Implementation 编译技术 A+ Rank1 Rank1 38 08,07 清华2篇,05 ,04 Intel China 2篇,92 台湾 2009-11-13 2009-11-20 2010-2-2
20. PODC ACM Symp on Principles of Distributed Computing 分布式系统 A+ Rank1 Rank1 11.9 1982年以来尚未发表 2010-2-10 2010-2-17 2010-4-15
21. POPL Annual Symposium on Principles of Programming Languages 编译技术 A+ Rank1 Rank1 35.7 未定 2009-7-8 2009-7-15 2009-10-1
22. PPOPP ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming 高性能计算 A Rank1 Rank1 18.7 1988年来3篇 2009-7-17 2009-7-20 2009-9-18
23. RTSS The Real Time Systems Symposium 实时系统 A+ Rank1 Rank1 11.75 1979,5-6篇,香港比较多
2009-5-26
24. SAS IEEE Static Analysis Symposium 编译技术 A Rank2 N/A 8 07北大 2010-3-12 2010-3-19 2010-5-4
25. SC The International Conference for High Performance Computing, Networking, Storage and Analysis 高性能计算 N/A N/A Rank2 8.6 1988年来1篇 2009-4-3 2009-4-6 2009-6-29
26. SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems 性能度量 A+ Rank1 Rank1 13 1973年来发表2篇 2009-11-2 2009-11-9 2010-2-9
27. SOSP ACM SIGOPS Symp on OS Principles 操作系统 A+ Rank1 Rank1 55.6 1967年来尚未发表 2009-3-2 2009-3-7 2009-6-15
28. SPAA ACM Symposium on Parallel Algorithms and Architectures 并行计算 A Rank1 Rank3 9.5 1989年来1篇
2010-1-13 2010-3-12
29. VTS VLSI Test Symposium 测试技术 A N/A N/A 2.89 1983年,6篇 2009-9-20 2009-9-30 2009-12-4
30. WWW International World Wide Web Conference 网络 A+ Rank 1 Rank 1 10.2 2009-10-26 2009-11-2 2010-1-21

 

读PLDI 04 Best Paper Award 《Automatically Proving the Correctness of Compiler Optimizations》
By Sorin Lerner.Todd Millstein and Craig Chambers in Washington U

本博自从接触编译器到现在,几乎都每天都能听到bug这个关键字,编译器中的bug很痛苦,首先,人写的程序很复杂,编译器设计者很难想出所有的情况并一并处理之;其次,编译器的bug很难调,要先排除程序本身的错,接着需要知道到底是分析时出错还是变换时出错;还有这些错都是在怎样的分析和变换中出了错;最后还要担心错误会不会越不越多,没有对编译器整体的理解,很难给编译器打上正确的补丁,从而有可能这个例子补对了,其他又错了一片.
作者在文章里就编译优化正确性的自动证明做了一些尝试,这些尝试在读完文章之后觉得很了不起,只是这里面提到的工作做下来,也是需要很大的积累和投入.作者的尝试我概括如下:将优化分为转换和具体优化两个部分.代码的转换是所有优化都要做的,而并非所有的转换都是优化,所以作者通过增加利益驱动模块来判断某个转换是否是优化,这样优化的自动证明问题,就变成了某个转换正确性的自动证明问题;正确性的定义:转换前后的语义保持不变.接着作者按照转换依据的信息来自转换语句之前还是之后,将转换分成两种模式,即前向转换模式和后向转换模式.然后分别对这两种模式进行讨论,而自动证明也分别针对这两种模式来论述. Continue reading »

 

具体第六感的内容,就不多说了,请看下面视频,来自优酷。

写写观后感:
1,就如作者所说,计算机最终的目的仅仅是为了让人能更方便的交换信息,只是为了满足人社会关系的需要。如果有别的东西能够代替计算机处理和传播资讯,那所有的程序员都会失业。游戏,电视剧,电影仅仅是用来消灭时间和排解寂寞而已。
2,图像处理在这个视频里占了很大的比重,又以图形和模式识别为主要形式,看来多干点这个,以后很有前途哈。所以以后要多往这方面努力。对于我们这种作编译优化的,能做的就是图形和图像中的计算方面的优化了。。。。。
3,作者确实是个牛人,很有想象力,又能脚踏实地的做事情,从最早的两个鼠标滚轮放在一起,作为手势输入,到最后拿着小小的投影仪就能实现很多神奇的功能。看到最后,真的很让人振奋。所以,停止空想,知行合一的做事情,才能成就,有收获。做个Right now man!
4,作者的博客推荐看一下,Pranav Mistry。因为在视频中,作者提到要将所有源代码开放出去,但是我在作者网站上点了几下,没找到。
5,这个TED网站很不错,推荐 http://www.ted.com/

2009-2011© 编译点滴 Suffusion theme by Sayontan Sinha

无觅相关文章插件,快速提升流量