26 maggio 2010

Grimaldelli per codici, basati su FPGA

La rivista Forbes ha pubblicato un lungo articolo su Pico Computing, una startup che realizza sistemi di supercalcolo basati sulla programmazione di FPGA rivolti a due specifici ambiti applicativi: la criptanalisi e la bioinformatica. Forbes riesce a spiegare molto bene perché un approccio del genere funziona meglio di una risorsa computazionali ad alto rendimento ma basato su processori general purpose. Niente come le FPGA permette di ottimizzare l'implementazione di sofisticati algoritmi di trattamento numerico, come sanno bene gli utilizzatori di software defined radio come Perseus. Una potenza molto mirata ma contenuta in pochi centimetri quadrati di chip, con un forte impatto anche sui consumi elettrici, fortemente ridotti (un plus che non guasta affatto di questi tempi). Pico Computing ripercorre le tracce di Alan Turing con le sue "bombe" di Bletchley Park, offrendo ai servizi informativi civili e militari potentissimi "apriscatole" capaci di analizzare le comunicazioni segrete.

A Compact Code-Breaking Powerhouse

Andy Greenberg, 05.24.10

When Robert Trout wants to illustrate cryptography's particular need for speed, he tells the story of the Enigma encryption engine.
In 1942 mathematician Alan Turing and his colleagues at Bletchley Park, England's code-breaking headquarters, had reverse-engineered the Enigma, a German encoding device, and the Allies started reading Axis battle plans. Suspecting trouble, the Nazis responded by upgrading from a three-gear machine to a four-gear version. Breaking their codes suddenly took 26 times as long--days instead of hours--and the Allies' destroyers could no longer intercept the U-boats torpedoing cargo ships in the Atlantic. Hundreds of vessels were sunk. London starved for months until the codes were finally untangled again--with the help of some of the world's first electronic computers.
The lesson of that war story: Sometimes every second of an arithmetic operation counts. "Cracking ciphers is the kind of interesting task that pushed human ingenuity to invent computers," says Trout, 65. "We believe it's the kind of problem that can push us to develop computing's next step, too."
Pico Computing, the Seattle firm that Trout founded in 2004, sells a desktop-size supercomputer aimed at the modern-day equivalent of Bletchley Park's cipher-geeks: military and government agencies that need to turn scrambled messages into actionable intelligence, along with anyone else performing similar time-sensitive, mathematically monstrous tasks. The 15-person company's secret weapon is a decades-old form of chip that, revamped by Pico and tamed by the right programmers, can be far more efficient and powerful than the fastest processors in HP's and IBM's supercomputers.
Field programmable gate arrays, or FPGAs, are the silicon equivalent of newborn babes--tough to communicate with, but infinitely malleable. Unlike the modern microprocessor, they can't be programmed with easily managed but inefficient languages like C or Java, command sets that are designed to do everything from manipulating Excel spreadsheets to running websites. Instead, they have to be controlled at the most rudimentary level, the electric gates that carry an "on" or "off" signal.
That makes programming them vastly more difficult but also means that they can be designed to do exactly one thing well, instead of doing many things passably. Set FPGAs to perform a specific computing task--particularly one that involves making many computations simultaneously--and they're often a hundred or even a thousand times as fast as the chips built by Intel or AMD, processors that are generically designed to handle any application. "We've stripped out all the fancy stuff that's been added to processors over the last 30 years," says Trout. "We got rid of the stereo system and the seats and turned the family sedan into a race car."
Few have demonstrated the power of that streamlined silicon better than Pico cofounder and resident boy wonder, David Hulton. The 27-year-old began thinking about applying custom chips to cryptography at age 13, when he says he saw that "you could make the algorithms run just as fast as electricity moves through a circuit." At 16 Hulton had tested out of high school and by 18 was running his own cybersecurity consultancy, breaking into clients' networks to show them their security flaws. He realized that cryptography, which requires code breakers to try trillions of different numerical keys before finding one that unlocks a message, would be a perfect application of FPGAs' ability to handle thousands of operations at once.
Hulton joined Trout's previous company, a consultancy called Anzus, in 2004, just before it spun off Pico. The soft-spoken hacker put the small FPGA firm in the spotlight at the ShmooCon security symposium in 2008 when he and fellow researcher Steve Muller revealed a tool for breaking the encryption that protects gsm cell phone signals, including those used by AT&T and T-Mobile. The two showed how $1,500 worth of FPGAs, storage hardware and an antenna could unscramble the calls in an hour, down from days with previous methods.
Not every customer has the know-how or the motivation to coax FPGAs into those cryptographical feats. But the three-letter agencies that buy Pico's code-breaking systems have both, and Pico offers them versions aimed at breaking everything from the Wireless Protected Access protocol used in Wi-Fi signals to the Filevault encryption found on Mac computers. "When you're looking at a message that one al Qaeda operative sent to another, solving the problem in a short amount of time matters," says Trout, who declines to name government clients.
Pico is hardly alone in the FPGA world: companies like SRC, DRC, Nallatech and even supercomputing stalwart Cray sell versions of the devices. But Pico is more focused on crypto applications than most, and it also allows customers to pack together lots of cheap chips rather than a single expensive one. It builds its small, scalable supercomputers with FPGAs sourced from chipmaker Xilinx, mounting them on a board that allows them to work efficiently in parallel. The hardware and software behind that integration are the firm's intellectual property. Its machines cost anywhere from $400 to hundreds of thousands of dollars. Revenues last year were $2.5 million, with $200,000 in profit. Trout says he's negotiating one government contract that by itself would double sales in 2010.
How does Pico prevent its code-breaking creations from falling into the wrong hands? Trout says the company screens its customers and adheres to export restrictions that prevent it from selling products to countries such as North Korea, Syria and Iran. Keeping them away from criminals is tougher. "If some Jack Smith off the street wanted to place an order, it would definitely raise a red flag," he says. "But the truth is that the folks who want this stuff would be ingenious in figuring out how to get it."
A more pressing problem for Pico's growth: whether it can convince anyone other than a handful of well-resourced agencies to shell out for a technology that's far less manageable than the Intel or AMD alternative. While FPGAs are cheaper for their speed than other chips, Trout admits that the cost of hiring developers who can speak their complex language means they wind up costing more.
In a sense Trout is fighting Moore's Law. That maxim, which has held true for the last 40 years, says that chipmaking advances will give processors double the transistors, and thus double the speed, every 18 months. If conventional chips become fast enough, the attraction of using them instead of arcane FPGAs only grows.
There's a technological twist, though. "Moore's Law isn't working anymore," says Alan George, an FPGA-focused professor of computer engineering at the University of Florida. The lithography process that uses light to paint transistors onto silicon is reaching its fundamental size limit. Packing transistors onto chips means they use more power than ever before. Software that speeds up applications by creating shortcuts around their inefficiencies is running out of tricks. "We lived off this gold mine for years," says George. "Now all the gold is gone."
If traditional chip upgrades become scarcer, speed limitations could put FPGAs back in the spotlight. In the meantime Trout wants to expand his firm's supercomputing applications beyond cryptography. Future Pico products will tackle problems such as gene sequencing and financial market analysis. "This is much, much more ambitious than just cracking codes," he says.
Even so, Trout admits that FPGAs may never find mainstream acceptance. "The conventional processor guys may beat us. We're more efficient, but they got there first," he says. As traditional chipmakers run out of tricks for juicing processor speeds, however, Trout may have one advantage that his crypto heroes at Bletchley Park didn't: Time is on his side.


Time and energy to compare about 160 million human and mouse DNA base pairs:

1 typical x86 processor 12.5 years1 (11,000 kilowatt-hours1)
150 typical x86 processors 6 weeks (15,000 kilowatt-hours)
150 FPGAs 1 day (450 kilowatt-hours)

Nessun commento: