Jun 18

The end is nigh for the modern graphics chip. It genuinely pains me to say that. After all, I’m an unapologetic chip aficionado, someone who loves the technology of integrated circuits for the sake of it. But it’s becoming increasingly apparent that GPUs are over-engineered, increasingly irrelevant and almost definitely not long for this world.

The background here involves a confluence of technological trends. The most ominous of these in terms of the GPU’s longevity as a discrete component is the architectural convergence of CPUs and GPUs. However, one of the most debilitating symptoms of the graphics chip’s terminal malaise is complexity – sheer, pointless complexity. Take Nvidia’s latest uber pixel pumper, the GeForce GTX 480. It weighs in at three billion transistors. That’s getting on for triple the size of Intel’s beefiest PC processor, the six-core Core i7-980X.

If the GTX 480 was any use, that monster transistor count would actually add to the allure. But the harsh truth is that it isn’t – for almost anything. And that makes it dumb. You see, despite the hype regarding running non-graphics applications on GPUs, there’s still very little outside of games that makes more than passing use of a desktop or laptop GPU. More to the point, the number of games demanding a really high-end GPU that are actually worth playing isn’t merely a small number. It’s zero.

Put it all together and you have a terminal mismatch between the cost and complexity of GPUs and their real-world utility. In truth, I’ve felt this way for some time. But it’s the apparent emergence of a radical alternative to established 3D rendering technologies that really brings home how bloated and ludicrous graphics chips have become.

This alleged revolution in rendering comes from a small Australian software startup known as Unlimited Detail. It’s not actually brand spanking new, having been in development for a year or three. But thanks to the random nature of web-based content aggregators, Unlimited Detail was lifted from obscurity recently in a flurry of YouTube-powered publicity.

Anyway, as far as I could tell the basics of this new rendering technology involve ditching polygons in favour of atomic points in 3D space. The claimed result is quite literally unlimited geometric detail. Oh, and the whole thing runs in software at smooth framerates on a conventional PC processor. The GPU doesn’t get a look in until it’s time to spit out the final 2D images.

You hardly need me to point out it all seems too good to be true. So, there was nothing for it other than to go straight to the source and speak to the guys at Unlimited Detail. The technical brains are provided by Bruce Dell, a former supermarket manager, while the business nous comes courtesy of Greg Douglas, a games insider formerly of developers Auran.

The idea of using atoms or points is not new, of course. The really clever bit in UD is the 3D search algorithm developed by Dell. The precise details are UD’s big secret. But according to Dell, “The algorithm takes point cloud data and files it in a certain way so that it can be quickly sorted and accessed.”

When the algorithm searches for points, it doesn’t do so indiscriminately. Instead, it only pulls up a single point for each on-screen pixel being rendered. “We only grab the atoms we need for each pixel, we don’t touch the others,” explains Dell. In other words, the workload depends on screen resolution, not the underlying geometric detail of the scene being rendered. Thus, an impression of unlimited geometry is created.

The UD guys claim the algorithm is so efficient it runs in real-time in a single thread on just one core of a conventional PC processor. Apparently, it will even scale down to simple CPUs in mobile devices.

So far, the only hard evidence for these incredible claims takes the form of a few pre-recorded videos of dubious quality. However, having spoken to the UD pair, I’m happy to confirm they’re not only incredibly passionate, but strike me as completely genuine. It’s potentially extremely exciting stuff.

Still, even if UD works exactly as advertised, the established players in graphics are hardly going to embrace a technology that instantly renders several decades and billions of dollars of investment obsolete overnight. You have to assume Nvidia, and to a lesser extent AMD, will resist the idea strongly. But if Unlimited Detail’s technology gains any traction at all, GPUs really will look sillier than ever.

Mar 10

