Rambling: Should All Software Be Real-Time?

As a design guideline, most disembodied “smart” computer systems should be real-time, at least of the soft variety. But they aren’t. We’ve gotten used to the cheap non-real-time properties of mainstream software.

Evolution may have resulted in that design guideline for minds. But our computer programs and networks aren’t minds—at least not yet. However, successful narrow AI techniques continually get added to the toolbox of software engineering. Although most software systems are not in any partition considered to be “minds,” they are doing narrow tasks. Some tasks are human level, such as identifying faces in a photo on Facebook. Some are not human level at all, such as a MapReduce system searching exabytes of data.

All of these should respond quick enough to all inputs so as not to slow down or foul up the system. The humans involved will not wait for very long on their end. Obviously a lot of computer programs are not real-time (not even soft real-time).

It’s more about usability—the slow and/or inconsistent-response programs are less useful and more annoying. They only survive in the software / Internet ecosystem because the nature of that ecosystem is different than the nature of biological evolution.

Tags: ,

Leave a Reply

You must be logged in to post a comment.