Posts Tagged ‘operating systems’

Apple’s new OS geared for multicore future

September 2, 2009 Leave a comment

Apple began shipping Snow Leopard on Friday, but the true importance of the Mac OS X update likely will emerge well afterward.


That’s because Mac OS X 10.6 begins a longer-term Apple attempt to get ahead by cracking a problem facing the entire computer industry: squeezing useful work out of modern processors. Instead of stuffing Snow Leopard with immediately obvious new features, Apple is trying to adjust to the new reality in which processors can do many jobs simultaneously rather than one job fast.

“We’re trying to set a foundation for the future,” said Wiley Hodges, director of Mac OS X marketing.

Apple shed some light on its project, called Grand Central Dispatch, at its Worldwide Developer Conference in June, but most real detail was shared only in with programmers sworn to secrecy. Now the company has begun talking more publicly about it and other deeper projects to take advantage of graphics chips and Intel’s 64-bit processors.

The moves align Apple better with changes in computing. For years, chipmakers such as Intel and Advanced Micro Devices had steadily increased the clock rate of their processors, and programmers got accustomed to a performance boost with each new generation. But earlier this decade, problems derailed the gigahertz train.

First, chips often ended up merely twiddling their thumbs more because slower memory couldn’t keep the chip fed with data. Worse, the chips required extraordinary amounts of power and produced corresponding amounts of hard-to-handle waste heat.

And so began the mainstream multicore era, in which processors got multiple computing engines called cores that work in parallel. That’s great for some tasks that can be easily broken down into independent pieces, but programmers were accustomed to a more linear way of thinking where tasks execute in a series of sequential steps.

Enter Grand Central Dispatch, or GCD. This Snow Leopard component is designed to minimize many of the difficulties of parallel programming. It’s easy to modify existing software to use GCD, Apple said, and the operating system handles complicated administrative chores so programmers don’t have to.

Overall, Illuminata analyst Gordon Haff believes, the computing industry really is only beginning now to tackle parallel programming in earnest. If building mature parallel programming tools is a 10-chapter book, the industry is only at chapter two right now, he said. But with no other alternative, the book will be written.

“It has to happen,” Haff said. “If you look at history of information technology, things that have to happen really do happen.”

Burdensome threads
One way programmers have dealt with the arrival of multicore processors–and with the multiprocessor machines that preceded them–is through a concept called threads. There are various types, but generally speaking, a thread is an independent computing operation. For programmers to take advantage of multicore processor, they assign one thread to each core, and away they go, right?

Not so fast. Threads come with baggage. Each requires memory and time to start. Programs should be broken up into different numbers of threads depending on how many cores a processor offers. Programmers have to worry about “locking” issues, providing a mechanism to ensure one thread doesn’t change data another thread is already using. And one threaded program might step on the toes of another running at the same time.

Some tools to ease the difficulties, such as Intel Threading Building Blocks, are available, but threads remain complicated.

“We looked at this and said it needs a fundamental rethink. We want to making developing applications for multicore easier,” Hodges said. “We’re moving responsibility for the management code into the operating system so application developers don’t have to write and maintain it.”

Blocking and tackling
The core mechanisms within GCD are blocks and queues. Programmers mark code chunks to convert them into blocks, then tells the application how to create the queue that governs how those blocks are actually run. Block execution can be tied to specific events–the arrival of network information, a change to a file, a mouse click.

Apple hopes programmers will like blocks’ advantages: Older code can easily be retrofitted with blocks so programmers can try it without major re-engineering; they’re lightweight and don’t take up resources when they’re not running; and they’re flexible enough to encapsulate large or small parts of code.

“There’s a lot of overhead around threading that means you want to break your program into as few pieces as possible. With Grand Central Dispatch, we say break your program into as many tiny pieces as you can conceive of,” Hodges said.

Another difference with the Grand Central Dispatch approach is its centralization. The operating system worries about managing all applications’ blocks rather than each application providing its own oversight. That central view means the operating system decides which tasks get which resources, Apple said, and that the system overall can become more responsive even when it’s busy.

Other foundations
There’s a second mechanism in Snow Leopard that gives a new way for programmers tap into hardware power: OpenCL, or Open Computing Language. It lets computers use graphics chips not just to accelerate graphics but also some ordinary computations.

To use OpenCL, programmers write modules of code in a variation of the C programming language called OpenCL C. Snow Leopard translates that code on the fly into instructions the graphics chip can understand and transfers necessary data into the graphics system memory. Many tasks won’t benefit, but OpenCL is good for videogame physics simulation or artificial intelligence algorithms, technical computing chores, and multimedia operations.