Digital electronics might be the engine behind today’s computers, but it hasn’t always been that way. As recently as the ’70s, analogue electronic circuitry also played an important role in some types of computation, in particular simulation. This might sound like a rather specialised application, but many of the world’s fastest computers are used for simulation exercises in areas as diverse as engineering, climate study and nuclear weapons research. Back in the heyday of analogue computing, this technology could provide a solution in minutes where digital techniques might have taken hours or days.

Analogue computers were programmed using patch leads, connecting different sockets and logic circuits together. (Picture credit: DVQ)

Simulation basics

Most real-world systems can be defined as a set of simultaneous differential equations. These equations define the rate of change of a so-called dependent variable with respect to an independent variable, which is commonly time. To the uninitiated this might sound like Gobbledygook, but the following example should clarify things. It relates to the fictional radioactive element Aberdeenium (A), which decays at the rate ka to produce Bristolium (B). This is also radioactive and decays at the rate kb to produce Cardiffium (C), which is stable. The following equations define this behaviour:

dA
dt = -kaA

dB
dt = kaA - kaB

dC
dt = kbB

The first equation says that the rate of change of the mass of Aberdeenium is equal to its mass multiplied by a constant that is related to its half-life. Note the minus sign: this indicates that the change will be negative and hence the substance is decaying. The second equation defines the rate of change of the mass of Bristolium. There are two terms – one represents the amount created by the decay of Aberdeenium, while the other shows the amount being lost by its own radioactive decay. The third equation defines the rate of change of Cardiffium. There is only a positive term since it is stable, and that term is the same as the one we’ve already seen for the decay of Bristolium. Solving differential equations like these involves the mathematical process of integration (so, for example, if you integrate dA/dt you get A), and this is the main strength of the analogue computer.

Building blocks

An analogue computer is programmed by connecting together electronic circuits that perform the various operations needed to solve differential equations. The most common functions are integration, addition, negation and multiplication. To start, we’ll look at how analogue electronics are able to perform some of these functions. We assume that you’d prefer not to burn your fingers with a soldering iron, though, so we’ll use a circuit simulation package called LTspice. Download it from http://linear.com/designtools/software/ltspice.jsp.

This circuit, simulated using LTSpice, integrates an analogue signal.

Start up LTspice and open the circuit called Integrator that we’ve included here. It is remarkably similar to the Integrator circuit. In fact, if you are creating these circuits yourself, the easiest way to create Summer is by modifying Integrator. To do that, change the capacitor C1 to a 100k resistor, add a second 100k resistor to the inverting input (the minus sign) of U1 and connect the other end of that resistor to the plus sign of a 4V voltage source. Finally, connect the minus sign of that new voltage source to the ground. When you’ve opened Summer or created your own circuit, simulate it as you did for Integrator. Unlike Integrator, the output of this circuit remains constant for a constant input (or more accurately, inputs plural). If you try changing the two voltage inputs you’ll find that this circuit does as its name suggests – its output is the sum of its two inputs, subject again to a negating and a limit of approximately plus or minus 11V. In fact, real-world summers often have more than two inputs, as do real-world integrators. This allows them to integrate the sum of their inputs.

The only other component we need in order to solve our radioactive decay problem is the potentiometer.. A potentiometer is like the volume control on an old-fashioned radio – it’s a component that multiplies the input voltage by a fixed value between 0 and 1 depending on its setting. Analogue computers also had multiplication circuits that permitted two variables to be multiplied but, for now, let’s stick with these basic building blocks.

Patching things up

