Thursday, July 26, 2007

Intel's Threading Building Blocks Goes Open Source

By Jack M. Germain
LinuxInsider

Intel's Threading Building Blocks lets programmers thread like an expert without being one, explained James Reinders, software evangelist and director of marketing for Intel's Software Development Products. The product requires fewer lines of code to achieve parallelism than other threading models. Applications written with threading are portable across platforms.


Intel (Nasdaq: INTC) announced Tuesday the release of Threading Building Blocks 2.0 as both an open source and commercial product. The company also launched a Web site that establishes an open source project around this product.

Threading Building Blocks (TBB) is a C++ runtime library that abstracts the low-level threading details necessary for optimal multi-core performance. It uses common C++ templates and coding style to eliminate tedious threading implementation work, thus simplifying threading for performance and scalability, the company said. It requires less code for threading and delivers multi-core performance.

"We found people very hungry to program in C++, but multi-threading common tasks is not available in all platforms. Now it can be used by everyone," James Reinders, software evangelist and director of marketing for Intel's Software Development Products, told LinuxInsider. "I'm not aware of any threading product available as open source until now."

Builds on Parallelism

Intel's Threading Building Blocks lets programmers thread like an expert without being one, Reinders said. The product requires fewer lines of code to achieve parallelism than other threading models.

Another benefit of this technology is that applications written with threading are portable across platforms. Since the runtime library is also inherently scalable, no code maintenance is required as more processor cores become available, he explained.

Threading Building Blocks abstracts parallelism away from an assembly language sort of world (raw threading) into a high-level representation world of tasks, he added.

Key Benefits

Intel's TBB 2.0 extends the technology to more operating systems. Now included are Linux, Mac OS X Power Mac (32/64 bits) G5, Windows, IA32, IA64, Intel 64 processors, Solaris 10 (32/64 bits) and FreeBSD 6.2

TBB 2.0 also extends C++ like STL (standard template library), but it does this with concurrency in mind.

The programming product consists of building blocks for threading. This allows programmers to use some or all of its components rather than forcing them into an all-or-nothing approach.

TBB 2.0 coexists with raw threads such as Windows and POSIX (Portable Operating System Interface) and OpenMP.

Pushing Adoption

Intel decided to release TBB 2.0 as open source to make it broadly adopted, according to Reinders. Intel will continue to offer a packaged commercial version and support for a fee.

The commercial (US$299) version builds from the same source with no difference in functionality, he said.

"Our customers need to know that it can be available on any platform they desire and that it will always be available. Open source is a natural at making this happen," he said.

Open Source

The source code and open source project community are located at a dedicated Web site. Intel will maintain this as a full open source Web site with downloads, forums, mail list, submissions and bug list.

Intel offers the commercial version of TBB at a commercial site.

The runtime exception can also be found online. It is the one FSF/GNU uses for libstdc++ (C++ standard library), said Reinders.

Intel's open source project is committed to compiler independence, processor independence and operating system independence, the company said. Future Plans "Intel is investing in this project and is adding engineers to it. We put a lot of energy into making this competitive. Intel hopes to keep more programmers comfortable using parallel programs," said Reinders.

Future Plans

Intel is supporting C++ because it is a hotbed for concurrent application development, according to Reinders. It supplies the underpinnings for the majority of programming, either directly or indirectly.

Meanwhile, .NET and Java live largely in a concurrent environment where multiple concurrent processes are providing a great deal of parallelism today. So Intel plans to evaluate interest and proposals for .NET and Java versions of the Threading Building Blocks, Reinders allowed.

However, C++ remains Intel's priority, and the company will work to make sure it gets done with higher priority than moving to other languages, he said

Linux Foundation Borrows Novell's Markus Rex for CTO Position

By Chris Maxcer
LinuxInsider
The Linux Foundation's Jim Zemlin first approached Markus Rex and Novell with the idea of "borrowing Rex" to be the Foundation's CTO for a year and a half. "We're strong believers in the importance of standardization for the success of Linux moving forward. At the same time, we didn't want to lose an executive with the Linux know-how of Markus," Novell's Bruce Lowry said.

In the search for a new chief technology officer, The Linux Foundation (LF) has nabbed Markus Rex, a long-time Linux executive from Suse Linux and, more recently, Novell (Nasdaq: NOVL)

While Rex will be working for the Linux Foundation, technically he's only on loan to the non-profit organization that's dedicated to accelerating the growth of Linux. He will return to Novell at the end of 2008. Rex has been an advocate of Linux standardization throughout his career, and he brings strong technical leadership to the CTO position.

"We drew up a job description and quickly realized just how small a pool there was of ideal candidates," Jim Zemlin, executive director of the Linux Foundation, told LinuxInsider. "Markus is one of a handful of people in the world qualified for this job."

The CTO Task List

As The Linux Foundation's CTO, Rex will help drive new standardization and technical initiatives around Linux and promote Linux adoption more broadly. More specifically, he'll lead all technical efforts, including the Linux Standard Base (LSB) and the Open Printing workgroup. He will also be the primary technical interface to LF members and the LF's Technical Advisory Board who represent the kernel community.

