Sunday, June 05, 2011

Time malleability

There are differences between the conceptualization of time in computing systems and the human conceptualization of time. At the most basic level in computing, time is synonymous with performance and speed. At the next level in computing, there are “more kinds of time” than in the human and physics perspective where time is primarily continuous. In computing, time may be discrete, synchronous and asynchronous, absolute and relative, and not elapsing at all.

Concurrency trend in contemporary computing
Computing is now making time even more malleable as a side effect of the quest to develop concurrent systems (multi-cores and multi-processors, and cluster, grid, and cloud computing), in at least four ways. One technique is using functional languages such as Haskell, LISP, Scheme, Clojure, and F# where sets of items and processes may not need to be temporally ordered. A second method is enhancing existing computer languages with new commands like ‘happensbefore’ and concurrency control mechanisms like ‘lock free queues’ to manage multiple threads of code operating simultaneously. A third means is creating new models with less time dependency like MapReduce which automatically parallelizes large data problems into finding all possible answers (‘map’), and determining relevancy (‘reduce’). A fourth technique is extending alternative models such as clock free methods and asynchronous computing and restructuring problems to be distributed for more expedient resolution.

Building intelligent systems
The building of intelligent systems is a special problem in computing. There are many approaches ranging from attempts to model human thinking, including the conceptualization of time, to attempts to building intelligent systems from scratch. All models might benefit from incorporating biological time models such as temporal synchrony, the notion of a high-level background synchronization of processes.

Conclusion
Computers are already great time-savers. Computing approaches to contemporary problems like concurrency and building intelligent systems are increasing the ability to manipulate time. Ultimately, humans may be able to greatly extend the control of time, for all intents and purposes creating more time.

From “The conceptualization of time in computing

blog comments powered by Disqus