Analogue computers are programmed by connecting together the various building blocks we’ve explored over the last few pages in such a way as to solve a set of simultaneous differential occasions. Since analogue computers are now few and far between, we’re going to do this using VisSim. This application is programmed in a similar way to an analogue computer, but with mouse clicks rather than patch leads. It’s a lot simpler because it has theoretically perfect summers and integrators. This means that we don’t have to take account of the fact that analogue summers and integrators work within a limited voltage range and negate the output. A real analogue computer requires careful scaling using potentiometers to ensure that each opamp remains within its voltage range, while the problem with negation is solved (if you genuinely need a non-negated result) by using an extra inverter, which is just a summer with only one input used. Using VisSim (grab it from http://bit.ly/65wXZ) bypasses these issues.

This beautiful transistor-based differential equation analyser emerged from Poland in 1959. (Picture credit: Warsaw Museum for Technology)

First, start VisSim and create the arrangement of building blocks shown in this screenshot. ‘1/S’ is an integration block, the circle with the sigma inside is a summer (use the ‘+’ button to add it), the pointed box with the number inside is a gain block that we’re using as a potentiometer, and the window labelled Plot is where the results are displayed. You should be able to recognise that this arrangement is what’s needed to solve our radioactive decay simulation. Buttons for all the building blocks you’ll need can be found at the top of the screen.

To put a block on-screen, click on its icon and then click anywhere on the main part of the screen. Blocks can subsequently be moved simply by clicking and dragging. To make a connection between a pair of blocks, move the cursor to the output of one block and, when it changes to an up arrow, click and drag from it to the input of the second block. When you release the mouse button, a line will have been drawn between the two blocks. To disconnect two blocks, move the cursor to the input end of the line and, when it changes to an up arrow, click, drag away from it and release. To flip a block so that its input is on the right, select it by dragging a box around it and then choose ‘Flip Horizontal’ from the Edit menu. And finally, to change the gain of a gain block, right-click on it and enter a new value for ‘Gain’ in the Gain Properties window that will be displayed. It’s much the same process to change the initial value of an integrator from 0. You’ll also need to ensure that the left-most integrator – the one that evaluates the mass of Aberdeenium – starts off with a positive value, say 10.

Now all you have to do to make VisSim solve the problem and display the graphs in the Plot window is choose ‘Go’ from the Simulate menu. In this case we’ve chosen values of the gain blocks such that most of the action takes place within 10 seconds, which is the default amount of time in which VisSim will simulate a system. If you find that you need a shorter or longer time period then you can change it in the Simulation Properties window, which is accessible from the Simulate window.

Hybrid computing

In their heyday, analogue computers were good at solving differential equations while digital computers were good at solving problems that involved logic and decision making. Hybrid machines combined elements of analogue and digital computers in order to gain the strengths of each. Typically the digital computer could read the outputs of the analogue building blocks such as summers and integrators, and it could also do things like adjust the settings of the potentiometers, set the initial condition of the integrators and start and stop the analogue computation.

This GPS Analog Computer is so complex that it resembles an early telephone exchange. (Picture credit: Dmitry Sumin)

A classic example is using a simulation of the trajectory of a projectile to determine the angle at which it should be fired to hit a target at a particular distance. The problem would be created on the analogue portion, and the digital program would then take over running the analogue simulation. Depending on the range achieved it would adjust the conditions by changing the settings of the potentiometers and then rerun. This would continue until the required range was achieved.

Solve second order equations

Our radioactive decay simulation involved first-order differential equations. Some simulations involve solving second-order differential equations, which include second-order differentials. An everyday example will clarify this. The first-order differential of distance with time, dx/dt – the rate at which distance varies with time – is velocity (speed). The second-order differential of distance with time, d2x/dt2, is the rate at which the first-order differential (speed) varies with time (in other words, acceleration). To solve a second-order differential equation you’ll need to use two integrators, one after the other. The first generates the first-order differential equation and the second generates the dependent variable.

d2Y    dY
___ +D ___ + Y = 0
dt2 .. dt

If you’d like to have a go, the example shown above defines the movement of a weight on a spring. D is the damping coefficient; it can take values from 0 (no damping) to 1. First, rewrite as a pair of first-order differential equations with a new variable (V, say) that is equal to dY/dt. Next, rewrite so that one equation has only dV/dt to the left of the equals sign and the other has only dY/dt. Finally, define a positive initial condition for the second integrator to represent the initial displacement of the spring.

The patch panel

The diagram on the right shows part of the patch panel of a typical analogue computer. Each block represents one amplifier which, in this case, could be configured as either a summer or an integrator. The top left socket provided a constant positive voltage, while alternate blocks had a +1 and a -1 socket. Using this in conjunction with a potentiometer allowed any constant to be generated. The six unmarked sockets on the left are connected internally but are not connected to anything else, so they can be used as a handy interconnecting strip. The blocks labelled P and Q provide connections to potentiometers – the actual potentiometer knobs would be elsewhere. The sockets labelled 1 and 10 are inputs to the amplifier. Those labelled 10 have a gain of 10 (through the use of smaller input resistors) and the ones labelled 1 have a gain of one. The four sockets labelled OP are all connected to the output of the amplifier, while the green block at the bottom defines the operation of the amplifier. If you wanted it to become a summer you would connect M to sigma, while if you wanted it to be an integrator you would connecting it to either of the other two sockets so that it had a gain of one or 10. We can ignore the other sockets.

Feb 23

Magnetic force microscopes may be able to read overwritten data on a platter, even if it can’t spin.

Data loss: we’ve all experienced it. Maybe you emptied the Recycle Bin milliseconds before realising that you’d deleted the wrong folder the day before; or perhaps your hard disk simply packed up, leaving behind it nothing more than an odd clicking sound and a system error screen. It might have been that the dog really did eat your homework by mistaking your newly burnt DVD for its latest toy. Whatever happened in your case, it resulted in your precious data ascending to that great filesystem in the sky.

Fortunately, dead disks, trigger-happy fingers and scratched CDs don’t always mean that you have to wave goodbye to your data. While not every problem has a happy ending, there are many that do. So when disaster strikes, don’t reach for the proverbial pistol: grab our guide to recovering data instead.

Lost files

Disaster rating: 1/5

Losing a file is a disconcerting experience. If you’re looking for a document but can’t find it anywhere, stay calm. Stop any programs that are writing huge amounts of data to your hard disk and exit as many applications as possible. Deleted files aren’t really deleted: they’re merely marked as disk space ripe for reuse. This means that you want to stop anything that’s writing to disk in case it overwrites the lost data.

When everything has been stopped, have another search for your lost file using Windows’ Search utility. If it’s really not there, your first port of call should be the Recycle Bin. If it’s not in there either, or you habitually use the more brutal [Shift]+[Delete] option, you should advance to the ‘Truly deleted files’ section below.

However, some programs may have already come to your rescue. Word and other Office applications, for example, store temporary versions of files as you’re working on them. Finding and extracting usable data from these temporary files can be complex, but it can enable you to retrieve missing data. Visit Microsoft’s support site for a very comprehensive guide.

Truly deleted files

Disaster rating: 3/5

Although files deleted normally (and therefore simply sent to the Recycle Bin) are easily restored, those ‘properly’ deleted are trickier to recover. However, it’s sometimes possible to resurrect these files using an undelete utility. If you’ve accidentally truly deleted a file, reach for one of these first.

To understand how these tools work their apparent magic, you need to know how a filesystem works and what happens when you delete a file. Each disk (or each partition if your disk is divided into more than one partition) contains a system area that contains directory information about all of its files. For each file, it contains the name of that file and the number of the first cluster (the smallest usable area of a disk) in that file. Another important system area is the File Allocation Table (FAT), which contains information about all the other clusters associated with a file. The FAT entry for a file’s first cluster is the number of the second cluster; in the entry for the second cluster is the number of the third cluster and so on until the entry for the last cluster in the file, which is an end-of-file indicator.

When a file is deleted, Windows does two things. First, it overwrites the first character of the filename in the directory with a question mark to indicate that the entry in the directory can be reused. Second, it overwrites the entries for all the file’s clusters in the FAT with zeros to indicate that those clusters are free to be reused. None of the data in the file is actually overwritten or erased, so, if you move quickly, it may be possible to recover the file. Undelete utilities start by looking in the directory for any filenames that start with a question mark. If the user opts to undelete any such file, the utility goes to the first cluster, as shown in the directory, and reads data from that and subsequent clusters until an end-
of-file marker is found. Note that this method will work only if a file is sequential – if it’s fragmented then it can’t be recovered since the information in the file allocation table that is needed to find non-
sequential clusters will have been overwritten. It’s also important to recognise that although it’s possible to successfully recover a file if you act immediately, the longer you leave it the more likely it is that Windows will have overwritten one or more clusters.

Corrupted filesystem

Disaster rating: 3/5

If your PC is shut down improperly, perhaps due to a power cut or system failure while Windows is in the process of writing to the system areas of the disk, the filesystem could become corrupted. This could result in data being present on your disk that Windows has no knowledge of – not an ideal situation to be in.

To understand exactly how this is corrected, we’d have to get into the intricacies of the filesystem. To cut a long story short, let’s say that software is used to analyse the filesystem and spot inconsistencies. Having found some, and based on information regarding the most likely ways in which a filesystem can become corrupted, the software attempts to rebuild the filesystem so that Windows can access those lost files. The technique is intended to recover data, not mend Windows and its intricate data structures. When your data has been rescued, you’ll need to reformat the disc and reinstall Windows.

Once it’s found the all-important inconsistencies, the software will attempt to figure out where the lost files are, based on information regarding the most likely ways in which a filesystem can become corrupted. Once identified, the lost files can be restored to a separate drive. If you want to have a go, try GetDataBack or >a href=”http://www.r-tt.com”>R-Studio NTFS.

Sometimes this process – and the undelete process described above – isn’t successful even though the data is still present on the disk. In these cases, you can recover files by analysing clusters to determine what type of data they contain. This takes a fair amount of research into the clusters of different types of files. However, if your disk isn’t particularly fragmented, it could be easier to reassemble a lost file than you might think.

Mechanical failure

Disaster rating: 4/5

A hard disk drive consists of a spindle motor, a voice coil motor, a read/write head, a circuit board and a platter, of which only the latter stores any data. So if your drive fails, it’s possible that the data is still present on the platter and the problem is due to a failure of one of the other components. Even an evidently mechanical sound might be nothing more sinister than a failure of the servo circuitry.

Replacing parts is a delicate operation that must be carried out in the safety of a clean-room environment.

If something other than the platter has failed, then the solution is obvious – replace the offending part. You might be tempted to try this yourself, but be warned: it’s tricky. Firstly, unless you’re an expert you won’t know for sure which part needs replacing. Secondly, attempting the operation in anything other than a spotless room is doomed to failure. Finally, you’d have to buy an exactly identical disk drive from which to salvage the parts. Thus we highly recommend employing the services of a data recovery company.

Software like the custom-writter application by MjM Data Recovery enables the company’s engineers to diagnose and correct logical errors to the filesystem

This isn’t a cheap option, so you’ll have to decide whether your lost data is worth it. The good news is that some companies offer a ‘no fix – no fee’ guarantee on repairs, or will first carry out a diagnosis and then provide you with a report that will specify how much data they can be sure of salvaging, should you accept the quotation. If you want to attempt this, try contacting Xytron.

Overwritten files

Disaster rating: 5/5

If your file has been truly deleted and then overwritten, the sad news is that you probably won’t be able to retrieve it. However, there are two theoretical methods that seem promising, so perhaps the situation will be more hopeful in the future.

The first method is to do with variations in magnetic flux. When data is written to disk, the resultant magnetic flux depends mostly on the value written. However, the flux is also provided with a tiny contribution from the overwritten data. So, if you replace the normal read electronics that decide whether a bit is a 1 or a 0 with circuitry that can extract the analogue value from the head, subtracting the known contribution of the most recently written data should make it possible to determine what value was in place before it.

This method of extracting overwritten data is commonly reported and academic papers have been written on the subject, but we’ve been unable to find any organisation that claims to have done it successfully. The problem is that the signal to the previously written data is so small that it effectively gets lost in the random electrical fluctuations commonly referred to as noise. However, Western Digital’s Gerardo Bertero – while questioning whether the technique is really a practical proposition – did suggest one possible solution. By reading each bit thousands if not millions of times and averaging all those signals, electrical noise, being random in nature, would average out to zero – whereas the genuine signal would build up and become visible. The snag is that this would be hugely time-consuming and costly – which is why nobody offers such a service. Whether it becomes feasible when national security is at risk is another question entirely, and one we’re not likely to get an answer to from the Secret Service.

The second theoretical technique for recovering data is to use a Magnetic Force Microscope (MFM). It’s claimed that this method offers an additional benefit – it can read data, overwritten or not, from the surface of a platter that is no longer able to spin because of damage. For the normal read operation of a hard disk, the platter must be able to rotate because an electrical signal can only be produced in the read head’s coil if it’s moving with respect to the magnetic field. However, an MFM is able to read a static magnetic field – so the platter doesn’t have to be able to spin.

An MFM is a laboratory instrument that has an ultra-fine magnetised tip suspended on a cantilever. As the tip moves over the surface of the object being imaged, the magnetic field of that object exerts a force on the tip, which in turn causes a displacement of the cantilever. This is measured using optical techniques. It’s self-evident how an MFM could be used to read data from a platter that can no longer rotate, but what isn’t as obvious is how the technique lends itself to recovering data that’s been overwritten – at least in theory.

Data is written to a hard disk’s platter in concentric circles known as tracks. A highly accurate servo control system is used to position the read/write head over the required track, but, even so, the head isn’t always positioned to exactly the same radial position. What this means is that if a track is overwritten but the head wasn’t at exactly the same position as it was on the previous occasion, a narrow band of the previously written data might remain intact at the edge of the track. Again, despite hearing so much about this technique, and despite the fact that hard disk drive manufacturers already use MFMs for research and development, we haven’t found any company who offers this technique for recovering overwritten data.

We’d have to speculate on whether it’s in use by the military, although the fact that military standards require disks to be physically destroyed at the end of their lives might just suggest that they know it’s feasible.

Scratched discs

Disaster rating: 1/5

Methods such as undeleting files, repairing logical errors to the file structure and reassembling files also work with media such as memory cards and pen drives.

However, there are certain methods of data recovery that apply only to optical disks. Except in the most extreme cases, when a CD or DVD won’t read it’s usually scratches in the outer plastic layer that are causing the problem. The plastic layer is there to provide protection to the layer of data underneath, but scratches can impair the passage of the light used to read the data. The solution is to remove the troublesome scratches using a mild abrasive so that light will pass through the plastic layer without obstruction.

Scratches may prevent CDs from being read, but devices such as Digital Innovations’ SkipDr could restore it.

Although there are reports of this being done successfully using household substances such as Brasso, a more reliable solution is to use a product designed for this job. Such products range from kits comprising a bottle of suitably mild abrasive and a lint-free cloth to mechanical disk polishing devices such as Digital Innovations’ SkipDr. The latter claims a greater chance of success since the polishing process is more uniform and controlled.

Shattered discs

Disaster rating: 4/5

Researchers at the University of Arizona’s Optical Sciences Center have published a peer-reviewed paper in which they describe how they used an optical microscope to extract data from fragments of broken CDs or DVDs. However, the process is time-consuming and so isn’t likely to be viable unless the rewards are huge. What’s more, any data in the vicinity of the breaks is totally unrecoverable, so in many cases we’d be talking of recovering fragments of data rather than files in their entirety. A shattered disc still means lost data – although the future may hold more hope for broken optical discs.