The three major makers of graphics chips–Intel, Nvidia, and AMD’s ATI–have endorsed OpenCL, and the Khronos Group has made it a standard. That means programmers are likely to be able to reuse their OpenCL code with Windows applications, too.

Graphics processors employ parallel engines that suit them for running the same processing chore on many data elements. For computers without a graphics chip, though, OpenCL also can employ that parallel execution strategy on ordinary multicore processors.

The 64-bit transition
Apple began its 64-bit transition years ago with the PowerPC processors it used before switching to Intel chips. With Snow Leopard, nearly the full suite of its software–Mail, Safari, Finder, iChat, QuickTime–become 64-bit programs.

ntel chips these days are 64-bit, but what does that get you over 32-bit chips? Briefly, it can let heavy-duty programs use more than 4GB of memory, improve performance by offering more chip memory slots called registers, and speed up some mathematical operations.

Moving to a 64-bit design doesn’t guarantee instant speedup, though. In one developer document, Apple states: “Myth: My application will run much faster if it is a ‘native’ 64-bit application. Fact: Some 64-bit executables may run more slowly on 64-bit Intel and PowerPC architectures.” One issue: the doubled length of references to memory addresses.

Apple encourages programmers to test their software to see if the 64-bit incarnation is faster. All Apple’s own applications that moved to 64-bit versions are faster, the company said.

The 32-bit kernel
However, the core component of Mac OS X, the kernel, is still 32-bit software by default on consumer machines such as MacBooks and iMacs. Apple has written it so that applications can handle more than 4GB of memory, though, and the kernel can manage it all.

In its developer document on 64-bit performance, Apple states: “Myth: The kernel needs to be 64-bit in order to be fully optimized for 64-bit processors. Fact: The kernel does not generally need to directly address more than 4 GB of RAM at once.”

Apple’s 32-bit kernel hits limits with very large amounts of memory, though. “Thus, beginning in Snow Leopard, the kernel is moving to a 64-bit executable on hardware that supports such large memory configurations,” its Xserve server line and Mac Pro workstations, the company said.

The tricky aspect of moving from a 32-bit kernel to 64-bit kernel is that drivers–software that let the operating system communicate with devices such as printers, video cards, and hard drives–must also be 64-bit. That’s not so bad when it’s a hardware device under Apple’s control, but it’s harder to move the full collection of third-party devices with their own drivers.

Apple argues it’s not hard to make the jump, though. “As a driver developer, you must update your drivers with 64-bit binaries. Fortunately…many drivers ‘just work’ after changing the compile settings,” the company said in a reference document.

This all may sound very low-level, but for programmers, Apple actually is working at a higher level than most. That could be an asset since many attempts to embrace parallel programming imposed more demands than most programmers were willing or able to handle.

And attracting programmers is key. Ultimately, Apple’s deeper technology moves such as Grand Central Dispatch and OpenCL will be a success only if the company can get other developers to use them.


20 High Quality Free WordPress 2.7 Themes

June 1, 2009 2 comments

01 – Elegant Grunge Theme

Elegant Grunge is an unwashed yet crisp WordPress 2.7 theme inspired by

Elegant Grunge Theme

02 – FREEmium Theme

Highly customizable WordPress theme designed by Paul Kadysz and developed by Dariusz Siedlecki.

FREEmium Theme

03 – Irresistible Theme

Irresistible is a visually-rich personal blog WordPress 2.7 theme, with a little bit of a multimedia focus.

Irresistible Theme

04 – Typogriph Theme

Typogriph is a two-columns theme, with a liquid layout and support for all the features introduced with WordPress 2.7.

Typogriph Theme

05 – The Unstandard Theme

The Unstandard is a split two/three column WordPress 2.7 theme where the home and archive index pages utilize photos rather than text.

The Unstandard Theme

06 – Milano Theme

This is an elegant WordPress theme with unique color combination.

Milano Theme

07 – Simple Balance Theme

Beautiful theme with built-in support for threaded comments.

Simple Balance Theme

08 – Gallery Theme

Designed by Christopher Wallace, Gallery is a beautiful, free, gallery-style theme for WordPress.

Gallery Theme

09 – Simple Paper Theme

Simple Paper comes with a unique design (left-aligned), fixed menu, stylized comments, paginated posts and easily editable CSS.

Simple Paper Theme

10 – Typebased Theme