The Linux Foundation has worked closely with Rex over the last three years, Zemlin noted. Rex was a board member of the Free Standards Group and The Linux Foundation and was already very closely involved with the Linux Standard Base (LSB).

The previous LF CTO, Ian Murdock, who was one of the founders of Debian Linux, left LF to join Sun Microsystems (Nasdaq: SUNW) in March.

Rex comes to The Linux Foundation with a strong history of Linux product management and strategy. Most recently, he's been in vice president roles at Novell, working in services strategy and managing Suse Linux efforts. Prior to Novell's 2004 acquisition of Suse Linux, Rex served as Suse Linux's head of development as well as vice president of research and development, and he oversaw Suse's growth from 15 engineers in 1999 to more than 200 in 2004.

The Fine Print

So what's the deal with the so-called "loan?"

Zemlin first approached Rex and Novell with this idea. Rex, he said, was clearly a good fit for the LF CTO job, though this wasn't a snap decision for Novell.

"We're strong believers in the importance of standardization for the success of Linux moving forward. At the same time, we didn't want to lose an executive with the Linux know-how of Markus," Bruce Lowry, Novell's director of global public relations, told LinuxInsider.

"So after discussions within the Novell senior executive staff, including CEO Ron Hovsepian, we reached the decision that 'loaning' Markus to the LF was a great approach," he added.

As as part of the deal, The Linux Foundation gets an "extremely well-qualified senior executive, without having to pay his salary -- an important consideration for a non-profit like the LF -- and Markus will continue to work on issues of importance to Novell," Lowry noted.

In addition, Novell hopes that other commercial organizations will be willing to offer up their talent to The Linux Foundation in the future.

"We felt it was a win on multiple levels," Lowry said.

Monday, July 23, 2007

Puppy Linux 2.17

Puppy Linux is a small liveCD Linux Distribution. It usually comes in an approximate 50 to 100 MB download, yet contains a full suite of applications for common computer tasks. Version 2.17 was released a few days ago. I've looked at Puppy a few times in the past, but I never fully appreciated it until this release.

I always found Puppy Linux fairly complete with good performance, but was not very impressed with its appearance. It may not have improved much in the look and feel department, but in terms of performance it has few rivals.

I had a bit of trouble with the first two boots of Puppy. When booting one is given a choice of using Xorg or Xvesa for the X server. My first instinct was to use Xorg, but that didn't work so well on my Hewlett-Packard laptop with NVIDIA graphics that I was using. The boot process would just stop at that step. The second attempt I tried using "cheat codes" that sometimes help (with Ubuntu derivatives, for example) to no avail. The third boot I chose Xvesa with 1024x768 resolution and was taken to my desktop. Xvesa is a choice offered for those wishing a light implementation, and perhaps contributed to the impressive performance I experienced with Puppy. My sound worked out of the box.

Two download versions were available this time. One using LZMA compression and the other using GZIP. GZIP is supposed to be faster, but I had already chosen the LZMA by the time I learned of this. No matter, the performance of Puppy has to be one of its main features. The Puppy developers tend to include smaller and high performing applications, but even the Seamonkey web browser opened in approximately two seconds and page rendering was instantaneous. There was no menu lag or screen corruption when moving or resizing windows. Even the manual configuration steps and connecting my winnic was immediate. Rarely have I experienced such performance when using a liveCD.

Puppy comes with quite a bit of software. Some are mainstream applications while others are lesser known small lightweight equivalents. Many of their configuration tools appear to be homebrewed front-ends. Some include Gnumeric, InkscapeLite, Gaim, Abiword, Transmission, and gxine. Some of the small lesser knowns include Soxgui, Xwget, and Agenda. Puppy also ships with all kinds of rippers and dialers. Some homemade apps include PupCtorrent, Puppy Package Manager, and Pbackup. They even managed to include some games like Bubbles, Rubic Cube, and Tkmines. It appears they have a setup wizard for about every piece of common hardware known. It even includes a remaster tool. All this sits on top of Linux-2.6.21.5. Added all up, it's quite impressive for an 83 MB download.


However, the appearance of Puppy is still a bit unattractive. It uses JWM and while it works fairly well with impressive response times, it's not overly pretty. A Welcome message of helpful tips now stands in place of the seagull wallpaper used so many times. Fortunately, Puppy does come with an easy tool to set the background. Unfortunately, there's not much to choose from, the seagull and a skyscape is about it.

When shutting down one is given the option of saving their personal settings. On a multisession cdrom or dvd it merely adds a folder to the first session. Alternatively, you can save it to partition. But when I rebooted my saved session, not only was the screen resolution not as I saved, but the internet connection configuration was lost. That was what I was really hoping would be saved. The resolution and wallpaper was correctly loaded from the second saved session, but I'm left to do the winnic dance each boot.

I can certainly see why Puppy has such a loyal and vocal following of users and third party developers. Once upon a time Damn Small Linux was my tiny distro of choice. But given that DSL seems to be lacking support for my newer hardware, Puppy might have taken its place. With its amazing array of applications and astounding performance Puppy has little competition left. All in all, I was very impressed.

From :Distrowatch.com