It's been years since the concept of a digital convergence was seriously debated. Today, it's rare to see a single-function electronic device.
Digital still cameras can record video, and camcorders can take still photos. Even cheap cell phones include cameras. There are Web browsers in cell phones, cameras, televisions, and digital picture frames. In fact, it seems like it's only a matter of time before everything with a battery or power cord will be connected to the Internet.
So it's a little startling to see a new gizmo that does nothing but display text, especially when that text comes from a preprogrammed memory card...and it's extraordinary when the text came from the Internet in the first place.
Openmoko's WikiReader is a standalone Wikipedia browser with a touch screen and the complete text of Wikipedia on a memory card.
(Credit: Peter N. Glaskowsky)I was initially incredulous when I heard about WikiReader, a $99 device from Openmoko designed solely for the purpose of reading Wikipedia articles. How useful could such a thing really be, I wondered.
The device, which was released about two weeks ago, displays the text only. The user interface couldn't be much simpler. Pushing the power button boots the device in less than two seconds. There's a search button for looking up individual articles, a history button for recalling previously viewed articles, and a button to open a random article from the collection. A parental-control feature allows blocking mature content (imperfectly, as I quickly learned).
And that's about it. It doesn't display images, references, discussion pages, or links to outside Web sites. (The latter point is reasonable enough because the device can't access the Internet anyway.) In fact, all 3 million Wikipedia articles viewable on WikiReader ship on a memory card in the device.
The content on the card is just a snapshot of the active Wikipedia database, complete with whatever errors or vandalism may have been present at the moment each article was copied. But overall, it's still an impressive amount of useful information. (Openmoko will offer quarterly updates that can be downloaded for free, or delivered on new memory cards twice per year for an annual cost of $29.)
Not long ago, distributing Wikipedia this way would have been impractical. Even today, an 8GB Micro SD card is a sub-$15 item in wholesale channels, which is a big chunk of the $99 retail price. Saving money here, however, would have compromised the usefulness of the device. (On the unit I tested, 4.18GB out of 7.4GB was actually used; perhaps some foreign-language versions of Wikipedia could fit on smaller, cheaper cards.)
The other elements of WikiReader show similar trade-offs. In an e-mail exchange, Openmoko President Sean Moss-Pultz told me that the Wikireader design began with the chips commonly used for electronic dictionaries--for example, Epson's S1C33E07 microcontroller. But whereas such devices usually have small screens and physical keyboards, allowing them to hit very low price points (e.g., this $21 device from Royal), Openmoko chose to go with a larger screen that displays about 13 lines of proportionally spaced text--roughly 40 characters per line, 80 words at a time.
Further, WikiReader has a capacitive touch screen, enabling the use of a virtual on-screen keyboard rather than a separate physical keyboard. The touchscreen--equipped with a tempered glass face that resists scratches better than plastic--also handles touch-drag scrolling and selecting links to other Wikipedia pages. As a result, WikiReader is smaller than most electronic dictionaries, but has a larger screen and is easier to use. (Click for more details on the WikiReader hardware platform.)
WikiReader is also more expensive than most electronic dictionaries, but again, the higher price was essential if WikiReader was to accomplish its mission. That mission is simple to express: make Wikipedia accessible to anyone, anywhere, any time. At $99, this device may not be affordable by everyone in the world. On the other hand, it's a lot more affordable than even the least expensive laptops, including the original "$100 laptop" from the One Laptop Per Child Foundation, which is still priced at $199 two years after it first went on sale.
Although the comparison is hardly fair, it's still relevant since the number of parents and schools in the world that can afford a $99 WikiReader is a lot larger than the number that can afford a laptop plus the necessary supporting infrastructure such as an Internet connection and power source. (By comparison, Openmoko says that two AAA alkaline batteries--cheap and widely available--will run the WikiReader for up to a year, and that's the only recurring cost to keep the unit operating.)
I expect the cost of manufacturing WikiReader will come down slowly over time, and the product itself may become more valuable as third-party developers begin to work with the WikiReader's open-source software. Openmoko began as an open-source cell phone project, and while WikiReader has nothing in common with that earlier work, the company still has some visibility in the open-source developer community.
WikiReader isn't quite easy enough for a cat to use.
(Credit: Peter N. Glaskowsky)The WikiReader software load is very simple. There's no OS, not even Linux; just one application to run the Wikipedia browser, for example. All of the software, along with the compressed Wikipedia database, is provided on the Micro SD card. There are some diagnostic programs, and there's even a simple four-function calculator "Easter egg" that comes up in response to a History-Power button combination.
The lack of a full OS is a matter of necessity, but this is the kind of necessity from which virtue is created. The near-instant boot time and ultra-low power consumption couldn't be matched with any flavor of Linux. Software development isn't as easy as it would be for a Linux PC application, but then, the device is simple, so it wouldn't be too difficult to develop new functionality for the WikiReader hardware. I'd like to see the usual combination of dictionary, thesaurus, and language translation found in many other devices, along with a more-advanced calculator.
In the meantime, WikiReader does the one thing it was meant to do, and I think that's good enough.
(My thanks to Pat Meier-Johnson of Pat Meier Associates for bringing WikiReader to my attention. Also, thanks to Openmoko for providing a review unit and answering my questions.)
In the first part of this series, I claimed that a great secret in the microprocessor industry largely determines whether new products succeed or fail.
I noted that this secret shouldn't be a secret at all because many people (including myself) have talked about it over the years, but clearly a lot of people are in the dark because they continually disregard it and develop products that are doomed.
I gave several examples of products that failed because their creators didn't know the great secret. Those products included RISC processors, media processors, and intelligent RAM chips, in which processor cores were integrated with memory to eliminate one of the great bottlenecks in computer performance.
During my eight years at Microprocessor Report, I covered the markets for media processors, 3D-graphics chips, network processors, and what I coined extreme processors--chips with large numbers of simple cores running in parallel. Many of these chips were cheaper, easier to design, and twice as fast as competing products--and still failed.
However, some did succeed. The critical factor that made the difference in most of these cases is the essence of the so-called secret.
One of those successes is the graphics processing unit, or GPU.
I was reminded again of the secret at Nvidia's recent GPU Technology Conference, where many of the talks dealt with GPU computing.
(Disclosure: I recently wrote a technical white paper for Nvidia.)
Although the GPU field dates back only five or six years, GPUs have already earned a place alongside CPUs. Each is clearly superior for certain kinds of applications.
This is true in spite of the fact that GPUs aren't nearly as easy to program as CPUs. Like other forms of parallel programming, GPU programming requires new hardware (the GPU itself), significant new extensions for programming languages, and a different mindset for programmers--one that simply wasn't part of standard computer-science curriculum for most of the last 50 years.
... Read more
Listen carefully. I am about to reveal one of the great apparent secrets of the microprocessor industry. This secret largely determines whether new products succeed or fail.
I don't know why it seems to be a secret. It's simple enough. I figured it out early, in my first job in the industry, and I've seen it demonstrated over and over since then. I'm hardly the only one who knows this secret; I've seen dozens of talks that allude to it, and a few that mentioned it specifically. I've talked about it myself in articles I wrote for Microprocessor Report and other publications.
Unfortunately, I've also seen hundreds of products brought to market in apparent ignorance of this simple rule, and they've all failed, wasting the billions of dollars invested in their development. Assuming the developers weren't throwing away their money on purpose, I conclude they must not have known the one basic fact that doomed their projects, which means it must be a secret.
The secret is...... Read more
Nvidia and Advanced Micro Devices' ATI division are taking different approaches to graphics processing in the next generations of their products. Both strategies have strengths and weaknesses, and I think it's too soon to pick the eventual winner in this long-running fight.
Before I get into my analysis, I should say that Nvidia paid me to write a white paper on the implications of its new GPU architecture (code-named Fermi) for high-performance computing applications. The white paper was released as part of the Fermi launch event at Nvidia's GPU Technology Conference last week.
Nvidia also paid for white papers from two other well-known microprocessor analysts, Nathan Brookwood of Insight64 and my friend and former colleague Tom Halfhill of Microprocessor Report. UC Berkeley professor David Patterson wrote a fourth white paper, and Nvidia wrote one of its own. All of these works take a different approach to the subject; all are worth reading if you need to understand what Fermi is all about.
In short, I think the Fermi architecture has been more thoroughly white-papered than any graphics chip design in history. All five of these documents are available on the Fermi home page on Nvidia's Web site, and just in case that page is moved or changed, you're welcome to take advantage of my own mirror of my white paper.
I've spent much of the last several days reading these documents plus David Kanter's excellent article on Fermi over on his Real World Technologies site. David managed to get some details on Fermi that Nvidia didn't give to the rest of us.
I've also had time to go through the coverage of ATI's recent launch of the RV870, which is what Nvidia's Fermi-based chips will be competing against. The first of Nvidia's chips bears the internal code name of GF100, and it's huge. Here's a life-size photo:
... Read moreReady for a 250-watt notebook? Intel is helping its OEMs to design such extremes.
A presentation at the Intel Developer Forum last week discussed how to build notebooks around the Core i7-920XM Extreme Edition mobile processor, code-named Clarksfield XE.
It turns out that when I estimated the maximum power consumption of a 920XM-based laptop at 80 watts to 100 watts, I was way off! (A typical notebook, by the way, averages somewhere between 40 and 90 watts.)
My estimate was reasonable for the kind of typical 920XM laptop I had in mind, but Intel showed how to go so far beyond "typical" that the resulting machine could need a 250-watt power brick.
I looked around, and the biggest power adapter I could find belongs to the Dell Alienware M17x, which needs a 210-watt brick. (I trust someone will tell me if there's a bigger one out there somewhere...Just leave a comment below.)
... Read more
Intel promotes the Turbo Boost technology in its new Core i7 Mobile processors as a way to adapt to the needs of the software and get more performance from the chip, but this isn't the real reason the technology exists.
The new "Clarksfield" Core i7 Mobile processors introduced at the Intel Developer Forum last week are certainly very impressive. They're huge high-performance quad-core chips with Hyper-Threading, support for two channels of DDR3-1333 DRAM, and an on-die PCI Express controller for the fastest possible connection to discrete graphics chips.
Intel VP Mooly Eden shows off the new Core i7 Mobile processor and its companion I/O controller at the Intel Developer Forum.
(Credit: Intel)In his IDF session announcing these parts, Intel Vice President Mooly Eden said the best of these parts, the 2GHz Core i7-920XM Extreme Edition, is "the fastest quad-core processor, the fastest dual-core processor, and the fastest single-core processor"-- all in one chip.
The key to this dramatic claim is a feature called Turbo Boost technology. Basically, if the current application workload isn't keeping all four cores fully busy and pushing right up against the chip's TDP (Thermal Design Power) limit, Turbo Boost can increase the clock speed of each core individually to get more performance out of the chip.
It's easy to see how this works when just one or two cores are being actively used; whatever power the other two or three cores would have consumed can be redirected over to the active cores, allowing them to run at higher speeds.
The quad-core mode of Turbo Boost is a little more subtle; it works when the four cores aren't running a worst-case workload--for example, integer-heavy processing, since it's generally floating-point calculations that consume the most power--so they aren't bumping into the TDP limit. Turbo Boost can increase the frequency of all four cores until they're running as fast as they can for the current workload.
Eden said that the Turbo Boost controller ... Read more
The mysteries of the Lynnfield and Jasper Forest die photos (from last week's post titled "Investigating Intel's Lynnfield mysteries") were all cleared up at the Intel Developer Forum last week, and as expected, there was nothing sinister going on--just some confusion in Intel's graphics arts department.
With the help of the always-helpful George Alfs of Intel's press relations department and Intel vice president Mooly Eden (general manager of Intel's PC Client Group), we got everything straightened out. Literally!
Here's the die photo of Intel's Lynnfield chip from my previous post:
Die photo of the Core i5/Core i7 processor code-named Lynnfield, with labels.
(Credit: Intel)This is the newest (shipping) part based on the Nehalem microarchitecture, differing from the earlier Bloomfield by the addition of an on-die PCI Express controller. Both chips are made in Intel's 45nm process technology.
According to Eden, the Lynnfield chip design is shared with several other Intel chips that will be on the market soon, including ... Read more
I have a few questions to ask at this week's Intel Developer Forum....
Why is Intel using a more expensive chip for the new Core i5 and cheaper Core i7 processors? Why does this new chip--code-named Lynnfield--appear to have features Intel isn't using? What's the connection between Lynnfield and a future Intel chip code-named Jasper Forest?
These questions arose as I've been getting ready for IDF by reviewing recent press releases and news stories about Intel's current and forthcoming products, and chatting with fellow analysts about what we're looking forward to seeing there.
The recent announcements of the Core i5 and new Core i7 processors seemed pretty straightforward. Consider Brooke Crothers' piece on CNET: "Out with the old: Intel makes Core 'i' chips cheap." As Crothers explains, the facts are simple: the new Core i7 800-series slots in under the existing 900-series and replaces some older parts. The Core i5 is a new line, clearly positioned below the Core i7. Features, performance, and prices are all lower. That's as it should be.
But in looking at the coverage on some enthusiast sites, a fact jumped out at me. The Lynnfield chip is 12.5 percent larger than the Bloomfield chip used in the higher-priced Core i7 900-series processors (296 square mm vs. 263 square mm), in spite of the fact that Lynnfield only has two memory interfaces and no QuickPath Interconnect (QPI) link.
The big difference between the chips is the addition of 16 lanes of PCI Express on Lynnfield, but that's only about 80 pins plus the control logic. The changes should have roughly canceled each other out. Maybe one chip would be a little bigger than the other, but not by this much.
... Read moreApple's Snow Leopard operating system, which hits the streets on Friday, has plenty of new technology--but one of its major new features will soon be available on Microsoft Windows, Linux, and other major platforms.
OpenCL, the Open Computing Language, was originally proposed by Apple to support parallel programming on GPUs. There are other GPU programming languages, such as Nvidia's CUDA (Compute Unified Device Architecture) extensions for C and the Brook stream program language developed at Stanford University and included in Advanced Micro Devices' Stream Computing software development kit, but rather than choosing one of these languages, Apple chose to create a new standard independent of the big graphics vendors.
In fact, OpenCL is even independent of Apple. One of the first things Apple did was offer to hand it over to the Khronos Group, the same independent standards organization that manages the OpenGL standard for 3D rendering.
Supporters of the OpenCL standards effort at the Khronos Group include the biggest CPU and GPU makers in the industry. Apple is also involved but not shown here.
The members of the OpenCL working group turned Apple's draft specification into the released version 1.0 spec in just six months (see Brooke Crothers' "OpenCL goes beyond Apple" from last December)--and in the process, it created what may be the best solution so far to the general problem of parallel programming.
See, OpenCL isn't just for GPUs. It was designed from the beginning to get the most out of multicore processors too. After all, if you have a multicore CPU--and you probably do--why let it go to waste? OpenCL is flexible enough to support both CPU-optimized and GPU-optimized code, and smart enough to choose the right code, depending on what hardware is available in the system to run it. Most of the competing parallel-programming languages can't do that.
OpenCL can take advantage of both task-level parallelism (running many tasks at once, whether different tasks or copies of the same task) and data-level parallelism (where a single instruction within a task is applied to multiple data items at once--also known as SIMD). Some parallel-programming languages can't do that, either.
But OpenCL's biggest advantage isn't technical in nature: it's that no other parallel-programming language will be so widely supported. The support starts with Snow Leopard but will go well beyond that. AMD and Nvidia will have OpenCL drivers for their GPUs under Windows and Linux. AMD and Intel will support OpenCL on their CPUs (including Intel's Larrabee). And AMD has already shipped its first OpenCL implementation for its Athlon and Opteron processors.
Implementations for video game consoles and DSPs (digital signal processors) are also under development. I've even heard that future releases of OpenCL may be able to work with less common hardware, such as FPGAs (field-programmable gate arrays).
We had an excellent half-day OpenCL tutorial last weekend at Hot Chips 21. There were also some great OpenCL presentations at Siggraph 2009 earlier this month; if you'd like more detailed information, that's a good place to start.
All this support for OpenCL means that it should become the first choice of academic and commercial developers who want a good cross-platform way to develop parallel code. Expect to see OpenCL used in software for audio and video processing, cryptography, medical imaging, and many other applications--including, of course, gaming.
(Disclosure: I will be writing a technical white paper for Nvidia, one of the companies covered in this story.)
Have we reached the end of the road for conventional 3D rendering?
Siggraph 2009 ended Friday, and I've spent the last few days digesting what I learned there. Although I've been involved in the graphics industry since 1990 and I've attended Siggraph most years since 1992, a crisis of sorts seems to have snuck up on me.
At the High Performance Graphics conference before the main show, keynote speeches from Larry Gritz of Sony Pictures Imageworks and Tim Sweeney of Epic Games showed that traditional 3D-rendering methods are being augmented and even supplanted by new techniques for motion-picture production as well as real-time computer games.
Gritz reckoned that 3D became a fully integrated element of the moviemaking process in 1989 when computer-generated characters first interacted with human characters in James Cameron's "The Abyss."
Gritz described how Imageworks has moved to a new ray-tracing rendering system called "Arnold" for several films currently in production, replacing the Reyes (Render Everything Your Eyes See) rendering system, probably the most widely used technology in the industry.
According to Gritz, Reyes rendering led to unmanageable complexity in the artistic component of the production process, outweighing the render-time advantages of the Reyes method. But Gritz says even these advantages diminished as the demand for higher quality drove Imageworks to make more use of ray tracing and a sophisticated lighting model called global illumination.
The bottom line for Imageworks is that Arnold, which was licensed from Marcos Fajardo of Solid Angle, takes longer to do the final rendering, but is easier on the artists and makes it easier to create the models and lighting effects--a net win.
Sweeney echoed this theme the next day, which surprised me considering Sweeney's focus is real-time rendering for 3D games--notably with Epic's Unreal Engine, which has been used in hundreds of 3D games on all the major platforms. Game rendering uses far less sophisticated techniques because each frame has to be rendered in perhaps one-sixtieth of a second, not the four or five hours on average that can be devoted to a single frame of a motion picture.
It seems that Sweeney is also ... Read more