Typebased is a free, personal WordPress theme, with a very clean and elegant style.

Typebased Theme

11 – Grid Focus Theme

Grid Focus is a three column widget enabled WordPress 2.7+ compatible WordPress theme. The latest update is completely optimized and stripped of any unnecessary code allowing for complete customizability.

Grid Focus Theme

12 – Old School Theme

It is a stylish blue design. This theme represents the future for the Hybrid framework. You must have Hybrid installed to use this theme.

Old School Theme

13 – Undedicated Theme

Undedicated is a free, minimal WordPress theme developed for those who love simplicity.

Undedicated Theme

14 – Equilibrium Theme

Equilibrium WordPress theme is aimed at those who want a clean and simple magazine styled blog.

Equilibrium Theme

15 – WP DashboardLike Theme [ view demo ]

WordPress theme inspired by WordPress 2.7 Dashboard.

WP DashboardLike Theme

16 – Linquist Theme

Linquist is a simple, portfolio oriented theme, without the usual blogging garbage.

Linquist Theme

17 – Magazeen Theme

This beautiful 2-col-theme was designed with the main focus being on typography, grids and magazine-look.

Magazeen Theme

18 – LightWord Theme

Simply clever theme with two columns, right-sidebar, fixed-width and widget-ready. Compatible with WordPress 2.7

LightWord Theme

19 – Hybrid News Theme

This theme is meant to be a theme purely for news site. It has extra widget sections, double navigation menus, drop-down menus, a featured slider, and pretty much anything you’d need to run a complete news site.

Hybrid News Theme

20 – Portfolio WPESP Theme

Portfolio – WPESP Theme is a “minimalist” Theme based on the idea of portfolio created by DAILYWP. The Theme is a starting point in the creation of portfolios, using WordPress as CMS.

Portfolio WPESP Theme

10 reasons Vista haters will love Windows 7

May 25, 2009 1 comment

Many of my friends and readers adamantly refused to make the switch to Windows Vista when it came out. Some who bought new machines with Vista installed immediately “downgraded” the OS. A few proclaimed that they would give up XP only when you pried it from their cold, dead hands. But even in the last category, many of them are impressed with what they’ve seen in the Windows 7 beta.

While some tech pundits are saying 7 isn’t really all that different from Vista — and indeed, one of the attractions for Vista users is that 7 can generally use the same drivers and run the same apps as Vista — the consensus among anti-Vista folks I know who’ve tried the 7 beta seems to be that the new operating system is “Vista done right.”

1: UAC has mellowed out

User Account Control in Vista is like living with an overprotective mother — when you’re 30. It’s constantly popping up to warn you of impending danger, even when you’re just trying to take a look at Device Manager or perform some other innocent task. It hovers over you and nags you constantly: “Are you sure you want to do that?” Like Mom, UAC has our best interests in mind, but it can drive you nuts in the name of “security” — especially when you consider that it doesn’t really define a security boundary.

2: Explorer is no longer a pane in the behind

In a misguided attempt to alleviate the need for horizontal scrolling, Vista made the left navigation pane in Windows Explorer a constantly moving target. As you move your mouse, it will automatically scroll back and forth. My husband calls this auto-scrolling feature the “whack a mole” phenomenon because of the way the contents of the pane seem to dodge back and forth.

You can avoid the auto-scrolling by dragging the pane to make it wide enough to accommodate the entire tree, but that isn’t a good option on a small screen, such as the one on my compact VAIO notebook.

In Windows 7, the navigation pane stays still, so you no longer risk getting seasick from all the swaying back and forth.

3: Graphics cards coexist peacefully once more

In XP, we could use pretty much whatever graphics cards we wanted for multiple monitors. I had a machine with three cards installed: an NVidia, an ATI, and a Matrox. XP would stretch my desktop across all three monitors attached to those cards. When I upgraded that machine to Vista, I found that I no longer had multiple monitors. Some research revealed that to use multiple graphics cards, they would have to all use the same driver. That meant I couldn’t use cards from different vendors together. I had to shell out a few bucks to get more ATI cards before I could use all my monitors again.

According to reports, Windows 7 has added support for multiple heterogeneous graphics cards from different vendors. Now this probably doesn’t mean you can combine ATI and NVIDIA cards in an SLI-configuration, but it sounds as if we can have our multi-vendor multi-monitor setups back.

4: Clutter and bloat are reduced

