The Tyranny of the Clock

http://cacm.acm.org/magazines/2012/10/155552-the-tyranny-of-the-clock/fulltext

在Turing年代,芯片的logic相对来说比较复杂并且执行缓慢,相对来说通信非常快并且代价小。但是在现代设计的话,通信代价上来了而我们却没有跟进这种变化,作者认为这样会造成巨大的浪费。 每个zone之间进行同步越来越困难(换成硬件应该就是各个chip之间做时钟同步代价),阻碍着数据流的继续。我们应该让communication rather than logic should dominate our thinking.

The clock-free paradigm I promote relates to the clocked design paradigm as a "free economy" relates to a "controlled economy." We can regain the efficiency of local decision making by revolting against the pervasive beat of an external clock. # 对于clock-free的设计就好比自由经济,相对于控制经济而言能通过局部决策以及避免外部时钟在各个地方的同步来提高效率。

The paradigm shift I seek faces three formidable obstacles: technical, social and courage. # 这种转变会带来三个可怕的障碍

The clock-free design paradigm must eventually prevail. It fits physics. Each increase in the relative cost of communication over logic brings us closer to the fundamental physical truth that "simultaneous" lacks meaning. The clock-free paradigm fits everything we have learned since Turing about programming. Software avoids tyrannous global time constraints. Without freedom from global time constraints, software libraries would be impossible. "Modularity" and "data hiding" are basic principles of quality software because they allow reuse and local optimization. Software is self-timed: Each subroutine runs at its own pace; its users wait for it to finish. Imagine what software would be like if subroutines could start and end only at preset time intervals. "My subroutines all start at 3.68 millisecond intervals; how often do yours start?" # 但是作者相信这种方式最终会普及,因为这是符合物理规律的。通信相对开销的不断上升,使得我们不断地接近一个基本的事实,那就是"同时"是没有意义的。这个和软件也是一样的,如果不能够从时间的约束中解脱出来,那么软件是没有办法工作的。