We're talking Linda's language: There may now be a way of taking the pain out of parallel software development, says Darren Ince
Your support helps us to tell the story
From reproductive rights to climate change to Big Tech, The Independent is on the ground when the story is developing. Whether it's investigating the financials of Elon Musk's pro-Trump PAC or producing our latest documentary, 'The A Word', which shines a light on the American women fighting for reproductive rights, we know how important it is to parse out the facts from the messaging.
At such a critical moment in US history, we need reporters on the ground. Your donation allows us to keep sending journalists to speak to both sides of the story.
The Independent is trusted by Americans across the entire political spectrum. And unlike many other quality news outlets, we choose not to lock Americans out of our reporting and analysis with paywalls. We believe quality journalism should be available to everyone, paid for by those who can afford it.
Your support makes all the difference.IT IS NOT often that a programming language makes the pages of the New York Times. Last month, however, the newspaper featured a language called Linda, which promises to bring huge productivity gains in the development of parallel computer software.
In the past 10 years, the computer power available to users has increased dramatically. Processors have been getting faster, and advances in integrated circuit technology have enabled thousands of them to be placed on a small area of silicon.
These so-called parallel computers have the potential to solve problems in areas such as simulation, forecasting and database search, that we only dreamt about a few years ago.
As single processors reach the limits imposed by factors such as the speed of light, increases in computer speed should emerge from combining processors. Unfortunately, while hardware research has created massive processing power, software development lags well behind.
It is immensely difficult to develop, and detect errors in, a parallel software system containing a number of interacting programs shared among a number of processors. One common programming error is known as deadly embrace. This occurs when a program using a resource, such as a file containing data, is suspended whenever it requires another resource - another file, for example - that is being used by a second program; then, when the second program requests a file being used by the first program, it, too, is suspended.
We thus have two programs waiting for each other to release a resource, and the effect on the user can be dramatic: everything seems to go dead.
The difficulties in creating correct programs are seriously hampering the use of parallel computers. Errors such as deadly embrace can be so serious and prevalent that one developer of large systems has compared work on parallel software to experimental scientific research.
But the Linda language may take the pain out of parallel software development. Created by Nicholas Carriero and David Gelernter at Yale University, it hides the complexity of communication and synchronisation. All the user sees are the few statements that manipulate the parallel programs.
Linda has impressed the computing community for two reasons. First, it eases the portability of parallel software from one computer to another, because it does not refer to the underlying hardware architecture. Second, it has been designed to be added to conventional programming languages.
In effect, Linda is just a mini-language for managing the programs executed in parallel; it does not contain features for calculation or manipulation of characters.
Linda was made to be added to such conventional programming languages as C and FORTRAN. Its designers had learnt that computing advances do not occur in a big-bang way but are incremental. Rather than creating a parallel programming language from scratch, they constructed an adjunct for existing languages that already have huge user communities and large libraries of software.
Linda has two messages. The first - that the problems of large parallel program development seem, at first sight, to have been solved - is global. The second - that British parallel software research is rapidly becoming obsolete - is more parochial.
Large sums have been spent on the development of functional programming languages (special mathematical languages for multi- processor computers). But British industry has been showing very little interest, mainly because these languages are radically different from existing ones, such as COBOL and C.
Linda's compatibility not only ensures it a much larger market, but also probably sounds the death knell for a large amount of British software research.
Join our commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies
Comments