Изменить стиль страницы

14

As Nasim sat waiting for Blank Frank to be rebuilt, she suddenly had a vision of herself standing at the edge of an aquarium pool, trying to persuade a two-hundred-tonne blue whale to swat a ball through a hoop with its nose. However smart the animal was, and however agile it could be in the open ocean, the real trick was finding a way for it to move without crushing everything in sight.

She’d managed to shoehorn the project into Zendegi’s existing lease of computing resources from the Cloud; even so, the petabytes of data she was manipulating were almost choking the allocated racetrack memory. Paying for more storage wasn’t an option; the boss had agreed to let her play around for a while to see if this wild idea panned out, but only if she could keep the whole thing from showing up in the accounts.

The model-building algorithm she’d used all those years ago on the zebra finch data did not scale well, but after she and Bahador had spent a fortnight trying to refine it, to no avail, she’d decided to plough ahead regardless. They needed some results to show to investors as soon as possible; elegance and efficiency could come later.

Bahador knocked and entered the room; Nasim had taken to leaving the door half open to spare him the formalities.

‘We’re getting a strong demand surge from the south-east Asian arcades,’ he said. ‘We’re still below critical latency, but it’s tight.’

‘Okay.’ Nasim gritted her teeth. ‘If you have to, just… kill all my stuff.’

‘Will do.’ Bahador departed as quietly as he’d come.

You could have argued with me, Nasim thought irritably. At least gone through the motions, before accepting the inevitable. She watched the progress bars from her half-dozen tasks inching towards completion. Normally she would have been delighted that so many Indonesians and Malaysians were starting their weekend with an hour or two in Zendegi, but the racetrack drives she was sharing with these gamers were the only place she had to hold the intermediate results of her calculations. If Zendegi needed the storage there was no question of saving what she had in an offline back-up; writing that much data to holographic dye cubes would take hours. She’d simply have to hand the space over immediately, tossing a day’s work into the void.

The HCP had scanned the brains of more than four thousand subjects in unprecedented detail; most of the scans had been done on cadavers, but diffusion tensor imaging, which tracked the flow of water molecules along living nerve fibres, had also been employed. The full data set included equal numbers of males and females, but for the kind of composite model Nasim was trying to build it was worth analysing the sexes separately, removing at least one source of variation; the more alike the brains’ anatomy and organisation, the clearer the final picture would be. She’d started with the males, because she knew that if she’d chosen females for the demonstration everyone would have demanded to know why. But the model-building algorithm needed to generate temporary data for every possible pair of scans. Even using just the male subjects meant dealing with close on two million pairings.

One task reached its endpoint, saving its results and freeing up its working storage and processor allocation. Go see a movie instead, Nasim begged the teenagers of Kuala Lumpur. Just for tonight.

She brought up a latency histogram. It was flickering at the edge of critical, with a small proportion of customers experiencing minor, sporadic delays between their actions and the changes they wrought upon the virtual world. Mere head movements were handled locally, within the ghal’eha; no amount of congestion within Zendegi’s servers could disrupt the relationship between the user’s gaze and the image rendered in their goggles. But the object descriptions being fed to the castles needed to be updated rapidly enough to maintain the illusion of a fluid, responsive world. A tranquil stroll across a Martian desert might not suffer from a few extra milliseconds of latency, but a game of virtual table tennis could go downhill very fast. And while the brain was good at filtering out brief perceptual glitches, once they crossed a certain threshold all it could do was encourage you to stop indulging in risky behaviour for the sensorially confused – preferably after getting rid of the suspect contents of your stomach.

A second task finished. A third. Nasim peeked at one of the high-load games, looking down on a group of six hundred Indonesians who’d come together on a single, crowded battlefield to take on an army of leering demons. Along with their implausible rippling physiques, most of the good guys had magic charms and special powers – hard-won in gruelling quests, or stolen in battle, or maybe just bought with real money on the side. But nobody had signed up to play the spawn of the underworld; the enemy was entirely simulated. The game’s designers had the mechanics of a certain style of swordplay down pat, and Zendegi’s framework made the demons’ motions anatomically plausible, but aside from threats to tear out their opponents’ hearts they weren’t much good at repartee.

Perhaps none of the boisterous young men and women playing Minions of Eblis really wanted an opponent who was anything more than a robotic caricature of evil – and encouraging the beheading of more empathetic characters was not on any sane person’s wish-list. But in other games there were Proxies playing comrades and team-mates, guides and mentors, humble massed extras and world-shaking deities. Expanding the Proxies’ repertoire far beyond the range of these glowering, tongue-poking puppets would see players flock to Zendegi just as surely as if their competitors’ worlds had faded to black and white.

Nasim’s fourth task finished. It took all the self-discipline she could muster not to message Bahador to hold off regardless, to give her ten minutes more, no matter what havoc it caused. Even a few dozen customers with nausea or vertigo would be too high a price to pay; word of such incidents spread quickly, even when it was all down to idiots who couldn’t grasp the fact that they really were jogging after filling their stomachs with food.

The fifth task completed. Nasim glanced again at the Minions battlefield; the ground was soaked in green blood, the enemy almost vanquished, but if she remembered rightly, some of the demons had a habit of rising up and reconnecting their own heads. If she’d been feeling sufficiently ruthless she could have sought out the hidden levers that would keep these monsters down – but if news of her intervention ever got out, the stench would be worse than any number of ghal’eha full of vomit.

The sixth progress bar hit its endpoint and vanished. Nasim was dazed; she hadn’t expected her luck to hold out. Now that the neural model had been rebuilt and safely stored, the vast digital scratchpad needed to create it was no longer required. She could test the end product at her leisure.

Bahador appeared in the doorway and asked hopefully, ‘May I-?’ He must have been watching the race as closely as she had.

Nasim smiled. ‘Sure. Take a seat.’ Her desktop monitor had back-to-back screens; she switched on the flip-side and set it to mirror the main screen so Bahador could watch from his side of the desk.

Nasim took a few deep breaths. All the awkward manoeuvring with cranes and slings to get the whale into position for each trial took so much time and effort that she sometimes longed for a little more rigmarole surrounding the test itself. But she’d automated everything and now she could invoke the whole complex set-up with a single gesture. She pointed at the icon on the screen and mimed tapping it.

Half-a-dozen windows opened in rapid succession. The largest contained what looked at first glance like a real-time MRI image of a living human brain. A second glance revealed that an awful lot of vital brain tissue was missing, so it was hard to see how the subject could possibly be alive. Nevertheless, regions of the scan were lighting up, displaying patterns of normal, healthy activity that any neurologist would recognise.