Vista was perhaps the culmination of Microsoft’s efforts to be all things to all users. Along with the built-in applications we got with XP, Vista added a contacts program, a calendaring program, a photo editing program, and so forth. While some users appreciate all these free applications, many others have been annoyed by the “extras” they don’t need or use. If you’re planning to install Office with Outlook, there’s no need for Contacts and Calendar. And if you have your own favorite and more powerful graphics applications, such as PhotoShop, there’s no need for Photo Gallery. The extras just clutter up your Programs menu and take up space on the hard disk.

With Windows 7, Microsoft has removed a number of the extra programs and now offers them as free downloads from the Windows Live Web site. This way, those who want them can have them, and those who don’t won’t have to deal with removing them.

5: Boot performance is better

Another common complaint about Vista has been the inordinate amount of time it can take to boot up. This might not be an issue for those who leave their systems on all the time, but if you turn off your computer every night, waiting around forever for it to get started in the morning can turn into a major annoyance.

A Microsoft spokesperson indicated that the company’s goal for Windows 7 is a 15-second boot time, whereas three quarters of Vista users report boot times of more than 30 seconds. Although the beta of Win7 may not have achieved that 15-second mark yet for most users, the majority of beta testers I’m hearing from say it’s substantially quicker than Vista on the same hardware. That’s been my personal experience, as well. Since it is still a beta, it’s not unrealistic to hope that continued tweaking will get that time down further before the final release.

6: Notifications can be fine-tuned

In XP and Vista, you can disable the balloon notifications in the system tray, but what if you’d like to continue to get notifications from some applications but not from others? Windows 7 allows you to customize the behavior by simply clicking the little arrow next to the tray and selecting Customize. In the dialog box, choose which icons you want to appear in the tray.For each application, you can select whether you want to display notifications or hide them, as shown in Figure A.

Figure A

Windows 7 gives you much more control over those notifications in the system tray.

7: Security messages are consolidated

In Vista, you have several security-related icons in the system tray, and you might have notifications popping up from each one. To make changes to security settings, you may have to open several applications. In Windows 7, all the security messages have been consolidated into one icon. When you click it, you’ll see all messages related to firewall, Windows Defender, Windows Update settings, and so forth, as shown in Figure B.

Figure B

Windows 7 consolidates all security-related messages in one system tray icon.

By clicking the Open Action Center link in the message box, you can make the changes that are recommended or (for example, in the case where you have an antivirus program installed but Windows doesn’t recognize it), you can select the option to turn off messages regarding that application, as shown in Figure C.

Figure C

8: Side-by-side windows auto-size

Most of the monitors sold today come in a wide aspect ratio that’s better for watching movies, which is also handy for displaying two documents side by side on the screen. With Vista, though, you have to manually size those docs. Windows 7 has a cool new feature by which you can drag windows to each side of the screen and they will automatically size themselves to each take up half the screen when you let go of the cursor.

Even better, if you drag the window back away from the edge, it goes back to the size it was before. How cool is that?

9: Home networking gets simple

For home users without a lot technical know-how, networking has been made simpler in Windows 7. A new feature called HomeGroup allows all Windows 7 computers on a network to share files, printers, and other resources more easily. Thanks to Libraries (collections of certain types of files, such as music, photos, or documents), you can access files anywhere on the HomeGroup network as if they were stored locally, and you can search across the whole HomeGroup.

Windows Media Player in Windows 7 can stream the music and videos on one PC in the network to another, and even play back songs from iTunes libraries on other computers.

Connecting to a wireless network is also easier; now you can click the wi-fi icon in the system tray and select a network from the list, instead of opening up a separate dialog box to make the connection.

10: Taskbar preview really works

In Vista, you can hover over a taskbar button — for Internet Explorer, for example — and see that three instances of IE are open. You see the open pages stacked as shown in Figure D, but they’re so small that it’s difficult to really tell which page is which.

Figure D

The Vista taskbar preview gives you an idea of what your running application windows contain.

In Windows 7, the preview feature has been enhanced so that it becomes an extremely useful function. Now when you hover over a taskbar icon, you get actual previews that are placed side by side and are large enough for you to identify (Figure E).

Figure E

In Windows 7, you can actually tell what’s in each of those preview windows.

And that’s not all. If you’re playing a video in one of the windows, that video plays in the preview window, too. And if you right-click the IE icon in the taskbar, you get a list of your IE history files, as shown in Figure F. You can just click any of those and go immediately to that page.

Figure F

Right-clicking the taskbar icon gives you more options; in the case of IE, you can select from the history files, open a new instance of the browser, unpin the program, or close the window.