TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Computers Without Clocks – Ivan Sutherland (2002) [pdf]

65 pointsby Cieplakover 4 years ago

8 comments

jacquesmover 4 years ago
Ah, one of my hobby horses. I&#x27;d love for this to take off but so far I have not seen anything that convinced me that it will. I have a proof-of-concept of &#x27;life&#x27; in clockless form, which was quite a bit of a headache, and since life is theoretically Turing complete that generalizes to the possibility of making clockless computers at scale. The one nasty little detail is that the computer implemented on the life substrate would have a clock simulated in life...<p>Pretty hard to get around that limitation.
评论 #25461058 未加载
评论 #25457947 未加载
rathelover 4 years ago
The whole digital ASIC synthesis flow revolves around timing closure i.e. satisfying setup and hold at max possible clock speed.<p>I guess we may even have to invent a new HDL to pursue asynchronous paradigm efficiently.
评论 #25456529 未加载
评论 #25457145 未加载
评论 #25456740 未加载
评论 #25458638 未加载
whoisthemachineover 4 years ago
This article takes me back to my college days ca. 2009, my senior design project was asynchronous cryptography circuits... I read this article and a few research papers more than a few times before I gained an entry level understanding of asynchronous circuits. Unfortunately the entire concept was very difficult for even senior computer engineering students to wrap their heads around when they had just been studying clocked circuits in-depth. Understanding the mueller-c element [0] in particular caused me significant difficulties.<p>Understanding the concept from a high-level isn&#x27;t too bad however. As the article covers, if you visualize each piece of information moving along the pipeline as a hand-off, like a chain of people passing balls to each other, with the rule that they can&#x27;t pass a new ball until they&#x27;ve passed the previous ball, you have a rough idea of how asynchronous processing circuits work. What&#x27;s funny is that a natural &quot;clock&quot; begins to take shape at that point, although it&#x27;s determined by the slowest component in your pipeline, rather than by an oscillator. The ball diagrams from the Rx libraries are actually also good visualizations for asynchronous circuits [1].<p>Those were some rough months attempting to achieve our advisor&#x27;s goals, clearly the trauma still hasn&#x27;t left me.<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;C-element" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;C-element</a><p>[1] Example Ball Diagram from the Rx libraries: <a href="http:&#x2F;&#x2F;reactivex.io&#x2F;documentation&#x2F;operators&#x2F;map.html" rel="nofollow">http:&#x2F;&#x2F;reactivex.io&#x2F;documentation&#x2F;operators&#x2F;map.html</a>
tgvaughanover 4 years ago
Wow. Somehow this feels like an even more extreme version of Carl Hewitt&#x27;s actor model in which individual actors themselves involve asynchronous components.
评论 #25458852 未加载
EdwardCoffinover 4 years ago
Archive.org has their old website, fleet.cs.berkeley.edu, which includes various publication and slides from talks [1]<p>[1] <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090423133512&#x2F;http:&#x2F;&#x2F;fleet.cs.berkeley.edu&#x2F;" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090423133512&#x2F;http:&#x2F;&#x2F;fleet.cs.b...</a>
sitkackover 4 years ago
I got to chat with Ivan after he gave a talk about Fleet at the University of Washington a bunch of years ago.<p>He strikes me as down to earth and intellectually honest in ways that most people are not.<p>A similar architecture at the software level is to have thread per core and queues to move data between threads as in Seastar, Glommio, etc.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;scylladb&#x2F;seastar&#x2F;blob&#x2F;master&#x2F;doc&#x2F;tutorial.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;scylladb&#x2F;seastar&#x2F;blob&#x2F;master&#x2F;doc&#x2F;tutorial...</a><p><a href="https:&#x2F;&#x2F;www.datadoghq.com&#x2F;blog&#x2F;engineering&#x2F;introducing-glommio&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.datadoghq.com&#x2F;blog&#x2F;engineering&#x2F;introducing-glomm...</a>
chaganatedover 4 years ago
I believe Chuck Moore took a stab at this with &quot;Green Arrays&quot;<p><a href="http:&#x2F;&#x2F;www.greenarraychips.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.greenarraychips.com&#x2F;</a>
评论 #25458631 未加载
评论 #25458479 未加载
bullenover 4 years ago
I made a completely async. HTTP app. server and then added a distibuted async. JSON database on top:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;tinspin&#x2F;rupy" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tinspin&#x2F;rupy</a><p>The problem with async. is that once you add one thing as async., you need to change everything to be async. for it to work well!<p>That said time is the hardest thing that humans have to deal with, we simply are not built to understand it.
评论 #25458773 未加载